LiteLLM は、統合インターフェイスで 100 以上の LLM にアクセスできるオープンソースの LLM ゲートウェイです。
MLflow トレース は、LiteLLM の自動トレース機能を提供します。
mlflow.litellm.autolog
関数を呼び出して LiteLLM の自動トレースを有効にすると、MLflow は LLM 呼び出しのトレースをキャプチャし、アクティブな MLflow 実験にログ記録します。
import mlflow
mlflow.litellm.autolog()
MLflow トレースは、LiteLLM 呼び出しに関する次の情報を自動的にキャプチャします。
- プロンプトと完了応答
- 待ち時間
- モデル名やエンドポイント URL など、LLM プロバイダーに関するメタデータ
- トークンの使用状況とコスト
- キャッシュ ヒット
- 例外が発生した場合
[前提条件]
以下の例を実行する前に、次の内容を確認してください。
構成された Databricks 資格情報: Databricks の外部で実行されている場合は、環境変数を設定します。
export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com" export DATABRICKS_TOKEN="your-personal-access-token"
ヒント
Databricks ノートブック内で実行している場合、これらは自動的に設定されます。
LLM プロバイダー API キー: 使用している LLM プロバイダーの API キーを設定します。
export ANTHROPIC_API_KEY="your-anthropic-api-key" # For Anthropic models export OPENAI_API_KEY="your-openai-api-key" # For OpenAI models # Add other provider keys as needed
基本的な例
import mlflow
import litellm
# Enable auto-tracing for LiteLLM
mlflow.litellm.autolog()
# Set up MLflow tracking on Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/litellm-demo")
# Call Anthropic API via LiteLLM
response = litellm.completion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)
非同期 API
MLflow では、LiteLLM の非同期 API のトレースがサポートされています。
mlflow.litellm.autolog()
response = await litellm.acompletion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)
ストリーミング
MLflow では、LiteLLM の同期および非同期ストリーミング API のトレースがサポートされています。
mlflow.litellm.autolog()
response = litellm.completion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content, end="|")
MLflow は、ストリーム チャンクからの連結された出力をスパン出力として記録します。
自動トレースを無効にする
LiteLLM の自動トレースは、 mlflow.litellm.autolog(disable=True)
または mlflow.autolog(disable=True)
を呼び出すことによってグローバルに無効にすることができます。
次のステップ
- トレースの概念を理解する - MLflow がトレース データをキャプチャして整理する方法について説明します
- アプリをデバッグして観察 する - Trace UI を使用して LiteLLM アプリケーションの動作を分析する
- アプリの品質を評価 する - マルチプロバイダー LLM アプリケーションの品質評価を設定する