Este documento fornece etapas de solução de problemas que podem ocorrer ao usar a API Gemini Live.
A conexão cai inesperadamente
Se a conexão da sessão cair inesperadamente, o motivo pode ser limites de token, tempos 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.
Motivos possíveis
- A compactação da janela de contexto não está ativada, e o token de contexto excede o limite de tokens 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 tokens de contexto da sessão:para evitar exceder o limite de tokens de contexto da sessão, ative a compactação de contexto. Isso pode afetar a qualidade da conversa, já que o modelo descarta 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 flutuações na estabilidade podem resultar em problemas de conectividade.
O modelo não entendeu o usuário
Se o modelo não parecer entender seu comando, 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 para o usuário repetir.
Motivos possíveis
- O formato do á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 melhor.
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 use 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.
Motivos possíveis
- 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 usuário desativou a VAD. Nesse caso, o modelo vai continuar esperando a fala do usuário e não vai responder. Envie eventos
ActivityStarteActivityEndao modelo se a VAD estiver desativada.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 foi estabelecida corretamente.
Não é possível interromper o modelo
Se não for possível interromper o modelo enquanto ele fala, 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.
Motivos possíveis
- 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 partes entre 20 ms e 40 ms para minimizar a latência. Se o cliente não conseguir transmitir áudio para a API Gemini Live, o modelo não enviará um sinal de interrupção para ele.
A VAD personalizada não está implementada corretamente:se a VAD personalizada não reconhecer o início da fala ou o cliente não enviar o sinal
ActivityStartao modelo, ele não enviará um sinal de interrupção ao cliente.