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

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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

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

Популярные темы на сайте