Aller au contenu principal

Traçage d'OpenAI Swarm

attention

L'intégration d'OpenAI Swarm est obsolète car la bibliothèque est remplacée par le nouveau SDK OpenAI Agents. Veuillez envisager de migrer vers le nouveau SDK pour les dernières fonctionnalités et le support.

Suivi OpenAI via le log automatique

MLflow Tracing offre une capacité de traçage automatique pour OpenAI Swarm, un framework multi-agent développé par OpenAI. En activant le traçage automatique pour OpenAI en appelant la fonction mlflow.openai.autolog, MLflow capturera les traces imbriquées et les enregistrera dans l'Expérimentation MLflow active lors de l'invocation du SDK OpenAI.

Python
import mlflow

mlflow.openai.autolog()
remarque

Sur les clusters de compute Serverless, la journalisation automatique pour les cadres de traçage genAI n'est pas activée automatiquement. Vous devez activer explicitement l'autologging en appelant la fonction mlflow.<library>.autolog() appropriée pour les intégrations spécifiques que vous souhaitez suivre.

En plus du traçage des appels LLM de base pour OpenAI, MLflow capture les étapes intermédiaires que l'agent Swarm exécute et tous les appels d'outils par l'agent.

Prérequis

Pour utiliser MLflow Tracing avec OpenAI Swarm, vous devez installer MLflow, le SDK OpenAI et la bibliothèque openai-swarm.

Pour les environnements de développement, installez le package MLflow complet avec les extras Databricks, openai et openai-swarm:

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

Le package mlflow[databricks] complet inclut toutes les fonctionnalités pour le développement local et l’expérimentation sur Databricks.

remarque

MLflow 3 est fortement recommandé. Notez qu’OpenAI Swarm lui-même a été déprécié au profit du SDK OpenAI Agents.

Avant d'exécuter les exemples, vous devrez configurer votre environnement :

Pour les utilisateurs en dehors des notebooks Databricks : Définissez vos variables d'environnement Databricks :

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

Pour les utilisateurs dans les Notebooks Databricks : ces identifiants sont définis automatiquement pour vous.

Clés API : Assurez-vous que votre clé API OpenAI est configurée. Pour les environnements de production, utilisez AI Gateway ou les secrets Databricks au lieu de valeurs codées en dur pour une gestion sécurisée des clés API.

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

Exemple de base

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."}],
)
attention

Pour les environnements de production, utilisez AI Gateway ou les secrets Databricks au lieu de valeurs codées en dur pour la gestion sécurisée des clés API.

Désactiver le suivi automatique

Le traçage automatique pour OpenAI Swarm peut être désactivé globalement en appelant mlflow.openai.autolog(disable=True) ou mlflow.autolog(disable=True).

Ressources supplémentaires