Multimodal ao vivo

A API Multimodal Live é uma API de streaming bidirecional de baixa latência que oferece suporte a entradas de streaming de áudio e vídeo e pode gerar streams de saída multimodais (áudio e texto).

Lista de parâmetros

BidiGenerateContentClientContent

Atualização incremental da conversa atual enviada pelo cliente. Todo o conteúdo aqui é adicionado incondicionalmente ao histórico de conversas e usado como parte do comando para o modelo gerar conteúdo.

Uma mensagem aqui vai interromper qualquer geração de modelo atual.

Campos
turns[]

Content

Opcional. O conteúdo anexado à conversa atual com o modelo.

Para consultas de turno único, esta é uma instância única. Para consultas com várias interações, esse é um campo repetido que contém o histórico da conversa e a solicitação mais recente.

turn_complete

bool

Opcional. Se verdadeiro, indica que a geração de conteúdo do servidor precisa começar com o comando acumulado. Caso contrário, o servidor aguarda outras mensagens antes de iniciar a geração.

BidiGenerateContentClientMessage

Mensagens enviadas pelo cliente na chamada BidiGenerateContent.

Campos
Campo de união message_type. É o tipo de mensagem. message_type pode ser apenas de um dos tipos a seguir:
setup

BidiGenerateContentSetup

Opcional. Configuração da sessão enviada na primeira e única mensagem do cliente.

client_content

BidiGenerateContentClientContent

Opcional. Atualização incremental da conversa atual enviada pelo cliente.

realtime_input

BidiGenerateContentRealtimeInput

Opcional. Entrada do usuário enviada em tempo real.

tool_response

BidiGenerateContentToolResponse

Opcional. Resposta a uma ToolCallMessage recebida do servidor.

BidiGenerateContentRealtimeInput

Entrada do usuário enviada em tempo real.

Isso é diferente de BidiGenerateContentClientContent de algumas maneiras:

  • Podem ser enviados continuamente sem interrupção para a geração de modelos.
  • Se for necessário misturar dados intercalados entre BidiGenerateContentClientContent e BidiGenerateContentRealtimeInput, o servidor vai tentar otimizar a melhor resposta, mas não há garantias.
  • O fim da vez não é especificado explicitamente, mas é derivado da atividade do usuário (por exemplo, fim da fala).
  • Mesmo antes do fim da jogada, os dados são processados de forma incremental para otimizar o início rápido da resposta do modelo.
  • É sempre uma entrada direta do usuário enviada em tempo real. Podem ser enviadas continuamente sem interrupções. O modelo detecta automaticamente o início e o fim da fala do usuário e inicia ou encerra a transmissão da resposta de acordo com isso. Os dados são processados de forma incremental à medida que chegam, minimizando a latência.
Campos
media_chunks[]

Blob

Opcional. Dados de bytes inline para entrada de mídia.

BidiGenerateContentServerContent

Atualização incremental do servidor gerada pelo modelo em resposta às mensagens do cliente.

O conteúdo é gerado o mais rápido possível, e não em tempo real. Os clientes podem escolher armazenar em buffer e reproduzir em tempo real.

Campos
turn_complete

bool

Apenas saída. Se verdadeiro, indica que a geração do modelo foi concluída. A geração só vai começar em resposta a outras mensagens do cliente. Pode ser definido com content, indicando que o content é o último na vez.

interrupted

bool

Apenas saída. Se verdadeiro, indica que uma mensagem do cliente interrompeu a geração de modelos atual. Se o cliente estiver reproduzindo o conteúdo em tempo real, esse é um bom sinal para interromper e esvaziar a fila de reprodução atual.

model_turn

Content

Apenas saída. O conteúdo que o modelo gerou como parte da conversa atual com o usuário.

BidiGenerateContentServerMessage

Mensagem de resposta para a chamada BidiGenerateContent.

Campos
Campo de união message_type. É o tipo de mensagem. message_type pode ser apenas de um dos tipos a seguir:
setup_complete

BidiGenerateContentSetupComplete

Apenas saída. Enviada em resposta a uma mensagem BidiGenerateContentSetup do cliente quando a configuração é concluída.

server_content

BidiGenerateContentServerContent

Apenas saída. Conteúdo gerado pelo modelo em resposta às mensagens do cliente.

tool_call

BidiGenerateContentToolCall

Apenas saída. Solicitar que o cliente execute o function_calls e retorne as respostas com os ids correspondentes.

tool_call_cancellation

BidiGenerateContentToolCallCancellation

Apenas saída. Notificação ao cliente de que um ToolCallMessage emitido anteriormente com os ids especificados precisa ser cancelado.

BidiGenerateContentSetup

Mensagem a ser enviada na primeira e apenas na primeira BidiGenerateContentClientMessage. Contém a configuração que será aplicada durante a sessão.

Os clientes precisam aguardar uma mensagem BidiGenerateContentSetupComplete antes de enviar outras mensagens.

Campos
model

string

Obrigatório. O nome do recurso do modelo. Ele serve como um ID para o modelo usar.

Formato: models/{model}

generation_config

GenerationConfig

Opcional. Configuração de geração.

Os seguintes campos não são aceitos:

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

Content

Opcional. O usuário forneceu instruções do sistema para o modelo.

Observação: use apenas texto em partes, e o conteúdo de cada parte ficará em um parágrafo separado.

tools[]

Tool

Opcional. Uma lista de Tools que o modelo pode usar para gerar a próxima resposta.

Um Tool é um código que permite ao sistema interagir com sistemas externos para realizar uma ação ou conjunto de ações fora do conhecimento e do escopo do modelo.

BidiGenerateContentSetupComplete

Esse tipo não tem campos.

Enviada em resposta a uma mensagem BidiGenerateContentSetup do cliente.

BidiGenerateContentToolCall

Solicitar que o cliente execute o function_calls e retorne as respostas com os ids correspondentes.

Campos
function_calls[]

FunctionCall

Apenas saída. A chamada de função a ser executada.

BidiGenerateContentToolCallCancellation

Notificação para o cliente de que um ToolCallMessage emitido anteriormente com os ids especificados não foi executado e precisa ser cancelado. Se houver efeitos colaterais nessas chamadas de ferramentas, os clientes poderão tentar desfazer as chamadas de ferramentas. Essa mensagem ocorre apenas nos casos em que os clientes interrompem as rodadas do servidor.

Campos
ids[]

string

Apenas saída. Os IDs das chamadas de ferramenta a serem canceladas.

BidiGenerateContentToolResponse

Resposta gerada pelo cliente para uma ToolCall recebida do servidor. Os objetos FunctionResponse individuais são associados aos respectivos objetos FunctionCall pelo campo id.

Nas APIs unary e de streaming do servidor, a chamada de função GenerateContent acontece trocando as partes Content, enquanto nas APIs bidi, a chamada de função acontece sobre esse conjunto dedicado de mensagens.

Campos
function_responses[]

FunctionResponse

Opcional. A resposta às chamadas de função.

Consulte também