Risoluzione dei problemi dell'API Gemini Live

Questo documento fornisce i passaggi per la risoluzione dei problemi che potresti riscontrare quando utilizzi l'API Gemini Live.

Le connessioni si interrompono in modo imprevisto

Se la connessione alla sessione si interrompe in modo imprevisto, il problema potrebbe essere dovuto a limiti di token, timeout della connessione alla sessione o problemi di rete.

Comportamento

La sessione è stata disconnessa con il codice di errore 1000 o 1006.

Possibili motivi

  • La compressione della finestra contestuale non è abilitata e il token di contesto supera il limite di token di contesto della sessione (fino a 128k).
  • Non è stata implementata alcuna logica di ripresa della sessione o la logica di ripresa non è stata implementata correttamente.
  • Connessione a internet instabile.

Motivi e soluzioni

  • I token superano il limite di token di contesto della sessione: Per evitare di superare il limite di token di contesto della sessione, attiva la compressione del contesto. Ciò potrebbe influire sulla qualità della conversazione, poiché il modello scarterà a intermittenza le parti precedenti della cronologia chat.

  • La connessione alla sessione scade dopo 10 minuti: gestisci la ripresa della sessione per consentire interazioni più lunghe. Per ulteriori dettagli, consulta le best practice per la ripresa della sessione.

  • Connessione a internet instabile: verifica lo stato della connessione a internet, poiché le fluttuazioni della stabilità potrebbero causare problemi di connettività.

Il modello non è riuscito a comprendere l'utente

Se il modello non sembra comprendere l'input, assicurati che l'audio sia formattato correttamente e tieni conto della qualità del microfono e del rumore di fondo.

Comportamento

Il modello risponde con informazioni irrilevanti, risponde con informazioni errate o chiede all'utente di ripetere.

Possibili motivi

  • Il formato audio di input non è corretto.
  • La qualità del microfono non è buona.
  • Il rumore di fondo è troppo alto.

Motivi e soluzioni

  • Il formato audio di input non è corretto: Verifica che l'audio di input utilizzi un formato PCM a 16 bit little-endian con una frequenza di campionamento di 16 kHz e un singolo canale mono.

  • La qualità del microfono non è buona: Verifica la qualità del microfono registrando un breve audio e riproducendolo. Se la qualità del microfono non è buona, prova a utilizzare un microfono di qualità migliore.

  • Il rumore di fondo è troppo alto: verifica il livello di rumore di fondo registrando un breve audio e riproducendolo. Se il livello di rumore di fondo è troppo alto, prova ad avvicinare il microfono all'utente o a utilizzare un microfono con una migliore cancellazione del rumore.

Il modello non risponde

Se non ricevi una risposta dal modello, controlla le opzioni di rilevamento dell'attività vocale e la connessione WebSocket.

Comportamento

Nessuna risposta dal modello.

Possibili motivi

  • Le impostazioni VAD non sono impostate correttamente.
  • La connessione WebSocket è stata interrotta.

Motivi e soluzioni

  • VAD impostato in modo errato: VAD è disattivato dall'utente. In questo caso, il modello continuerà ad attendere il discorso dell'utente e non risponderà all'utente. Assicurati di inviare gli eventi ActivityStart e ActivityEnd al modello se il VAD è disattivato.

  • La connessione WebSocket è stata interrotta: se la connessione WebSocket viene interrotta, non ci sarà alcuna comunicazione tra il client e il server. Controlla lo stato della connessione WebSocket e assicurati che sia stabilita correttamente.

Impossibile interrompere il modello

Se non riesci a interrompere il modello mentre parla, assicurati di gestire correttamente il buffer di riproduzione e lo streaming audio.

Comportamento

Il modello continua a parlare senza interruzioni da parte dell'utente.

Possibili motivi

  • Impossibile svuotare il buffer di riproduzione.
  • Impossibile eseguire lo streaming audio all'API Gemini Live.
  • Il VAD personalizzato non è implementato correttamente.

Motivi e soluzioni

  • Impossibile svuotare il buffer di riproduzione: il client deve svuotare immediatamente il buffer di riproduzione quando riceve un segnale di interruzione dal modello. In caso contrario, il modello continuerà a parlare.

  • Impossibile eseguire lo streaming audio all'API Gemini Live: il client deve eseguire lo streaming audio all'API Gemini Live in blocchi compresi tra 20 ms e 40 ms per ridurre al minimo la latenza. Se il client non riesce a eseguire lo streaming audio all'API Gemini Live, il modello non invierà un segnale di interruzione al client.

  • Il VAD personalizzato non è implementato correttamente: se il VAD personalizzato non riesce a riconoscere l'inizio del discorso o il client non riesce a inviare il segnale ActivityStart al modello, il modello non invierà un segnale di interruzione al client.