La API de Multimodal Live es una API de transmisión bidireccional de baja latencia que admite entradas de transmisión de audio y video, y puede generar transmisiones de salida multimodales (audio y texto).
Lista de parámetros
BidiGenerateContentClientContent
Actualización incremental de la conversación actual que se entrega desde el cliente. Todo el contenido aquí se agrega sin condiciones al historial de conversaciones y se usa como parte de la instrucción para que el modelo genere contenido.
Un mensaje aquí interrumpirá cualquier generación de modelos actual.
Campos | |
---|---|
turns[] |
Opcional. Es el contenido que se adjunta a la conversación actual con el modelo. Para consultas de un solo turno, esta es una instancia única. Para las consultas de varios turnos, este es un campo repetido que contiene el historial de conversaciones y la solicitud más reciente. |
turn_ |
Opcional. Si es verdadero, indica que la generación de contenido del servidor debe comenzar con la instrucción acumulada actualmente. De lo contrario, el servidor espera mensajes adicionales antes de iniciar la generación. |
BidiGenerateContentClientMessage
Son los mensajes que envía el cliente en la llamada BidiGenerateContent.
Campos | |
---|---|
Campo de unión message_type . El tipo de mensaje. message_type puede ser solo uno de los siguientes: |
|
setup |
Opcional. Configuración de la sesión enviada en el primer y único mensaje del cliente. |
client_ |
Opcional. Actualización incremental de la conversación actual que se entrega desde el cliente. |
realtime_ |
Opcional. Entrada del usuario que se envía en tiempo real. |
tool_ |
Opcional. Es la respuesta a un |
BidiGenerateContentRealtimeInput
Entrada del usuario que se envía en tiempo real.
Esto es diferente de BidiGenerateContentClientContent
en algunos aspectos:
- Se pueden enviar de forma continua sin interrupciones a la generación de modelos.
- Si es necesario mezclar datos intercalados entre
BidiGenerateContentClientContent
yBidiGenerateContentRealtimeInput
, el servidor intenta realizar optimizaciones para obtener la mejor respuesta, pero no hay garantías. - El final de la toma de turno no se especifica de forma explícita, sino que se deriva de la actividad del usuario (por ejemplo, el final de la voz).
- Incluso antes de que finalice el turno, los datos se procesan de forma incremental para optimizar un inicio rápido de la respuesta del modelo.
- Siempre es una entrada directa del usuario que se envía en tiempo real. Se pueden enviar de forma continua sin interrupciones. El modelo detecta automáticamente el principio y el final de la voz del usuario y comienza o finaliza la transmisión de la respuesta según corresponda. Los datos se procesan de forma incremental a medida que llegan, lo que minimiza la latencia.
Campos | |
---|---|
media_ |
Opcional. Datos de bytes intercalados para la entrada de contenido multimedia. |
BidiGenerateContentServerContent
Actualización incremental del servidor que genera el modelo en respuesta a los mensajes del cliente.
El contenido se genera lo más rápido posible, no en tiempo real. Los clientes pueden optar por almacenar en búfer y reproducirlo en tiempo real.
Campos | |
---|---|
turn_ |
Solo salida. Si es verdadero, indica que el modelo terminó de generarse. La generación solo comenzará en respuesta a mensajes adicionales del cliente. Se puede configurar junto con |
interrupted |
Solo salida. Si es verdadero, indica que un mensaje del cliente interrumpió la generación de modelos actual. Si el cliente reproduce el contenido en tiempo real, esta es una buena señal para detener y vaciar la fila de reproducción actual. |
model_ |
Solo salida. Es el contenido que el modelo generó como parte de la conversación actual con el usuario. |
BidiGenerateContentServerMessage
Es el mensaje de respuesta para la llamada BidiGenerateContent.
Campos | |
---|---|
Campo de unión message_type . El tipo de mensaje. message_type puede ser solo uno de los siguientes: |
|
setup_ |
Solo salida. Se envía en respuesta a un mensaje |
server_ |
Solo salida. Es el contenido que genera el modelo en respuesta a los mensajes de los clientes. |
tool_ |
Solo salida. Solicita al cliente que ejecute el |
tool_ |
Solo salida. Notificación para el cliente de que se debe cancelar un |
BidiGenerateContentSetup
Es el mensaje que se enviará en el primer y único BidiGenerateContentClientMessage
. Contiene la configuración que se aplicará durante la sesión.
Los clientes deben esperar un mensaje BidiGenerateContentSetupComplete
antes de enviar cualquier mensaje adicional.
Campos | |
---|---|
model |
Obligatorio. Es el nombre del recurso del modelo. Este ID sirve como ID para que lo use el modelo. Formato: |
generation_ |
Opcional. Configuración de generación Los siguientes campos no son compatibles:
|
system_ |
Opcional. Las instrucciones del sistema que proporcionó el usuario para el modelo. Nota: Solo se debe usar texto en las partes y el contenido en cada parte debe encontrarse en un párrafo separado. |
tools[] |
Opcional. Es una lista de Un |
BidiGenerateContentSetupComplete
Este tipo no tiene campos.
Se envía en respuesta a un mensaje BidiGenerateContentSetup
del cliente.
BidiGenerateContentToolCall
Solicita al cliente que ejecute el function_calls
y devuelva las respuestas con los id
coincidentes.
Campos | |
---|---|
function_ |
Solo salida. La llamada a función que se ejecutará. |
BidiGenerateContentToolCallCancellation
Notificación para el cliente de que un ToolCallMessage
emitido anteriormente con los id
especificados no se debería haber ejecutado y se debería cancelar. Si hubo efectos secundarios en esas llamadas a la herramienta, los clientes pueden intentar deshacerlas. Este mensaje solo ocurre en los casos en que los clientes interrumpen los turnos del servidor.
Campos | |
---|---|
ids[] |
Solo salida. Son los IDs de las llamadas a la herramienta que se cancelarán. |
BidiGenerateContentToolResponse
Respuesta generada por el cliente a un ToolCall
recibido del servidor. Los objetos FunctionResponse
individuales se corresponden con los objetos FunctionCall
respectivos mediante el campo id
.
Ten en cuenta que, en las APIs de GenerateContent uniaria y de transmisión del servidor, las llamadas a función se realizan intercambiando las partes Content
, mientras que, en las APIs de GenerateContent de transmisión bidireccional, las llamadas a función se realizan a través de este conjunto dedicado de mensajes.
Campos | |
---|---|
function_ |
Opcional. La respuesta a las llamadas a la función. |
También consulta lo siguiente:
- Para obtener más información sobre los campos de API de uso general (por ejemplo,
Content
yTool
), consulta Genera contenido. - Obtén más información sobre las llamadas a funciones.
- Consulta la referencia de llamadas a función para ver ejemplos.