OpenAI Agents SDK: Python-фреймворк для создания совместных многоинтеллектуальных рабочих процессов

Общее введение

OpenAI Agents SDK - это легкий инструмент разработки от OpenAI, предназначенный для построения многоинтеллектуальных рабочих процессов. Основанный на Python, он прост в освоении и позволяет разработчикам автоматизировать сложные задачи, настраивая агентов, передачи, защитные перила и трассировку. Например, с его помощью можно создать помощника, который пишет код, или интеллектуальную систему, которая обрабатывает многоязычные взаимодействия. Изюминкой является его совместимость и гибкость со всеми поставщиками моделей, которые поддерживают формат OpenAI Chat Completions API. Разработчикам любого уровня официально предоставлена подробная документация и примеры кода для быстрого начала работы.

OpenAI Agents SDK:搭建多智能体协作工作流的Python框架

 

Список функций

  • Интеллектуальная индивидуализация тела: Набор команд, инструментов и ограничений для языковых моделей для создания эксклюзивных интеллектуальных помощников.
  • Переключение задач: Поддерживает плавное переключение задач между интеллектами, например, переход от английского помощника к испанскому.
  • сертификация безопасности: Встроенные проверки входа и выхода обеспечивают безопасные и надежные результаты.
  • Оперативное слежение: Автоматическая запись процесса работы умного тела для облегчения отладки и оптимизации.
  • Расширение инструмента: Позволяет добавлять пользовательские инструменты, например, для проверки погоды или работы над определенными задачами.
  • совместимость моделей: Поддерживается множество поставщиков моделей, если они соответствуют формату OpenAI API.

 

Использование помощи

Процесс установки

Чтобы использовать OpenAI Agents SDK, вам сначала нужно создать среду Python. Вот шаги:

  1. Создание виртуальной среды
    Чтобы избежать конфликтов с другими проектами, создайте отдельную среду Python, набрав в терминале следующую команду:
python -m venv env

Затем активируйте окружение:

  • Окна:env\Scripts\activate
  • Системы Mac/Linux:source env/bin/activate
  1. Установка SDK
    После активации среды выполните следующую команду для установки SDK:
pip install openai-agents
  1. Настройка ключей API
    Перед запуском кода необходимо задать ключ API OpenAI. Введите его в терминале:
export OPENAI_API_KEY='你的密钥'

Или загрузите его в код через переменную окружения. Позаботьтесь о защите ключа.

После того как вы выполнили все описанные выше действия, вы можете приступать к работе с инструментом.

Как использовать

В основе OpenAI Agents SDK лежат Agent ответить пением Runner Класс.Agent используется для определения поведения интеллектов.Runner Отвечает за выполнение и возврат результатов. Ниже приводится подробное описание работы основных функций.

1. Создание базового интеллектуального помощника

Хотите быстро начать? Попробуйте этот простой пример того, как разумное тело пишет хайку о программировании:

from agents import Agent, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)

процедура::

  • Создайте разведку, задайте имя и инструкции.
  • расход или издержки Runner.run_sync Синхронизируйте выполнение и введите требования к заданию.
  • Запустив его, вы получите что-то вроде: "Код в коде, функция вызывает сама себя, танец бесконечного цикла".

2. включение переключения задач

Переключение задач - это функция SDK, которая позволяет сотрудничать нескольким интеллектам. Например, обработка многоязычных запросов:

from agents import Agent, Runner
import asyncio
spanish_agent = Agent(name="Spanish agent", instructions="You only speak Spanish.")
english_agent = Agent(name="English agent", instructions="You only speak English.")
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on the language of the request.",
handoffs=[spanish_agent, english_agent],
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())

процедура::

  • Определите несколько видов интеллекта, для каждого из которых существуют конкретные инструкции.
  • Создание первичного интеллекта (triage_agent), и указать переключаемые интеллекты.
  • расход или издержки Runner.run Асинхронный режим работы и ввод испанских проблем.
  • Главное интеллектуальное тело будет переключаться в зависимости от языка spanish_agentВ ответ вы услышите что-то вроде: "¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?".

3. Добавление пользовательских инструментов

Вы можете использовать function_tool Определите инструменты, позволяющие интеллекту вызывать внешние функции. Например, проверка погоды:

from agents import Agent, Runner, function_tool
@function_tool
def get_weather(city: str) -> str:
return f"The weather in {city} is sunny."
agent = Agent(
name="Weather agent",
instructions="You are a helpful agent.",
tools=[get_weather],
)
async def main():
result = await Runner.run(agent, input="What's the weather in Tokyo?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())

процедура::

  • Определите функцию с @function_tool Украшение.
  • Добавление инструментов к интеллектуальному телу tools Параметры.
  • После запуска Intelligent Society вызывает инструмент и получает ответ: "Погода в Токио солнечная".

4. Использование бегового трекинга

В SDK встроена функция отслеживания, которая записывает детали действий умного тела при каждом запуске. Вы можете узнать больше о работе умного тела, воспользовавшись функцией result Объекты для просмотра запущенных процессов или интеграции с внешними инструментами (например, Logfire) для анализа. Работает по умолчанию без дополнительных настроек.

5. настройка аутентификации безопасности

Проверка безопасности (Guardrails) может проверять входы и выходы. Например, запретить пользователю поручить интеллектуальному телу выполнять домашнее задание по математике:

from agents import Agent, Runner, input_guardrail
from pydantic import BaseModel
class MathCheck(BaseModel):
is_math_homework: bool
reasoning: str
guardrail_agent = Agent(
name="Guardrail check",
instructions="Check if the user is asking you to do their math homework.",
output_type=MathCheck,
)
@input_guardrail
async def math_guardrail(ctx, agent, input):
result = await Runner.run(guardrail_agent, input)
return GuardrailFunctionOutput(
output_info=result.final_output,
tripwire_triggered=result.final_output.is_math_homework,
)
agent = Agent(
name="Support agent",
instructions="Help customers with their questions.",
input_guardrails=[math_guardrail],
)
async def main():
try:
await Runner.run(agent, "Can you solve 2x + 3 = 11?")
except Exception as e:
print("Guardrail stopped the request")

процедура::

  • Определите интеллектуальную защиту, которая проверяет входные данные.
  • расход или издержки @input_guardrail Создайте функции охраны.
  • Добавьте охранников в основной интеллект. Выполнение прерывается, если на вход поступает математическая информация.

Детали процесса эксплуатации

  • интеллектуальная циркуляция: Звонок Runner.run() После этого SDK выполнит следующие действия:
    1. Вызовите языковую модель для создания ответа.
    2. Проверьте наличие вызовов инструментов или переключения задач.
    3. Выполните вызов инструмента и запишите результаты в журнал.
    4. Если есть переключатель задач, перейдите к новому интеллектуальному телу.
    5. Цикл выполняется до тех пор, пока не будет сгенерирован окончательный результат, или до тех пор, пока max_turns Кап.
  • Тип выхода: Если вы установите output_typeто интеллект сгенерирует структурированный вывод указанного типа; в противном случае окончательным выводом будет ответ на первый вызов или переключение без инструментов.

Рекомендации по использованию

  • регулировка компонентов во время тестированияПросматривайте каждый шаг в деталях с помощью функции отслеживания, чтобы быстро выявить проблемы.
  • оптимизация: Устанавливается в соответствии с потребностями миссии max_turnsНе допускайте слишком интенсивной езды на велосипеде.
  • удлинители: Ссылка на официальный examples папку, чтобы изучить другие варианты использования.

Официальная документация: https://openai.github.io/openai-agents-python/

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...