Guida alla risoluzione dei problemi

Utilizza questa guida per diagnosticare e risolvere i problemi più comuni che si verificano quando che chiamiamo l'API Gemini. A livello generale, potresti riscontrare problemi il servizio di backend dell'API Gemini o gli SDK client. Gli SDK dei nostri client sono open source nei seguenti repository:

Se riscontri problemi relativi alle chiavi API, assicurati di aver configurato la tua chiave API correttamente in base alla guida alla configurazione della chiave API.

Codici di errore del servizio di backend dell'API Gemini

La tabella seguente elenca i codici di errore comuni del backend che potresti riscontrare, insieme con spiegazioni delle cause e procedure per la risoluzione dei problemi:

Codice HTTP Stato Descrizione Esempio Soluzione
400 INVALID_ARGUMENT Il corpo della richiesta non è valido. La tua richiesta contiene un errore di battitura o un campo obbligatorio mancante. Controlla il riferimento API per il formato della richiesta, gli esempi e le versioni supportate. L'utilizzo di funzionalità di una versione più recente dell'API con un endpoint meno recente può causare errori.
400 FAILED_PRECONDITION Il Livello senza costi dell'API Gemini non è disponibile nel tuo paese. Abilita la fatturazione per il tuo progetto in Google AI Studio. Stai effettuando una richiesta in una regione in cui il livello senza costi non è supportato e non hai abilitato la fatturazione per il tuo progetto in Google AI Studio. Per utilizzare l'API Gemini, devi configurare un piano a pagamento utilizzando Google AI Studio.
403 PERMISSION_DENIED La tua chiave API non dispone delle autorizzazioni necessarie. Stai utilizzando la chiave API sbagliata. tu stai tentando di utilizzare un modello ottimizzato senza seguire un'autenticazione corretta. Verifica che la chiave API sia impostata e che disponga dell'accesso corretto. Inoltre, assicurati di seguire la procedura di autenticazione adeguata per utilizzare i modelli ottimizzati.
404 NOT_FOUND Impossibile trovare la risorsa richiesta. Impossibile trovare un file immagine, audio o video a cui viene fatto riferimento nella tua richiesta. Controlla se tutti i parametri nella tua richiesta sono validi per la tua versione API.
429 RESOURCE_EXHAUSTED Hai superato il limite di frequenza. Stai inviando troppe richieste al minuto con l'API Gemini del livello senza costi. Assicurati di rientrare nel limite di frequenza del modello. Se necessario, richiedi un aumento della quota.
500 INTERNAL Si è verificato un errore imprevisto da parte di Google. Il contesto di input è troppo lungo. Riduci il contesto di input o passa temporaneamente a un altro modello (ad es. da Gemini 1.5 Pro a Gemini 1.5 Flash) e controlla se funziona. In alternativa, attendi qualche istante e riprova a effettuare la richiesta. Se il problema persiste dopo aver riprovato, segnalalo utilizzando il pulsante Invia feedback in Google AI Studio.
503 UNAVAILABLE Il servizio potrebbe essere temporaneamente sovraccarico o non disponibile. Il servizio sta temporaneamente esaurendo la capacità. Passa temporaneamente a un altro modello (ad es. da Gemini 1.5 Pro a Gemini 1.5 Flash) e controlla se funziona. In alternativa, attendi qualche istante e riprova a effettuare la richiesta. Se il problema persiste dopo aver riprovato, segnalalo utilizzando il pulsante Invia feedback in Google AI Studio.
504 DEADLINE_EXCEEDED Il servizio non è in grado di completare l'elaborazione entro la scadenza. Il prompt (o il contesto) è troppo grande per essere elaborato in tempo. Imposta un "timeout" più lungo nella richiesta del client per evitare questo errore.

Codici di errore dell'SDK del client Python

Nella tabella seguente sono elencati i comuni Errore dell'SDK client Python codici che potresti incontrare, insieme alle relative cause:

Tipo di eccezione/errore Classe Descrizione
BlockedPromptException google.generativeai.types.BlockedPromptException La richiesta è bloccata per motivi di sicurezza.
BrokenResponseError google.generativeai.types.BrokenResponseError Una risposta in modalità flusso non funziona. Segnalato quando si accede a qualcosa che richiede una risposta completa, ad esempio la cronologia chat. Visualizza i dettagli dell'errore forniti nell'analisi dello stack.
IncompleteIterationError google.generativeai.types.IncompleteIterationError Rilevata quando si accede a qualcosa che richiede una risposta API completa, ma una risposta in modalità flusso non è stata completamente iterata. Richiama resolve() sull'oggetto di risposta per utilizzare l'iteratore.
StopCandidateException google.generativeai.types.StopCandidateException L'API ha risposto con un finish_reason eccezionale. Controlla il motivo dei consigli su come procedere.
PermissionDenied google.api_core.exceptions.PermissionDenied Non hai l'autorizzazione per la risorsa richiesta (ad es. modello).
ResourceExhausted google.api_core.exceptions.ResourceExhausted La tua quota è esaurita. Riprova tra un istante. Valuta la possibilità di configurare nuovi tentativi automatici per gestire questi errori.
AlreadyExists google.api_core.exceptions.AlreadyExists Esiste già un modello ottimizzato con lo stesso ID. Specifica un ID modello univoco durante l'ottimizzazione di un nuovo modello.
InvalidArgument google.api_core.exceptions.InvalidArgument Argomento non valido. Ad esempio, il file è troppo grande e supera il limite di dimensioni del payload. Un altro sta fornendo una chiave API non valida.
DefaultCredentialsError google.auth.exceptions.DefaultCredentialsError L'autenticazione non riesce. Controlla la chiave API e riprova.
RetryError google.api_core.exceptions.RetryError Può verificarsi quando si utilizza un proxy che non supporta gRPC. Prova a utilizzare il trasporto REST con genai.configure(..., transport="rest").

Verifica la presenza di errori nei parametri del modello nelle chiamate API

Assicurati che i parametri del modello rientrino nei seguenti valori:

Parametro modello Valori (intervallo)
Numero di candidati 1-8 (numero intero)
Temperatura 0,0-1,0
Numero massimo di token di output Utilizza le funzionalità di get_model (Python) per determinare il numero massimo di token per il modello che stai utilizzando.
TopP 0,0-1,0

Oltre a controllare i valori dei parametri, assicurati di utilizzare i valori corretti Versione API (ad es. /v1 o /v1beta) e che supporti le caratteristiche di cui hai bisogno. Ad esempio, se una funzionalità è in versione beta , sarà disponibile solo nella versione API /v1beta.

Verifica di avere il modello giusto

Assicurati di utilizzare uno dei modelli supportati elencati nel nostro pagina Modelli.

Problemi di sicurezza

Se vedi che una richiesta è stata bloccata a causa di un'impostazione di sicurezza nella chiamata API, esaminare il prompt in base ai filtri impostati nella chiamata API.

Se visualizzi BlockedReason.OTHER, la query o la risposta potrebbe violare i termini di servizio o non essere supportati in altro modo.

Problema relativo alla citazione

Se vedi che il modello smette di generare output a causa del motivo RECITATION, questo significa che l'output del modello potrebbe assomigliare a determinati dati. Per risolvere il problema, prova a il prompt / il contesto più univoci possibile e usare una temperatura più alta.

Migliora l'output del modello

Per ottenere output del modello di qualità superiore, esplora la scrittura di prompt più strutturati. La la pagina introduzione alla progettazione dei prompt introduce alcuni concetti di base, strategie e best practice per iniziare.

Se hai centinaia di esempi di buone coppie input/output, puoi anche prendi in considerazione l'ottimizzazione del modello.

Informazioni sui limiti dei token

Leggi la nostra guida ai token per comprendere meglio come per contare i token e i relativi limiti.

Problemi noti

  • L'API supporta solo un certo numero di lingue selezionate. Invio di prompt in lingue non supportate possono produrre risposte impreviste o persino bloccate. Consulta: lingue disponibili per gli aggiornamenti.

Segnala un bug

Partecipa alla discussione nel forum degli sviluppatori di IA di Google se avete domande.