メインコンテンツまでスキップ

OpenAI Swarmのトレース

警告

OpenAI Swarmインテグレーションは、ライブラリが新しい OpenAIエージェントSDKに置き換えられたため非推奨となりました。最新の機能とサポートを受けるために、新しい SDK への移行をご検討ください。

オートログによるOpenAIトレース

MLflow Tracing は、OpenAI が開発したマルチエージェント フレームワークである OpenAI Swarm の自動トレース機能を提供します。mlflow.openai.autolog関数を呼び出すことでOpenAIの自動トレースを有効にすると、MLflow はネストされたトレースをキャプチャし、OpenAI SDKの呼び出し時にアクティブな MLflowエクスペリメントにログを記録します。

Python
import mlflow

mlflow.openai.autolog()

OpenAI の基本的な LLM コール トレースに加えて、MLflow は Swarm エージェントが操作する中間ステップとエージェントによるすべてのツール呼び出しをキャプチャします。

前提 条件

OpenAI Swarmで MLflow Tracing を使用するには、 MLflow、OpenAI SDK、および openai-swarm ライブラリをインストールする必要があります。

開発環境の場合は、Databricks extras、 openaiopenai-swarmを含む完全な MLflow パッケージをインストールします。

Bash
pip install --upgrade "mlflow[databricks]>=3.1" openai openai-swarm

フル mlflow[databricks] パッケージには、Databricks でのローカル開発と実験のためのすべての機能が含まれています。

注記

MLflow 3 を強くお勧めします。OpenAI Swarm 自体は非推奨となり、OpenAI Agents SDK が優先されることに注意してください。

例を実行する前に、環境を構成する必要があります。

Databricks ノートブックの外部ユーザーの場合 : Databricks 環境変数を設定します。

Bash
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 を使用します。

Bash
export OPENAI_API_KEY="your-openai-api-key"

基本的な例

Python
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)を呼び出すことで、グローバルに無効にできます。

次のステップ