Gemini Live API permite interacciones de voz y texto bidireccionales de baja latencia con Gemini. Con Live API, puedes proporcionar a los usuarios finales la experiencia de conversaciones de voz naturales y similares a las humanas, con la capacidad de interrumpir las respuestas del modelo con comandos de texto o voz. El modelo puede procesar entradas de texto y audio (próximamente, video) y puede proporcionar salidas de texto y audio.
Puedes crear prototipos con instrucciones y Live API en Vertex AI Studio.
Live API es una API con estado que crea una conexión WebSocket para establecer una sesión entre el cliente y el servidor de Gemini. Para obtener más información, consulta la documentación de referencia de Live API.
Antes de comenzar
Si aún no lo has hecho, completa la
guía de introducción,
en la que se describe cómo configurar tu proyecto de Firebase, conectar tu app a
Firebase, agregar el SDK, inicializar el servicio Vertex AI y crear una
instancia de LiveModel
.
Ten en cuenta lo siguiente para usar Live API:
Asegúrate de usar como mínimo estas versiones de la biblioteca de Firebase:
iOS y versiones posteriores: Aún no se admite | Android: v16.3.0 y versiones posteriores (BoM: v33.12.0 y versiones posteriores) | Web: Aún no se admite | Flutter: v1.5.0 y versiones posteriores (BoM: v3.9.0 y versiones posteriores)Crea una instancia de
LiveModel
(no una instancia deGenerativeModel
).
Modelos que admiten esta función
Live API solo es compatible con gemini-2.0-flash-live-preview-04-09
(no con gemini-2.0-flash
).
Usa las funciones estándar de Live API
En esta sección, se describe cómo usar las funciones estándar de Live API, específicamente para transmitir varios tipos de entradas y salidas:
- Cómo enviar y recibir mensajes de texto
- Cómo enviar y recibir audio
- Cómo enviar audio y recibir texto
- Cómo enviar texto y recibir audio
Cómo enviar y recibir mensajes de texto
Puedes enviar entradas de texto transmitidas y recibir salidas de texto transmitidas. Asegúrate de
crear una instancia de liveModel
y establecer la modalidad de respuesta en Text
.
Aprende a elegir un modelo y, de manera opcional, una ubicación adecuada para tu caso de uso y app.
Cómo enviar y recibir audio
Puedes enviar entradas de audio transmitidas y recibir salidas de audio transmitidas. Asegúrate de crear una instancia de LiveModel
y establecer la modalidad de respuesta en Audio
.
Obtén información para configurar y personalizar la voz de respuesta (más adelante en esta página).
Aprende a elegir un modelo y, de manera opcional, una ubicación adecuada para tu caso de uso y app.
Crea experiencias más interactivas y atractivas
En esta sección, se describe cómo crear y administrar funciones más atractivas o interactivas de Live API.
Cambia la voz de la respuesta
Live API usa Chirp 3 para admitir respuestas de voz sintetizada. Cuando usas Vertex AI in Firebase, puedes enviar audio en 5 voces de alta definición y 31 idiomas.
Si no especificas una voz, el valor predeterminado es Puck
. Como alternativa, puedes
configurar el modelo para que responda con cualquiera de las siguientes voces:
Aoede (mujer)Charon (hombre) |
Fenrir (hombre)Kore (mujer) |
Puck (hombre) |
Para ver demostraciones de cómo suenan estas voces y obtener la lista completa de los idiomas disponibles, consulta Chirp 3: Voces en HD.
Para especificar una voz, establece el nombre de la voz dentro del objeto speechConfig
como parte de la configuración del modelo:
Para obtener los mejores resultados cuando le pidas al modelo que responda en un idioma que no sea inglés, incluye lo siguiente como parte de las instrucciones del sistema:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
Mantén el contexto en todas las sesiones y solicitudes
Puedes usar una estructura de chat para mantener el contexto en todas las sesiones y solicitudes. Ten en cuenta que esto solo funciona para la entrada y salida de texto.
Este enfoque es mejor para contextos cortos. Puedes enviar interacciones paso a paso para representar la secuencia exacta de eventos. Para contextos más largos, te recomendamos que proporciones un resumen de un solo mensaje para liberar la ventana de contexto para interacciones posteriores.
Controla las interrupciones
Vertex AI in Firebase aún no admite el manejo de interrupciones. Vuelva a consultar más tarde.
Usa llamadas a función (herramientas)
Puedes definir herramientas, como funciones disponibles, para usar con la API de Live, al igual que con los métodos de generación de contenido estándar. En esta sección, se describen algunos matices cuando se usa la API en vivo con llamadas a funciones. Para obtener una descripción completa y ejemplos de llamadas a funciones, consulta la guía de llamadas a funciones.
A partir de una sola instrucción, el modelo puede generar varias llamadas a funciones y el código necesario para encadenar sus resultados. Este código se ejecuta en un entorno de zona de pruebas y genera mensajes BidiGenerateContentToolCall
posteriores. La ejecución se detiene hasta que los resultados de cada llamada a función están disponibles, lo que garantiza el procesamiento secuencial.
Además, usar la API en vivo con llamadas a funciones es particularmente potente porque el modelo puede solicitarle al usuario información de seguimiento o de aclaración. Por ejemplo, si el modelo no tiene suficiente información para proporcionar un valor de parámetro a una función a la que desea llamar, puede pedirle al usuario que proporcione más información o que aclare la información.
El cliente debe responder con BidiGenerateContentToolResponse
.
Limitaciones y requisitos
Ten en cuenta las siguientes limitaciones y requisitos de Live API.
Transcripción
Vertex AI in Firebase aún no admite transcripciones. Vuelva a consultar más tarde.
Lenguajes
- Idiomas de entrada: Consulta la lista completa de idiomas de entrada admitidos para los modelos Gemini.
- Idiomas de salida: Consulta la lista completa de los idiomas de salida disponibles en Chirp 3: Voces en HD.
Formatos de audio
Live API admite los siguientes formatos de audio:
- Formato de audio de entrada: Audio PCM sin procesar de 16 bits a 16 kHz en formato little-endian
- Formato de audio de salida: Audio PCM sin procesar de 16 bits a 24 kHz en formato little-endian
Límites de frecuencia
Se aplican los siguientes límites de frecuencia:
- 10 sesiones simultáneas por proyecto de Firebase
- 4 millones de tokens por minuto
Duración de la sesión
La duración predeterminada de una sesión es de 30 minutos. Cuando la duración de la sesión supera el límite, se finaliza la conexión.
El modelo también se limita por el tamaño del contexto. Enviar grandes fragmentos de entrada puede generar el cierre anticipado de la sesión.
Detección de actividad de voz (VAD)
El modelo realiza automáticamente la detección de actividad de voz (VAD) en una transmisión de entrada de audio continua. La VAD está habilitada de forma predeterminada.
Recuento de tokens
No puedes usar la API de CountTokens
con Live API.