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

Список функций
- Интеллектуальная индивидуализация тела: Набор команд, инструментов и ограничений для языковых моделей для создания эксклюзивных интеллектуальных помощников.
- Переключение задач: Поддерживает плавное переключение задач между интеллектами, например, переход от английского помощника к испанскому.
- сертификация безопасности: Встроенные проверки входа и выхода обеспечивают безопасные и надежные результаты.
- Оперативное слежение: Автоматическая запись процесса работы умного тела для облегчения отладки и оптимизации.
- Расширение инструмента: Позволяет добавлять пользовательские инструменты, например, для проверки погоды или работы над определенными задачами.
- совместимость моделей: Поддерживается множество поставщиков моделей, если они соответствуют формату OpenAI API.
Использование помощи
Процесс установки
Чтобы использовать OpenAI Agents SDK, вам сначала нужно создать среду Python. Вот шаги:
- Создание виртуальной среды
Чтобы избежать конфликтов с другими проектами, создайте отдельную среду Python, набрав в терминале следующую команду:
python -m venv env
Затем активируйте окружение:
- Окна:
env\Scripts\activate
- Системы Mac/Linux:
source env/bin/activate
- Установка SDK
После активации среды выполните следующую команду для установки SDK:
pip install openai-agents
- Настройка ключей 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 выполнит следующие действия:- Вызовите языковую модель для создания ответа.
- Проверьте наличие вызовов инструментов или переключения задач.
- Выполните вызов инструмента и запишите результаты в журнал.
- Если есть переключатель задач, перейдите к новому интеллектуальному телу.
- Цикл выполняется до тех пор, пока не будет сгенерирован окончательный результат, или до тех пор, пока
max_turns
Кап.
- Тип выхода: Если вы установите
output_type
то интеллект сгенерирует структурированный вывод указанного типа; в противном случае окончательным выводом будет ответ на первый вызов или переключение без инструментов.
Рекомендации по использованию
- регулировка компонентов во время тестированияПросматривайте каждый шаг в деталях с помощью функции отслеживания, чтобы быстро выявить проблемы.
- оптимизация: Устанавливается в соответствии с потребностями миссии
max_turns
Не допускайте слишком интенсивной езды на велосипеде. - удлинители: Ссылка на официальный
examples
папку, чтобы изучить другие варианты использования.
Официальная документация: https://openai.github.io/openai-agents-python/
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...