OpenAI Swarmのトレース
OpenAI Swarmインテグレーションは、ライブラリが新しい OpenAIエージェントSDKに置き換えられたため非推奨となりました。最新の機能とサポートを受けるために、新しい SDK への移行をご検討ください。
MLflow Tracing は、OpenAI が開発したマルチエージェント フレームワークである OpenAI Swarm の自動トレース機能を提供します。mlflow.openai.autolog
関数を呼び出すことでOpenAIの自動トレースを有効にすると、MLflow はネストされたトレースをキャプチャし、OpenAI SDKの呼び出し時にアクティブな MLflowエクスペリメントにログを記録します。
import mlflow
mlflow.openai.autolog()
OpenAI の基本的な LLM コール トレースに加えて、MLflow は Swarm エージェントが操作する中間ステップとエージェントによるすべてのツール呼び出しをキャプチャします。
前提 条件
OpenAI Swarmで MLflow Tracing を使用するには、 MLflow、OpenAI SDK、および openai-swarm
ライブラリをインストールする必要があります。
- Development
- Production
開発環境の場合は、Databricks extras、 openai
、 openai-swarm
を含む完全な MLflow パッケージをインストールします。
pip install --upgrade "mlflow[databricks]>=3.1" openai openai-swarm
フル mlflow[databricks]
パッケージには、Databricks でのローカル開発と実験のためのすべての機能が含まれています。
本番運用デプロイメントの場合は、 mlflow-tracing
、 openai
、 openai-swarm
をインストールします。
pip install --upgrade mlflow-tracing openai openai-swarm
mlflow-tracing
パッケージは、本番運用での使用に最適化されています。
MLflow 3 を強くお勧めします。OpenAI Swarm 自体は非推奨となり、OpenAI Agents SDK が優先されることに注意してください。
例を実行する前に、環境を構成する必要があります。
Databricks ノートブックの外部ユーザーの場合 : Databricks 環境変数を設定します。
export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-personal-access-token"
Databricks ノートブック内のユーザーの場合 : これらの資格情報は自動的に設定されます。
API キー : OpenAI API キーが構成されていることを確認します。本番運用環境では、安全な キー管理のために、ハードコードされた値の代わりにMosaic AI Gateway またはDatabricksシークレットAPI を使用します。
export OPENAI_API_KEY="your-openai-api-key"
基本的な例
import mlflow
from swarm import Swarm, Agent
import os
# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "your-openai-api-key" # Uncomment and set if not globally configured
# Calling the autolog API will enable trace logging by default.
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/openai-swarm-demo")
# Define a simple multi-agent workflow using OpenAI Swarm
client = Swarm()
def transfer_to_agent_b():
return agent_b
agent_a = Agent(
name="Agent A",
instructions="You are a helpful agent.",
functions=[transfer_to_agent_b],
)
agent_b = Agent(
name="Agent B",
instructions="Only speak in Haikus.",
)
response = client.run(
agent=agent_a,
messages=[{"role": "user", "content": "I want to talk to agent B."}],
)
本番運用環境では、安全な キー管理のために、ハードコードされた値の代わりにMosaic AI Gateway またはDatabricksシークレットAPI を使用します。
自動トレースを無効にする
OpenAI Swarm の自動トレースは、 mlflow.openai.autolog(disable=True)
または mlflow.autolog(disable=True)
を呼び出すことで、グローバルに無効にできます。
次のステップ
- トレースの概念を理解する - MLflow がマルチエージェント トレース データをキャプチャして整理する方法を学習します
- アプリのデバッグと監視 - Trace UIを使用して、マルチエージェントアプリケーションの動作を分析します
- アプリの品質を評価する - エージェントベースのアプリケーションの品質評価を設定します