OpenAI Agents: фреймворк для создания многосредовых рабочих процессов
OpenAI Agents — это легковесный фреймворк для создания многосредовых рабочих процессов с использованием LLM. Он позволяет интегрировать различные модели и APIs, включая OpenAI Chat и Responses, а также множество других языков, делая его универсальным инструментом для разработчиков.
Проект подходит для тех, кто разрабатывает сложные системы с несколькими агентами, где требуется взаимодействие и совместная работа. Например, можно строить голосовых агентов или системы, которые требуют долгосрочных вычислений и делегирования задач между агентами. Возможности включают поддержку инструментов, механизмы проверки безопасности и взаимодействие с пользователем в процессе работы.
Разработка ведется на Python, и проект можно установить с помощью pip, но стоит учесть, что он находится на ранних стадиях, и может отсутствовать полнота документации или стабильность в некоторых функциях.
OpenAI Agents SDK — это легковесный, но мощный фреймворк для создания многоагентских рабочих процессов. Он не зависит от конкретного провайдера и поддерживает API OpenAI Responses и Chat Completions, а также более 100 других LLM.
Проект предлагает различные концепции для работы с агентами, такие как:
- Агенты: настраиваемые LLM с инструкциями и инструментами.
- Песочница: агенты, работающие в контейнерах и сохраняющие состояние для длительных задач.
- Агенты в реальном времени: использование WebSocket для низколатентных голосовых взаимодействий.
- Голосовые агенты: объединение распознавания речи и текстов в одну цепочку обработки.
- Инструменты и механизмы безопасности: инструменты для выполнения действий и проверки на безопасность ввода и вывода.
Установка
Для начала работы необходимо настроить окружение Python (требуется Python 3.10 или новее) и установить пакет OpenAI Agents SDK:
python -m venv .venv
source .venv/bin/activate # На Windows: .venv\Scripts\activate
pip install openai-agents
Если требуется поддержка голосовых функций, установи с опцией `voice`: pip install 'openai-agents[voice]'. Для поддержки сессий Redis — с опцией `redis`: pip install 'openai-agents[redis]'.
Запуск агентов
SDK поддерживает несколько способов запуска агентов. Перед запуском установи переменную окружения OPENAI_API_KEY.
Запуск текстового агента
Для рабочих процессов, не требующих постоянного соединения, можно использовать текстового агента:
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)
Запуск агента в песочнице
Для задач, требующих просмотра файлов или выполнения команд, подходит агент в песочнице:
from agents import Runner
from agents.sandbox import SandboxAgent
agent = SandboxAgent(name="Workspace Assistant", instructions="Inspect the sandbox workspace before answering.")
result = Runner.run_sync(agent, "Inspect the repo README and summarize what this project does.")
print(result.final_output)
Запуск агента в реальном времени
Для голосовых взаимодействий можно использовать агента в реальном времени:
import asyncio
from agents.realtime import RealtimeAgent, RealtimeRunner
async def main() -> None:
agent = RealtimeAgent(name="Assistant", instructions="You are a helpful voice assistant.")
runner = RealtimeRunner(starting_agent=agent)
session = await runner.run()
async with session:
await session.send_message("Say hello in one short sentence.")
async for event in session:
...
if __name__ == "__main__":
asyncio.run(main())
Запуск голосового агента
Для работы с аудио и создания голосовых ответов эксперименты можно выполнять с голосовым агентом:
import asyncio
import numpy as np
from agents import Agent
from agents.voice import VoicePipeline
async def main() -> None:
agent = Agent(name="Assistant", instructions="You are a helpful voice assistant.")
pipeline = VoicePipeline(workflow=SingleAgentVoiceWorkflow(agent))
audio_input = AudioInput(buffer=np.zeros(24000 * 3, dtype=np.int16))
result = await pipeline.run(audio_input)
Ограничения
Проект имеет некоторые зависимости для расширенного функционала, включая websockets и SQLAlchemy, а также требует поддержки Docker для работы на Windows в некоторых случаях.
Проект активно развивается, и его возможности могут расширяться. Ознакомься с [примером](https://github.com/openai/openai-agents-python/tree/main/examples), чтобы увидеть SDK в действии, и прочитай [документацию](https://openai.github.io/openai-agents-python/) для получения дополнительных сведений.
Открыть на GitHub: openai/openai-agents-python →
RepoRadar