Голосовое приложение на Realtime Mini

Урок 118 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

В детстве меня завораживала идея Джарвиса — интеллектуального помощника, способного автономно справляться со сложными рабочими процессами. Тогда я не осознавал, что представлял себе будущее голосовых агентов. OpenAI первой воплотила это видение в жизнь с запуском 4o-audio, а совсем недавно сделала его ещё более доступным — сократив затраты на 70% — с выпуском GPT Realtime Mini, который предлагает более низкую latency и значительные улучшения в tool calling. Однако создание систем с речевыми моделями принципиально отличается от работы с текстовыми интерфейсами. Помимо prompt engineering, аудиомодели привносят новые вызовы: они более чувствительны к latency, требуют управления WebRTC-сессией и вносят дополнительную изменчивость через обнаружение голосовой активности (VAD). Чтобы упростить этот процесс, OpenAI выпустила Agents SDK для Python и TypeScript, а также подробные примеры, демонстрирующие рекомендуемые нами паттерны проектирования для создания надёжных голосовых агентов. Прежде чем углубляться в код, давайте точно определим, что мы будем создавать — и как это вписывается в общую архитектуру передачи управления агентам (agent handoff architecture). Для нашего сегодняшнего приложения мы будем создавать чрезвычайно простое приложение для поддержки клиентов, используя «handoff architecture». «Handoff Architecture» означает, что основной агент (primary agent) выступает в роли оркестратора для всех входящих запросов клиентов. Вместо того чтобы обрабатывать каждый запрос напрямую, основной агент анализирует намерение, стоящее за сообщением пользователя, и категоризирует его по одному из двух основных направлений: Общие вопросы и базовая поддержка (аутентификатор не требуется). Специфические вопросы (требуется аутентификация пользователя перед выполнением поиска). На основе этой категоризации основной агент передаёт разговор соответствующему специализированному агенту, предназначенному для выполнения конкретной задачи. Вместо того чтобы начинать с нуля, мы будем работать с репозитория openai-agents-js, поэтому начнём с клонирования, установки необходимых зависимостей и сборки веб-демо После клонирования следуйте инструкциям в файле readme, чтобы начать работу Если всё работает как ожидалось, вы должны увидеть простой чат-интерфейс Отлично!

План урока

  1. Архитектура системы
  2. Настройка
  3. Основной агент
  4. QA-агент
  5. Агент статуса рейса
  6. Финальный фрагмент кода

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды