次の方法で共有


LiteLLM のトレース🚄

自動ログによる LiteLLM トレース

LiteLLM は、統合インターフェイスで 100 以上の LLM にアクセスできるオープンソースの LLM ゲートウェイです。

MLflow トレース は、LiteLLM の自動トレース機能を提供します。 mlflow.litellm.autolog関数を呼び出して LiteLLM の自動トレースを有効にすると、MLflow は LLM 呼び出しのトレースをキャプチャし、アクティブな MLflow 実験にログ記録します。

import mlflow

mlflow.litellm.autolog()

MLflow トレースは、LiteLLM 呼び出しに関する次の情報を自動的にキャプチャします。

  • プロンプトと完了応答
  • 待ち時間
  • モデル名やエンドポイント URL など、LLM プロバイダーに関するメタデータ
  • トークンの使用状況とコスト
  • キャッシュ ヒット
  • 例外が発生した場合

[前提条件]

以下の例を実行する前に、次の内容を確認してください。

  1. 構成された Databricks 資格情報: Databricks の外部で実行されている場合は、環境変数を設定します。

    export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
    export DATABRICKS_TOKEN="your-personal-access-token"
    

    ヒント

    Databricks ノートブック内で実行している場合、これらは自動的に設定されます。

  2. 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)を呼び出すことによってグローバルに無効にすることができます。

次のステップ