July 15, 2025

自分のAIはどれだけ優秀?Vertex Gen AI Eval SDKで簡単に品質評価する方法(Python対応)

自分のAIはどれだけ優秀?Vertex Gen AI Eval SDKで簡単に品質評価する方法(Python対応)

この内容は、Google Cloud の Vertex AI Gen AI Eval SDK に関するチュートリアル(使い方ガイド)で、生成AI(Generative AI)の出力をさまざまな基準で評価する方法を説明しています。


✅ 要約(意味)

🎯 目的

生成AIのモデルやプロンプト、エージェントの出力を評価するためのSDK(開発者向けツール)
このSDKを使うことで、次のようなことができます:


📌 主な機能

機能内容
モデルやプロンプトの評価単体でも複数でも評価できる(比較も可能)
既存の指標で評価例:TEXT_QUALITY(文章品質)、SAFETY(安全性)、INSTRUCTION_FOLLOWING(指示の理解度)など
カスタム評価指標を定義例:5歳児でも読めるか?といった独自基準を自作可能
大規模データのバッチ評価非同期で大量のデータを効率的に処理
OpenAIなどの外部モデルも評価GPT-4などの出力にも対応
結果の可視化.show()でHTML形式で表示できる

🧪 「実験的機能」について(冒頭の注意書き)

  • **まだ試験段階(Experimental)**なので、本番運用(production)には推奨されない
  • SLA(稼働保証)やサポートの対象外
  • 仕様変更の可能性あり(後方互換性なし)

📘 使用方法の流れ(2ステップ)

① run_inference()

→ モデルにプロンプトを渡して出力を生成

② evaluate()

→ 生成された出力に対して、品質・正確性・指示遵守などの観点からスコアを算出


🧪 評価に使えるメトリクス(指標)

種類内容
Prebuilt Metric(標準)TEXT_QUALITY, FLUENCY, SAFETY などが最初から用意されている
LLMベースの独自評価例:「5歳児にわかるか?」など、判断基準・スコア・説明を自由に作成可能
計算ベースの評価BLEUやROUGEなどの機械翻訳向け指標で、出力と正解を数値で比較
カスタム関数による評価Python関数で独自ルールを作って評価(例:特定のキーワードを含むか)

🧳 対応データフォーマット

  • PandasのDataFrame(プロンプトとリファレンス列があると便利)
  • Cloud StorageのJSONLファイル(バッチ予測結果)
  • OpenAI Chat Completion形式(GPTの形式)

🧠 結論としての意味

このSDKは、生成AIを評価するために開発者・研究者が

  • 高精度な評価
  • 他モデルとの比較
  • 大規模なテスト
    コードで効率的に実行できる強力なツールです。

補足

とてもよい質問です。以下のように整理してご説明します:


✅ これは自分で評価するもの?

はい、自分で評価するツールです。

  • Google が提供する SDK(ツール)を使って、あなた自身が生成AIの出力を評価します。
  • 評価するのは:
    • あなたが使っている AIモデルの応答(例:Gemini、GPTなど)
    • あなたが書いた プロンプト に対して、AIがどれだけうまく返答しているか
    • もしくは あなた自身が構築したAIアプリやエージェント

✅ 評価とは「自分のAIを作る」ということ?

必ずしもAIを“自分で開発”する必要はありません。

評価の対象は次のどれでもOKです:

評価する対象の例説明
Googleのモデル(Gemini)プロンプトへの応答が適切かをチェック
OpenAIのGPTモデルVertex SDK経由で評価可能
自分のAIエージェントLangChainや独自構成の対話AIなど
自分のプロンプトどのプロンプトが一番良い応答を引き出すかを比較

つまり、**「モデルを作る」ではなく「使った結果を評価する」**のが中心です。


✅ Pythonでもできるの?

はい、Pythonでできます。

Vertex Gen AI Eval SDK は Pythonライブラリ(Google Cloud SDK) なので、以下のように Python スクリプトで扱います:

pip install --upgrade google-cloud-aiplatform[evaluation]
from vertexai import Client, types
client = Client(project="your-project-id", location="us-central1")

prompts_df = pd.DataFrame({"prompt": ["Explain AI to a 5-year-old."]})
eval_dataset = client.evals.run_inference(model="gemini-2.5-flash", src=prompts_df)
eval_result = client.evals.evaluate(
    dataset=eval_dataset,
    metrics=[types.PrebuiltMetric.TEXT_QUALITY]
)
eval_result.show()

Colab・Jupyter Notebook・Vertex Workbenchなどでもそのまま使えます。


🔍 まとめ

質問回答
自分で評価するもの?✅ はい、AIの出力を自分で評価します
AIを自分で作る必要ある?❌ 必要なし(でも自作AIも評価可能)
Pythonで使える?✅ 公式SDKはPython対応です

以下に、Google Colab 上でそのまま使える「Vertex Gen AI Eval SDK」の評価サンプルノートブック形式のコードをお渡しします。


🧪 Vertex Gen AI Eval SDK 入門ノートブック(Colab対応)

# ⬇️ 1. 必要なライブラリをインストール(初回のみ)
!pip install --upgrade google-cloud-aiplatform[evaluation]

# ⬇️ 2. 必要なライブラリをインポート
import pandas as pd
from vertexai import Client, types

# ⬇️ 3. GCPプロジェクト情報を指定(自分のプロジェクトIDとリージョンに置き換えてください)
client = Client(
    project="your-project-id",     # ←あなたのGCPプロジェクトID
    location="us-central1"         # リージョン(例:東京の場合 asia-northeast1)
)

# ⬇️ 4. 評価用プロンプトを作成(1つだけ例として)
prompts_df = pd.DataFrame({
    "prompt": ["Explain AI to a 5-year-old child."]
})

# ⬇️ 5. モデルにプロンプトを送って応答を取得(run_inference)
eval_dataset = client.evals.run_inference(
    model="gemini-2.5-flash",   # 評価対象のモデル名(他にも gpt-4o なども可)
    src=prompts_df
)

# ⬇️ 6. 応答の品質を評価(TEXT_QUALITY メトリクスを使用)
eval_result = client.evals.evaluate(
    dataset=eval_dataset,
    metrics=[
        types.PrebuiltMetric.TEXT_QUALITY
    ]
)

# ⬇️ 7. 結果を可視化(Colab上でHTML表示されます)
eval_result.show()

🔑 使う前に必要な準備

  1. Google Cloud プロジェクト を持っていること
  2. Vertex AI API を有効にする(Google Cloud Consoleで)
  3. サービスアカウント認証(gcloud auth login など) ができている環境で使うこと
  4. モデルを利用するには 課金アカウント が必要(無料枠での使用も可能な場合あり)

✅ 応用したい人向け(追加可能)

  • types.PrebuiltMetric.INSTRUCTION_FOLLOWING
  • types.Metric(name="rouge_1")
  • 独自カスタム評価メトリクスの作成(例:5歳児でもわかるか評価)

Leave a Comment