MLflow Tracing は、Google Gemini の自動トレース機能を提供します。
mlflow.gemini.autolog
関数を呼び出して Gemini の自動トレースを有効にすると、MLflow は入れ子になったトレースをキャプチャし、Gemini Python SDK の呼び出し時にアクティブな MLflow 実験にログ記録します。
import mlflow
mlflow.gemini.autolog()
MLflow トレースは、Gemini 呼び出しに関する次の情報を自動的にキャプチャします。
- プロンプトと完了応答
- 待ち時間
- モデル名
-
temperature
、max_tokens
などの追加のメタデータ (指定されている場合)。 - 応答で返された場合の関数呼び出し
- 例外が発生した場合
注
現在、MLflow Gemini 統合では、テキスト操作の同期呼び出しのトレースのみがサポートされています。 非同期 API はトレースされず、マルチモーダル入力に対して完全な入力が記録されない場合があります。
基本的な例
import mlflow
import google.genai as genai
import os
# Turn on auto tracing for Gemini
mlflow.gemini.autolog()
# Set up MLflow tracking on Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/gemini-demo")
# Configure the SDK with your API key.
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
# Use the generate_content method to generate responses to your prompts.
response = client.models.generate_content(
model="gemini-1.5-flash", contents="The opposite of hot is"
)
複数ターンチャット
MLflow では、Gemini との複数ターンの会話のトレースがサポートされています。
import mlflow
mlflow.gemini.autolog()
chat = client.chats.create(model='gemini-1.5-flash')
response = chat.send_message("In one sentence, explain how a computer works to a young child.")
print(response.text)
response = chat.send_message("Okay, how about a more detailed explanation to a high schooler?")
print(response.text)
埋め込み
MLflow Tracing for Gemini SDK では、埋め込み API がサポートされています。
result = client.models.embed_content(model="text-embedding-004", contents="Hello world")
自動トレースを無効にする
Gemini の自動トレースは、 mlflow.gemini.autolog(disable=True)
または mlflow.autolog(disable=True)
を呼び出すことによってグローバルに無効にすることができます。
次のステップ
- トレースの概念を理解する - MLflow がトレース データをキャプチャして整理する方法について説明します
- アプリをデバッグして観察 する - Trace UI を使用して Gemini アプリケーションの動作を分析する
- アプリの品質を評価 する - Gemini を利用したアプリケーションの品質評価を設定する