Solução de problemas da API Gemini Live

Este documento fornece etapas de solução de problemas que podem ocorrer ao usar a API Gemini Live.

Conexão interrompida inesperadamente

Se a conexão da sessão for interrompida inesperadamente, o motivo pode ser limites de token, tempo limite de conexão da sessão ou problemas de rede.

Comportamento

A sessão foi desconectada com o código de erro 1000 ou 1006.

Possíveis motivos

  • A compactação da janela de contexto não está ativada, e o token de contexto excede o limite de token de contexto da sessão (até 128 mil).
  • Nenhuma lógica de retomada de sessão foi implementada ou a lógica de retomada não foi implementada corretamente.
  • Conexão de Internet instável.

Motivos e soluções

  • Os tokens excedem o limite de token de contexto da sessão: Para evitar exceder o limite de token de contexto da sessão, ative a compactação de contexto. Isso pode afetar a qualidade da conversa, já que o modelo vai descartar intermitentemente partes anteriores do histórico de chat.

  • A conexão da sessão expira após 10 minutos:gerencie a retomada da sessão para permitir interações mais longas. Para mais detalhes, consulte as práticas recomendadas para retomada de sessão.

  • Conexão de Internet instável:verifique a condição da sua conexão de Internet, já que as flutuações na estabilidade podem resultar em problemas de conectividade.

O modelo não entendeu o usuário

Se o modelo não entender sua entrada, verifique se o áudio está formatado corretamente e considere a qualidade do microfone e o ruído de fundo.

Comportamento

O modelo responde com informações irrelevantes ou incorretas ou pede que o usuário repita.

Possíveis motivos

  • O formato de áudio de entrada não está correto.
  • A qualidade do microfone não é boa.
  • O ruído de fundo está muito alto.

Motivos e soluções

  • O formato de áudio de entrada não está correto verifique se o áudio de entrada usa um formato PCM de 16 bits little-endian com uma taxa de amostragem de 16 kHz e um único canal mono.

  • A qualidade do microfone não é boa: Teste a qualidade do microfone gravando um áudio curto e reproduzindo-o. Se a qualidade do microfone não for boa, tente usar um microfone com melhor qualidade.

  • O ruído de fundo está muito alto:teste o nível de ruído de fundo gravando um áudio curto e reproduzindo-o. Se o nível de ruído de fundo estiver muito alto, tente aproximar o microfone do usuário ou usar um microfone com melhor cancelamento de ruído.

O modelo não está respondendo

Se você não estiver recebendo uma resposta do modelo, verifique as opções de detecção de atividade de voz e a conexão WebSocket.

Comportamento

Nenhuma resposta do modelo.

Possíveis motivos

  • As configurações de VAD não estão definidas corretamente.
  • A conexão WebSocket foi interrompida.

Motivos e soluções

  • VAD definido incorretamente:o VAD está desativado pelo usuário. Nesse caso, o modelo vai continuar esperando a fala do usuário e não vai responder. Envie eventos ActivityStart e ActivityEnd para o modelo se o VAD estiver desativado.

  • A conexão WebSocket foi interrompida:se a conexão WebSocket for interrompida, não haverá comunicação entre o cliente e o servidor. Verifique o status da conexão WebSocket e confira se ela está estabelecida corretamente.

Não é possível interromper o modelo

Se não for possível interromper o modelo enquanto ele estiver falando, verifique se você está processando o buffer de reprodução e o áudio de streaming corretamente.

Comportamento

O modelo continua falando sem interrupção do usuário.

Possíveis motivos

  • Falha ao limpar o buffer de reprodução.
  • Falha ao transmitir áudio para a API Gemini Live.
  • O VAD personalizado não foi implementado corretamente.

Motivos e soluções

  • Falha ao limpar o buffer de reprodução:o cliente precisa limpar o buffer de reprodução imediatamente ao receber um sinal de interrupção do modelo. Caso contrário, o modelo vai continuar falando.

  • Falha ao transmitir áudio para a API Gemini Live:o cliente precisa transmitir áudio para a API Gemini Live em blocos entre 20 ms e 40 ms para minimizar a latência. Se o cliente não transmitir áudio para a API Gemini Live, o modelo não vai enviar um sinal de interrupção para o cliente.

  • O VAD personalizado não foi implementado corretamente: Se o VAD personalizado não reconhecer o início da fala ou o cliente não enviar o sinal ActivityStart para o modelo, o modelo não vai enviar um sinal de interrupção para o cliente.