Голосовые агенты
Голосовые агенты — это инструмент Yandex AI Studio, позволяющий создавать на основе искусственного интеллекта приложения, которые взаимодействуют с пользователем как в текстовом, так и в голосовом формате.
Голосовые агенты поддерживают двусторонний обмен сообщениями: клиент отправляет события с аудио- или текстовыми инструкциями, а сервер возвращает ответы по мере готовности. Такой потоковый режим позволяет отображать частичные ответы сразу, не дожидаясь завершения обработки и обеспечивая естественное течение диалога.
Голосовые агенты могут применяться для реализации следующих сценариев:
- Подсказки оператору. Голосовой агент в режиме реального времени анализирует голосовое или текстовое общение оператора с клиентом и предлагает оператору готовый ответ или ссылку на инструкцию. Это позволяет оператору отвечать на вопросы быстрее и точнее.
- Голосовой агент. Современная замена голосовым ботам. Голосовой агент может принимать заказы, отвечать на вопросы в службу поддержки. При этом агент разговаривает без задержек, как живой оператор.
- Автоматическая суммаризация звонка. Голосовой агент в режиме реального времени анализирует аудиопоток и выделяет ключевые моменты (темы, договоренности, дальнейшие шаги). К концу беседы формирует краткое резюме и список задач, которые отправляет в CRM
-систему или в чат.
Realtime API
В AI Studio голосовые агенты можно создавать с помощью Realtime API — событийно-ориентированного интерфейса для голосового взаимодействия сервера с клиентом в режиме реального времени через транспорт на базе WebSocket
Модель
Для обработки запросов пользователя Realtime API использует специальную мультимодальную модель, которая подходит для интерактивных голосовых и смешанных (голос + текст) сценариев с минимальной задержкой:
| Модель и URI | Контекст | Режимы работы |
|---|---|---|
speech-realtime-250923gpt://<идентификатор_каталога>/speech-realtime-250923 |
32 000 | Синхронный |
Модель разработана специально для работы с русским языком и подойдет для создания голосовых ассистентов, чатов и приложений, где важен живой, естественный диалог.
Голоса
Realtime API совместим со всеми стандартными голосами Yandex SpeechKit и голосами SpeechKit Brand Voice Lite и SpeechKit Brand Voice Premium.
Примеры голосов можно услышать на странице сервиса SpeechKit.
Сессии
Контекст взаимодействия между клиентом и сервером сохраняется в сессиях. Сессия содержит историю диалога и параметры конфигурации — системный промт модели, выбранный голос для синтеза речи, ожидаемые модальности (текст или речь).
Сессия создается один раз при установлении WebSocket-соединения и действует до закрытия этого соединения или до истечения времени жизни сессии.
Время жизни сессии составляет пять минут, но при необходимости сессия может быть продлена до десяти минут. Параметры конфигурации сессии можно изменять в процессе диалога. Например, вы можете обновлять системный промт, изменять голос синтеза или набор модальностей.
Чтобы продолжить работу после завершения текущей сессии, нужно создать новую сессию.
События
События — это основной механизм обмена данными в Realtime API. Каждое взаимодействие клиента с сервером описывается в виде события, содержащего обязательное поле type — тип события, указывающий на его назначение.
Клиент отправляет события, чтобы передать данные, инструкции или команды (например, создать новый ответ, загрузить аудио или изменить параметры сессии). Сервер отвечает событиями, которые содержат промежуточные или финальные результаты, а также уведомления о состоянии.
Обмен событиями двусторонний и асинхронный: клиент может отправлять на сервер новые события, не дожидаясь, пока сервер вернет результат предыдущей задачи. Такой подход позволяет обрабатывать ответы в потоковом режиме и реагировать на них сразу, без необходимости ждать завершения всей обработки.
Каждое событие передается как отдельный JSON
Типы событий
Realtime API поддерживает следующие типы событий:
session.update— обновление параметров сессии. Например: изменение голоса синтеза или системной инструкции для модели.input_audio_buffer.append— передача фрагмента аудиоданных (в формате PCM , mono, 24 kHz, 16-bit в кодировке Base64 ).input_audio_buffer.commit— завершение передачи аудио.response.create— запуск генерации нового ответа модели.response.output_text.delta— фрагмент ответа в форме текста (streaming).response.output_audio.delta— фрагмент ответа в форме аудио (PCM, Base64).response.output_audio.done— последний фрагмент ответа в форме аудио.response.done— завершение генерации ответа модели.error— сообщение об ошибке.