Gemini Live API обеспечивает двунаправленное текстовое и голосовое взаимодействие с низкой задержкой с Gemini . Используя Live API , вы можете предоставить конечным пользователям возможность естественного, человеческого голосового общения с возможностью прерывать ответы модели с помощью текстовых или голосовых команд. Модель может обрабатывать ввод текста и аудио (скоро появится видео!), а также обеспечивать вывод текста и звука.
Вы можете создавать прототипы с помощью подсказок и Live API в Vertex AI Studio .
Live API — это API с отслеживанием состояния, который создает соединение WebSocket для установления сеанса между клиентом и сервером Gemini. Подробности см. в справочной документации Live API .
Прежде чем начать
Если вы еще этого не сделали, прочтите руководство по началу работы , в котором описывается, как настроить проект Firebase, подключить приложение к Firebase, добавить SDK, инициализировать службу Vertex AI и создать экземпляр LiveModel
.
Убедитесь, что вы используете как минимум следующие версии библиотеки Firebase:
iOS+ : пока не поддерживается | Android : v16.3.0+ ( BoM : v33.12.0+) | Интернет : еще не поддерживается | Flutter : v1.5.0+ (BoM: v3.9.0+)
Модели, поддерживающие эту возможность
Live API поддерживается только gemini-2.0-flash-live-preview-04-09
(не gemini-2.0-flash
).
Используйте стандартные функции Live API
В этом разделе описывается, как использовать стандартные функции Live API , в частности для потоковой передачи различных типов входных и выходных данных:
- Отправляйте текст и получайте текст
- Отправлять аудио и получать аудио
- Отправляйте аудио и получайте текст
- Отправляйте текст и получайте аудио
Отправляйте текст и получайте текст
Вы можете отправлять потоковый текстовый ввод и получать потоковый текстовый вывод. Обязательно создайте экземпляр liveModel
и установите для модальности ответа значение Text
.
Узнайте, как выбрать модель и, при необходимости, местоположение, подходящее для вашего варианта использования и приложения.
Отправлять аудио и получать аудио
Вы можете отправлять потоковый аудиовход и получать потоковый аудиовыход. Обязательно создайте экземпляр LiveModel
и установите модальность ответа Audio
.
Узнайте, как настроить голос ответа (далее на этой странице).
Узнайте, как выбрать модель и, при необходимости, местоположение, подходящее для вашего варианта использования и приложения.
Вы можете отправлять потоковый аудиовход и получать потоковый текстовый вывод. Обязательно создайте экземпляр LiveModel
и установите для модальности ответа значение Text
.
Узнайте, как выбрать модель и, при необходимости, местоположение, подходящее для вашего варианта использования и приложения.
Вы можете отправлять потоковый текстовый ввод и получать потоковый аудиовыход. Обязательно создайте экземпляр LiveModel
и установите модальность ответа Audio
.
Узнайте, как настроить голос ответа (далее на этой странице).
Узнайте, как выбрать модель и, при необходимости, местоположение, подходящее для вашего варианта использования и приложения.
Создавайте более увлекательный и интерактивный опыт
В этом разделе описывается, как создавать и управлять более привлекательными или интерактивными функциями Live API .
Изменить голос ответа
Live API использует Chirp 3 для поддержки синтезированных речевых ответов. При использовании Vertex AI в Firebase вы можете отправлять звук на 5 HD-голосах и на 31 языке.
Если вы не укажете голос, по умолчанию используется Puck
. Альтернативно вы можете настроить модель на ответ любым из следующих голосов:
Aoede (женщина)Charon (мужчина) | Fenrir (мужчина)Kore (женщина) | Puck (мужчина) |
Демоверсии того, как звучат эти голоса, а также полный список доступных языков см. в разделе Chirp 3: HD voices .
Чтобы указать голос, установите имя голоса в объекте speechConfig
как часть конфигурации модели :
Для достижения наилучших результатов при запросе и запросе ответа модели на языке, отличном от английского, включите в системные инструкции следующее:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
Поддерживать контекст между сеансами и запросами
Вы можете использовать структуру чата для поддержания контекста между сеансами и запросами. Обратите внимание, что это работает только для ввода и вывода текста.
Этот подход лучше всего подходит для коротких контекстов; вы можете отправлять пошаговые инструкции, чтобы представить точную последовательность событий. Для более длинных контекстов мы рекомендуем предоставлять сводку одного сообщения, чтобы освободить окно контекста для последующих взаимодействий.
Обработка прерываний
Vertex AI в Firebase пока не поддерживает обработку прерываний. Возвращайтесь скорее!
Использовать вызов функций (инструменты)
Вы можете определить инструменты, такие как доступные функции, для использования с Live API так же, как со стандартными методами генерации контента. В этом разделе описаны некоторые нюансы при использовании Live API с вызовом функций. Полное описание и примеры вызова функций см. в руководстве по вызову функций .
Из одного приглашения модель может генерировать несколько вызовов функций и код, необходимый для объединения их выходных данных в цепочку. Этот код выполняется в изолированной среде, генерируя последующие сообщения BidiGenerateContentToolCall
. Выполнение приостанавливается до тех пор, пока не станут доступны результаты каждого вызова функции, что обеспечивает последовательную обработку.
Кроме того, использование Live API с вызовом функций особенно эффективно, поскольку модель может запрашивать у пользователя дополнительную или уточняющую информацию. Например, если в модели недостаточно информации для предоставления значения параметра функции, которую она хочет вызвать, модель может попросить пользователя предоставить дополнительную или уточняющую информацию.
Клиент должен ответить BidiGenerateContentToolResponse
.
Ограничения и требования
Имейте в виду следующие ограничения и требования Live API .
Транскрипция
Vertex AI в Firebase пока не поддерживает транскрипцию. Возвращайтесь скорее!
Языки
- Языки ввода: см. полный список поддерживаемых языков ввода для моделей Gemini.
- Языки вывода: полный список доступных языков вывода см. в Chirp 3: HD voices.
Аудио форматы
Live API поддерживает следующие аудиоформаты:
- Формат входного аудио: необработанный 16-битный звук PCM с частотой 16 кГц с прямым порядком байтов.
- Выходной аудиоформат: необработанный 16-битный звук PCM с частотой 24 кГц с прямым порядком байтов.
Ограничения ставок
Применяются следующие ограничения по ставкам:
- 10 одновременных сеансов на проект Firebase
- 4 миллиона токенов в минуту
Продолжительность сеанса
По умолчанию продолжительность сеанса составляет 30 минут. Когда продолжительность сеанса превышает лимит, соединение разрывается.
Модель также ограничена размером контекста. Отправка больших порций входных данных может привести к более раннему завершению сеанса.
Обнаружение голосовой активности (VAD)
Модель автоматически выполняет обнаружение голосовой активности (VAD) в непрерывном входном аудиопотоке. VAD включен по умолчанию.
Подсчет токенов
Вы не можете использовать API CountTokens
с Live API .