Multimodal Live API

La API de Multimodal Live habilita interacciones bidireccionales de baja latencia que usan entradas de texto, audio y video, con salida de audio y texto. Esto facilita conversaciones de voz naturales y similares a las humanas con la capacidad de interrumpir el modelo en cualquier momento. La capacidad de comprensión de videos del modelo extiende las modalidades de comunicación, lo que te permite compartir entradas de la cámara o presentaciones en pantalla y hacer preguntas sobre ellas.

La API de Multimodal Live incluye las siguientes funciones clave:

  • Multimodalidad: El modelo puede ver, escuchar y hablar.
  • Interacción en tiempo real de baja latencia: El modelo puede proporcionar respuestas rápidas.
  • Memoria de sesión: El modelo retiene la memoria de todas las interacciones dentro de una sola sesión y recuerda la información que se escuchó o vio anteriormente.
  • Compatibilidad con llamadas a funciones, ejecución de código y Búsqueda como herramienta: Puedes integrar el modelo con servicios y fuentes de datos externos.

La API de Multimodal Live está diseñada para la comunicación de servidor a servidor.

En el caso de las aplicaciones web y para dispositivos móviles, te recomendamos que uses la integración de nuestros socios de Daily.

Guía de integración

Sesiones

Una sesión representa una sola conexión WebSocket entre el cliente y el servidor de Gemini.

Después de que un cliente inicia una conexión nueva, la sesión puede intercambiar mensajes con el servidor para realizar las siguientes acciones:

  • Enviar texto, audio o video al servidor de Gemini
  • Recibir respuestas de audio, texto o llamadas a función del servidor de Gemini

La configuración de la sesión se envía en el primer mensaje después de la conexión. Una configuración de sesión incluye el modelo, los parámetros de generación, las instrucciones del sistema y las herramientas.

Consulta la siguiente configuración de ejemplo:

{​​
  "model": string,
  "generation_config": {​​
    "candidateCount": integer,
    "maxOutputTokens": integer,
    "temperature": number,
    "topP": number,
    "topK": integer,
    "presencePenalty": number,
    "frequencyPenalty": number,
    "response_modalities": string,
    "speech_config":object
  },

  "system_instruction": "",
  "tools":[]
}

Para obtener más información, consulta BidiGenerateContentSetup.

Cómo enviar mensajes

Los mensajes son cadenas con formato JSON que se intercambian a través de la conexión WebSocket.

Para enviar un mensaje, el cliente debe enviar un mensaje de cliente compatible en una cadena con formato JSON con una de las conexiones WebSocket abiertas.

Consulta también