Use este guia para diagnosticar e resolver problemas comuns que surgem em você chamar a API Gemini. De modo geral, você pode encontrar problemas o serviço de back-end da API Gemini ou os SDKs do cliente. Nossos SDKs do cliente são nos seguintes repositórios:
- generative-ai-python
- generative-ai-js
- generative-ai-android
- generative-ai-swift
- generative-ai-dart
- generative-ai-go
Se você tiver problemas com a chave de API, verifique se configurou sua chave de API corretamente, de acordo com o guia de configuração da chave de API.
Códigos de erro do serviço de back-end da API Gemini
A tabela a seguir lista códigos de erro comuns de back-end que você pode encontrar, junto com com explicações sobre suas causas e etapas de solução de problemas:
Código HTTP | Status | Descrição | Exemplo | Solução |
400 | INVALID_ARGUMENT | O corpo da solicitação está incorreto. | Há um erro de digitação ou um campo obrigatório não foi preenchido na sua solicitação. | Confira a referência da API para ver o formato da solicitação, exemplos e versões compatíveis. O uso de recursos de uma versão mais recente da API com um endpoint mais antigo pode causar erros. |
400 | FAILED_PRECONDITION | O nível sem custo financeiro da API Gemini não está disponível no seu país. Ative o faturamento do seu projeto no Google AI Studio. | Você está fazendo uma solicitação em uma região onde não há suporte para o nível sem custo financeiro e não ativou o faturamento no seu projeto no Google AI Studio. | Para usar a API Gemini, você precisa configurar um plano pago usando o Google AI Studio. |
403 | PERMISSION_DENIED | Sua chave de API não tem as permissões necessárias. | Você está usando a chave de API errada. você estão tentando usar um modelo ajustado sem passar pela autenticação adequada. | Verifique se sua chave de API está definida e tem o acesso correto. Faça a autenticação adequada para usar os modelos ajustados. |
404 | NOT_FOUND | O recurso solicitado não foi encontrado. | Um arquivo de imagem, áudio ou vídeo mencionado na sua solicitação não foi encontrado. | Verifique se todos os parâmetros da solicitação são válidos para a versão da API. |
429 | RESOURCE_EXHAUSTED | Você ultrapassou o limite de taxa. | Você está enviando muitas solicitações por minuto com a API Gemini do nível sem custo financeiro. | Verifique se você está dentro do limite de taxa do modelo. Solicite um aumento de cota, se necessário. |
500 | INTERNAL | Ocorreu um erro inesperado no Google. | O contexto de entrada é muito longo. | Reduza o contexto de entrada ou mude temporariamente para outro modelo (por exemplo, do Gemini 1.5 Pro para o Gemini 1.5 Flash) e confira se funciona. Ou aguarde um pouco e tente fazer a solicitação novamente. Se o problema persistir após uma nova tentativa, use o botão Enviar feedback no Google AI Studio para relatar o problema. |
503 | INDISPONÍVEL | O serviço pode estar temporariamente sobrecarregado ou indisponível. | O serviço está temporariamente sem capacidade. | Troque temporariamente para outro modelo (por exemplo, do Gemini 1.5 Pro para o Gemini 1.5 Flash) e confira se funciona. Ou aguarde um pouco e tente fazer a solicitação novamente. Se o problema persistir após uma nova tentativa, use o botão Enviar feedback no Google AI Studio para relatar o problema. |
504 | DEADLINE_EXCEEDED | O serviço não pôde terminar o processamento dentro do prazo. | O comando (ou contexto) é muito grande para ser processado a tempo. | Definir um "tempo limite" maior na solicitação do cliente para evitar esse erro. |
Códigos de erro do SDK do cliente Python
A tabela a seguir lista os padrões Erro do SDK do cliente Python códigos que você pode encontrar, além de explicações sobre as causas:
Tipo de exceção/erro | Turma | Descrição |
---|---|---|
BlockedPromptException | google.generativeai.types.BlockedPromptException | O comando está bloqueado por motivos de segurança. |
BrokenResponseError | google.generativeai.types.BrokenResponseError | Uma resposta de streaming está corrompida. Gerado durante o acesso a algo que exige uma resposta completa, como o histórico de chat. Confira os detalhes do erro no stack trace. |
IncompleteIterationError | google.generativeai.types.IncompleteIterationError | Gerado durante o acesso a algo que requer uma resposta completa da API, mas uma resposta de streaming não foi totalmente iterada. Chame resolve() no objeto de resposta para consumir o iterador. |
StopCandidateException | google.generativeai.types.StopCandidateException | A API respondeu com um finish_reason excepcional. Verifique o motivo para receber orientações sobre como proceder. |
PermissionDenied | google.api_core.exceptions.PermissionDenied | Você não tem permissão para o recurso solicitado (por exemplo, modelo). |
ResourceExhausted | google.api_core.exceptions.ResourceExhausted | Sua cota se esgotou. Aguarde um momento e tente novamente. Considere configurar novas tentativas automatizadas para lidar com esses erros. |
AlreadyExists | google.api_core.exceptions.AlreadyExists | Já existe um modelo ajustado com o mesmo ID. Especifique um ID de modelo exclusivo ao ajustar um novo modelo. |
InvalidArgument | google.api_core.exceptions.InvalidArgument | Argumento inválido. Por exemplo, o arquivo é muito grande e excede o limite de tamanho do payload. Outro é uma chave de API inválida. |
DefaultCredentialsError | google.auth.exceptions.DefaultCredentialsError | Falha na autenticação. Verifique sua chave de API e tente novamente. |
RetryError | google.api_core.exceptions.RetryError | Pode ser causado ao usar um proxy incompatível com gRPC. Tente usar o transporte REST com genai.configure(..., transport="rest") . |
Verificar se há erros de parâmetro de modelo nas chamadas de API
Verifique se os parâmetros do modelo estão dentro dos seguintes valores:
Parâmetro do modelo | Valores (intervalo) |
Contagem de candidatos | 1 a 8 (inteiro) |
Temperatura | 0,0-1,0 |
Máximo de tokens de saída |
Usar
get_model (Python)
para determinar o número máximo de tokens do modelo que você está usando.
|
TopP | 0,0-1,0 |
Além de verificar os valores dos parâmetros, certifique-se de estar usando o
Versão da API (por exemplo, /v1
ou /v1beta
) e
de computação que oferece suporte
para os recursos de que você precisa. Por exemplo, se um recurso estiver na versão Beta
será disponibilizado apenas na versão /v1beta
da API.
Verifique se você tem o modelo certo
Use um modelo com suporte listado em nossa página de modelos.
Problemas de segurança
Caso você veja que uma solicitação foi bloqueada devido a uma configuração de segurança na sua chamada de API, revise o comando em relação aos filtros definidos na chamada de API.
Caso você veja BlockedReason.OTHER
, é possível que a consulta ou resposta viole os termos
de serviço ou não são suportados de outra forma.
Problema de recitação
Se o modelo parar de gerar saída por RECITAÇÃO, significa que a saída do modelo pode se assemelhar a certos dados. Para corrigir isso, tente fazer comando / contexto o mais exclusivo possível e usar uma temperatura mais alta.
Melhorar a saída do modelo
Para resultados de modelo de maior qualidade, escreva comandos mais estruturados. A a página de introdução à criação de comandos apresenta alguns conceitos básicos, estratégias e práticas recomendadas para você começar.
Se você tiver centenas de exemplos de bons pares de entrada/saída, também poderá considere o ajuste de modelos.
Entender os limites de tokens
Leia nosso guia de tokens para entender melhor como para contar tokens e seus limites.
Problemas conhecidos
- A API é compatível apenas com alguns idiomas selecionados. Enviando comandos em idiomas sem suporte podem produzir respostas inesperadas ou até mesmo bloqueadas. Consulte idiomas disponíveis para as atualizações.
Informar um bug
Participe da discussão no fórum para desenvolvedores de IA do Google caso tenha dúvidas.