LiteLLM🚄トレーシング
LiteLLM は、統合インターフェイスで100以上のLLMにアクセスできるオープンソースのLLMゲートウェイです。
MLflow Tracing は、LiteLLMの自動トレース機能を提供します。 mlflow.litellm.autolog
関数を呼び出すことで、LiteLLM自動トレースを有効にする場合、 MLflow は LLM 呼び出しのトレースをキャプチャし、それらをアクティブ MLflow エクスペリメントに記録します。
Python
import mlflow
mlflow.litellm.autolog()
MLflow トレースは、LiteLLM 呼び出しに関する次の情報を自動的にキャプチャします。
- プロンプトと完了応答
- 待ち時間
- LLM プロバイダーに関するメタデータ (モデル名やエンドポイント URL など)
- トークンの使用法とコスト
- キャッシュヒット
- 例外が発生した場合
前提 条件
以下の例を実行する前に、次のものがあることを確認してください。
-
Databricks 資格情報が構成されている : Databricks の外部で実行している場合は、環境変数を設定します。
Bashexport DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-personal-access-token"
ヒント
Databricks ノートブック内で実行している場合、これらは自動的に設定されます。
-
LLM プロバイダー API キー : 使用している LLM プロバイダーの API キーを設定します。
Bashexport 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
基本的な例
Python
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のトレースをサポートしています。
Python
mlflow.litellm.autolog()
response = await litellm.acompletion(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Hey! how's it going?"}],
)
ストリーミング
MLflow は、 LiteLLMの同期および非同期ストリーミング APIsのトレースをサポートしています。
Python
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 アプリケーションの品質評価を設定します