Конечная точка модели gemini-robotics-er-2-streaming-preview предоставляет выделенную потоковую точку доступа, которая интегрируется с Live API , обеспечивая двустороннее взаимодействие в реальном времени между вашим приложением и роботом. Это делает ее подходящей для агентов, которым необходимы быстрые циклы обратной связи и реактивные реакции на окружающую среду.
Варианты использования
- Координация нескольких роботов : несколько роботов обмениваются информацией о состоянии задачи и делегируют подзадачи в рамках общей сессии.
- Непрерывный мониторинг : Роботы, которые наблюдают за происходящим и запускают действия при возникновении определенных событий, например, когда контейнер достигает определенного уровня заполнения.
- Складское хозяйство и логистика : Специалисты по комплектации и упаковке, которые визуально проверяют товары, отслеживают ход упаковки и устраняют ошибки.
Технические характеристики
В таблице ниже приведены технические характеристики Live API:
| Категория | Подробности |
|---|---|
| Входные модальности | Аудио (необработанный 16-битный PCM-аудио, 16 кГц, little-endian), изображения (JPEG <= 1 кадр/с), текст |
| Выходные модальности | Текст |
| Протокол | Соединение WebSocket с сохранением состояния (WSS) |
Создайте агентскую конфигурацию.
Каждый роботизированный агент, созданный на основе Live API, проходит три этапа:
- Объявите возможности робота как инструменты. Каждое действие, которое может выполнять робот — навигация, захват, речь — становится объявлением функции с именем, описанием и схемой параметров. Физические действия должны использовать
"behavior": "BLOCKING", чтобы модель ожидала завершения действия роботом, прежде чем выбрать следующий шаг. - Передавайте многомодальные входные данные в постоянную сессию. Откройте сессию
live.connectи держите ее открытой на протяжении всего выполнения задачи. Отправляйте видеокадры, аудио или текст по мере их поступления от датчиков вашего робота. - Обработка вызовов инструментов осуществляется в цикле приема. Каждый раз, когда модель выбирает действие, она отправляет сообщение
tool_call. Ваш цикл приема выполняет функцию в SDK вашего робота и отправляет обратно сообщениеtool_response. Сессия остается открытой, и модель выбирает следующее действие на основе результата.
В следующих разделах показано, как применить эти шаги к трем распространенным сценариям: базовый цикл работы агента, проактивный мониторинг сцены с использованием сигнала активности и маршрутизация речи через синтез речи в качестве инструмента.
Управляйте роботом посредством вызова функций.
В следующем примере показаны все три шага, объединенные в одном скрипте на Python.
Шаг 1 — определение инструментов — объявляет возможности робота в виде объявлений функций. Функция navigate использует "behavior": "BLOCKING" , поэтому модель ожидает, пока робот достигнет путевой точки, прежде чем вызывать другой инструмент. Добавьте в тот же список еще несколько объявлений функций, чтобы раскрыть дополнительные возможности робота.
Шаг 2 — вспомогательные функции ввода — демонстрирует три функции, которые передают в сессию входные данные различного типа: send_text для команд, send_image для кадров с камеры с необязательной текстовой подсказкой и send_audio для необработанного PCM-аудио с микрофона.
Шаг 3 — цикл приема — выполняется параллельно и обрабатывает два типа сообщений: сообщения server_content (текстовый вывод модели) и сообщения tool_call (модель запрашивает действие робота). Когда поступает вызов инструмента, цикл вызывает execute_tool — заглушку, которую вы заменяете реальным SDK робота, — а затем отправляет обратно tool_response чтобы модель могла выбрать следующее действие.
import