Multimodal Live

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[]

Content

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_complete

bool

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

BidiGenerateContentSetup

Opcional. Configuración de la sesión enviada en el primer y único mensaje del cliente.

client_content

BidiGenerateContentClientContent

Opcional. Actualización incremental de la conversación actual que se entrega desde el cliente.

realtime_input

BidiGenerateContentRealtimeInput

Opcional. Entrada del usuario que se envía en tiempo real.

tool_response

BidiGenerateContentToolResponse

Opcional. Es la respuesta a un ToolCallMessage que se recibió del servidor.

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 y BidiGenerateContentRealtimeInput, 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_chunks[]

Blob

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_complete

bool

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 content, lo que indica que content es el último en el giro.

interrupted

bool

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_turn

Content

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_complete

BidiGenerateContentSetupComplete

Solo salida. Se envía en respuesta a un mensaje BidiGenerateContentSetup del cliente cuando se completa la configuración.

server_content

BidiGenerateContentServerContent

Solo salida. Es el contenido que genera el modelo en respuesta a los mensajes de los clientes.

tool_call

BidiGenerateContentToolCall

Solo salida. Solicita al cliente que ejecute el function_calls y devuelva las respuestas con los id coincidentes.

tool_call_cancellation

BidiGenerateContentToolCallCancellation

Solo salida. Notificación para el cliente de que se debe cancelar un ToolCallMessage emitido anteriormente con los id especificados.

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

string

Obligatorio. Es el nombre del recurso del modelo. Este ID sirve como ID para que lo use el modelo.

Formato: models/{model}

generation_config

GenerationConfig

Opcional. Configuración de generación

Los siguientes campos no son compatibles:

  • response_logprobs
  • response_mime_type
  • logprobs
  • response_schema
  • stop_sequence
  • routing_config
  • audio_timestamp
system_instruction

Content

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[]

Tool

Opcional. Es una lista de Tools que el modelo puede usar para generar la siguiente respuesta.

Un Tool es un fragmento de código que permite que el sistema interactúe con sistemas externos para realizar una acción o un conjunto de acciones fuera del conocimiento y el alcance del modelo.

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_calls[]

FunctionCall

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[]

string

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_responses[]

FunctionResponse

Opcional. La respuesta a las llamadas a la función.

También consulta lo siguiente: