
Приложения с голосовым управлением перешли от научно-фантастических концепций к развертываемым решениям с OpenAI's новейшие инструменты. Это руководство проходит через практическую реализацию многоязычные голосовые агенты с использованием OpenAI Агент SDK, демонстрируя, как создавать системы, обрабатывающие речь на разных языках, сохраняя при этом ритмы взаимодействия, свойственные человеческому.
Что открытоAI Агент SDK?
ОткрытоAI Agent SDK предоставляет разработчикам фреймворк для создания AI агенты, которые могут обрабатывать и реагировать на различные входы, включая голос. SDK поддерживает модель GPT-4o-realtime-preview, которая позволяет возможности общения в реальном времени благодаря своему передовому Обработка естественного языка (НЛП) особенности.
SDK в частности включает VoicePipeline, компонент, разработанный для бесшовной обработки голосовых взаимодействий. Этот конвейер управляет сложным процессом преобразования речи в текст, обработки информации и генерации естественно звучащих ответов.
Основная архитектура современных голосовых агентов

1. Конвейер обработки речи
OpenAI's VoicePipeline работает через три синхронизированных этапа: захват звука, обработка языка и генерация ответа. Система начинает с преобразования необработанных аудиосигналов в текст с помощью речи в текст Модели, такие как GPT-4o Transcribe. Затем этот текстовый ввод поступает в языковые модели, которые анализируют контекст, намерение и эмоциональный тон. Наконец, компоненты преобразования текста в речь генерируют естественно звучащие голосовые ответы, поддерживая при этом поток разговора.
2. Мультимодальная и цепочечная архитектура
При разработке голосовых агентов доминируют два различных подхода:
Прямая обработка звука (мультимодальная)
GPT-4o-realtime-preview обрабатывает аудио без преобразования текста, обеспечивая отклики в течение 200-300 мс. Эта архитектура улавливает вокальные нюансы, включая высоту тона и паузы, что позволяет осознающий эмоции ответы во время взаимодействия с клиентами, сохраняя исходную обработку звука на протяжении всего времени.
Обработка, ориентированная на текст (связанная)
Традиционные трубопроводы разделяют запись, анализ и этапы синтеза. Этот модульный подход позволяет вести подробную регистрацию для приложений, чувствительных к соблюдению требований, таких как сортировка в здравоохранении. Разработчики получают точный контроль над каждым этапом, используя оптимизированные для конкретных задач модели.
Многоязычное руководство по голосовому агенту: от кода к разговору
Создание голосовых агентов с помощью OpenAI Agent SDK требует определенных конфигураций среды. Выполните следующие шаги, чтобы создать функциональную среду разработки с голосовыми возможностями.
Шаг 1. Настройка Python и виртуальной среды
Убедитесь, что установлен Python 3.8+. Проверьте с помощью:
python --version
Для новых установок загрузите Python с сайта python.org.
а. Создать виртуальную среду
Изолируйте зависимости, чтобы избежать конфликтов:
p-ython -m venv voice_agent_env
б. Активация:
- Linux/macOS:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
c. Установка зависимостей, специфичных для голоса
Установить OpenAI Agents SDK с голосовыми расширениями и аудиобиблиотеками:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
г. Настроить открытиеAI API ключ: Безопасно храните свой ключ API, используя переменные среды:
- Создайте
.envфайл:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- Клонируйте репозиторий примеров (необязательно):
Чтобы ускорить процесс, вы можете скопировать официальный пример из ОткрытоAI Репозиторий GitHub для Agents SDK.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
Шаг 2. Создание многоязычного агента
К основным компонентам относятся:
- Агенты, специфичные для языка для разных языков (испанский, хинди)
- Основной агент, который занимается первоначальными взаимодействиями
- Функциональные инструменты для дополнительных возможностей (например, информация о погоде)
Здесь's упрощенная версия структуры кода:
а. Определите своих агентов
Создайте разные экземпляры агента для каждого языка, который вы хотите поддерживать. Например, испанский агент и агент хинди могут быть созданы с инструкциями на соответствующих языках:
from agents import Agent
from agents.extensions.handoff_prompt import prompt_with_handoff_instructions
spanish_agent = Agent(
name="Spanish",
handoff_description="A Spanish speaking agent.",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. Speak in Spanish."
),
model="gpt-4o-mini",
)
hindi_agent = Agent(
name="Hindi",
handoff_description="A Hindi speaking agent.",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. Speak in Hindi."
),
model="gpt-4o-mini",
)
Создайте своего основного помощника, который будет определять язык речи пользователя и при необходимости делегировать полномочия соответствующему агенту:
agent = Agent(
name="Assistant",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. If the user speaks in Spanish, hand off to the Spanish agent. If the user speaks in Hindi, hand off to the Hindi agent."
),
model="gpt-4o-mini",
handoffs=[spanish_agent, hindi_agent],
)
б. Добавить инструменты (необязательно)
Например, вы можете добавить простой погодный инструмент, который агент может вызвать:
import random
from agents import function_tool
@function_tool
def get_weather(city: str) -> str:
choices = ["sunny", "cloudy", "rainy", "snowy"]
return f"The weather in {city} is {random.choice(choices)}."
agent.tools.append(get_weather)
Шаг 3. Настройка голосового конвейера

Голосовой конвейер SDK объединяет три компонента:
- Преобразование речи в текст (STT): Преобразует ваш аудиовход в текст.
- Рабочий процесс агента: Обрабатывает текст (включая определение языка и вызов инструментов).
- Преобразование текста в речь (TTS): Преобразует агента's текстовый ответ обратно в аудио.
Здесь's упрощенный пример:
import asyncio
import numpy as np
import sounddevice as sd
from agents.voice import AudioInput, SingleAgentVoiceWorkflow, VoicePipeline
async def main():
# Create the voice pipeline with your primary agent
pipeline = VoicePipeline(workflow=SingleAgentVoiceWorkflow(agent))
# For demonstration, we'll simulate 3 seconds of audio input with silence.
buffer = np.zeros(24000 * 3, dtype=np.int16)
audio_input = AudioInput(buffer=buffer)
# Run the pipeline
result = await pipeline.run(audio_input)
# Set up the audio player (using sounddevice)
player = sd.OutputStream(samplerate=24000, channels=1, dtype=np.int16)
player.start()
# Stream and play audio events from the agent's output
async for event in result.stream():
if event.type == "voice_stream_event_audio":
player.write(event.data)
if __name__ == "__main__":
asyncio.run(main())
В реальном приложении вместо тишины вы бы захватывали живой ввод с микрофона, а агент определял бы язык в реальном времени.
Шаг 4: Запустите голосовой агент
python -m examples.voice.static.main
Лучшие практики разработки голосовых агентов
При создании голосовых агентов с помощью OpenAI Agent SDK, рассмотрите следующие рекомендации:
Возьмите на себя инициативу с вашим многоязычным голосовым помощником уже сегодня
Создание голосовых агентов с помощью OpenAI Agent SDK стал значительно более доступным. Теперь разработчики могут выбирать между мультимодальными или цепочечными архитектурами в зависимости от своих конкретных потребностей, настраивать VoicePipeline и позволять SDK управлять комплексная обработка.
Для качества разговорного потока лучше всего подходит мультимодальный подход. Для структуры и управления больше подходит цепной метод. Эта технология продолжает развиваться, открывая новые возможности для голосовых приложений.

