Поделиться через


Отслеживание OpenAI Swarm

Предупреждение

Интеграция OpenAI Swarm устарела, так как библиотека заменена новым пакетом SDK для агентов OpenAI. Рассмотрите возможность перехода на новую версию SDK, чтобы воспользоваться последними функциями и поддержкой.

Трассировка OpenAI с помощью автолога

Трассировка MLflow предоставляет возможность автоматической трассировки для OpenAI Swarm, мультиагентного фреймворка, разработанного OpenAI. Включив автоматическую трассировку для OpenAI путем вызова функции mlflow.openai.autolog, MLflow будет записывать вложенные трассировки и регистрировать их в активном эксперименте MLflow при вызове SDK OpenAI.

import mlflow

mlflow.openai.autolog()

Замечание

В бессерверных вычислительных кластерах автоматическая отладка платформ трассировки genAI не включена автоматически. Необходимо явно включить автологирование, вызвав соответствующую mlflow.<library>.autolog() функцию для конкретных интеграции, которые требуется трассировать.

Помимо базовой трассировки вызовов LLM для OpenAI, MLflow фиксирует промежуточные шаги, которые выполняет агент Swarm, и все вызовы инструментов этим агентом.

Предпосылки

Чтобы использовать трассировку MLflow с OpenAI Swarm, необходимо установить MLflow, пакет SDK OpenAI и библиотеку openai-swarm .

Развитие

Для сред разработки инсталлируйте полный пакет MLflow с дополнительными компонентами Databricks, openai, и openai-swarm.

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 устарел в пользу пакета SDK для агентов OpenAI.

Перед выполнением примеров необходимо настроить среду:

Для пользователей вне ноутбуков Databricks: задайте переменные среды Databricks:

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

Для пользователей записных книжек Databricks: эти учетные данные устанавливаются автоматически.

Ключи API. Убедитесь, что ключ API OpenAI настроен. В рабочих средах используйте секреты Шлюза ИИ Мозаики или 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."}],
)

Предупреждение

В рабочих средах используйте секреты Шлюза ИИ Мозаики или Databricks вместо жестко закодированных значений для безопасного управления ключами API.

Отключение автоматической трассировки

Автоматическая трассировка для OpenAI Swarm может быть отключена глобально путем вызова mlflow.openai.autolog(disable=True) или mlflow.autolog(disable=True).

Дальнейшие шаги