Ce guide vous aidera à diagnostiquer et à résoudre les problèmes courants vous appelez l'API Gemini. De manière générale, vous pouvez rencontrer des problèmes le service de backend de l'API Gemini ou les SDK clients. Nos SDK clients sont en Open Source dans les dépôts suivants:
- generative-ai-python
- generative-ai-js
- generative-ai-android
- generative-ai-swift
- generative-ai-dart
- generative-ai-go
Si vous rencontrez des problèmes de clé API, assurez-vous d'avoir configuré votre clé API en suivant les instructions du guide de configuration des clés API.
Codes d'erreur du service de backend de l'API Gemini
Le tableau suivant répertorie les codes d'erreur de backend courants que vous pouvez rencontrer, ainsi que en expliquant les causes et en suivant les étapes de dépannage:
Code HTTP | État | Description | Exemple | Solution |
400 | INVALID_ARGUMENT | Le corps de la requête est mal formé. | Votre demande comporte une faute de frappe ou un champ obligatoire manquant. | Consultez la documentation de référence de l'API pour connaître le format de la requête, des exemples et les versions compatibles. L'utilisation des fonctionnalités d'une version d'API plus récente avec un point de terminaison plus ancien peut entraîner des erreurs. |
400 | FAILED_PRECONDITION | La version sans frais de l'API Gemini n'est pas disponible dans votre pays. Veuillez activer la facturation pour votre projet dans Google AI Studio. | Vous envoyez une demande dans une région où la version sans frais n'est pas disponible, et vous n'avez pas activé la facturation pour votre projet dans Google AI Studio. | Pour utiliser l'API Gemini, vous devez configurer un forfait payant à l'aide de Google AI Studio. |
403 | PERMISSION_DENIED | Votre clé API ne dispose pas des autorisations requises. | Vous utilisez la mauvaise clé API. vous essaient d'utiliser un modèle réglé sans passer par une authentification appropriée. | Vérifiez que votre clé API est définie et dispose du bon accès. Assurez-vous de passer par l'authentification appropriée pour utiliser les modèles réglés. |
404 | NOT_FOUND | La ressource demandée est introuvable. | Un fichier image, audio ou vidéo référencé dans votre demande est introuvable. | Vérifiez si tous les paramètres de votre requête sont valides pour la version de votre API. |
429 | RESOURCE_EXHAUSTED | Vous avez dépassé la limite de trafic. | Vous envoyez trop de requêtes par minute avec la version sans frais de l'API Gemini. | Vérifiez que vous respectez bien la limite de débit du modèle. Si nécessaire, demandez une augmentation de quota. |
500 | INTERNAL | Une erreur inattendue s'est produite côté Google. | Votre contexte d'entrée est trop long. | Réduisez votre contexte d'entrée ou passez temporairement à un autre modèle (par exemple, de Gemini 1.5 Pro à Gemini 1.5 Flash) et voyez s'il fonctionne. Vous pouvez également attendre un peu et relancer votre requête. Si le problème persiste après une nouvelle tentative, veuillez le signaler à l'aide du bouton Envoyer des commentaires dans Google AI Studio. |
503 | UNAVAILABLE | Le service peut être temporairement surchargé ou en panne. | Le service manque temporairement de capacité. | Passez temporairement à un autre modèle (par exemple, de Gemini 1.5 Pro à Gemini 1.5 Flash) et voyez s'il fonctionne. Vous pouvez également attendre un peu et relancer votre requête. Si le problème persiste après une nouvelle tentative, veuillez le signaler à l'aide du bouton Envoyer des commentaires dans Google AI Studio. |
504 | DEADLINE_EXCEEDED | Le service ne peut pas terminer le traitement dans le délai imparti. | Votre requête (ou votre contexte) est trop volumineuse pour être traitée à temps. | Définir un "délai avant expiration" plus long dans votre requête client pour éviter cette erreur. |
Codes d'erreur du SDK client Python
Le tableau suivant répertorie les types Erreur SDK client Python codes que vous pourriez rencontrer, ainsi que les causes de ces problèmes:
Type d'exception/d'erreur | Classe | Description |
---|---|---|
BlockedPromptException | google.generativeai.types.BlockedPromptException | L'invite est bloquée pour des raisons de sécurité. |
BrokenResponseError | google.generativeai.types.BrokenResponseError | Une réponse en flux continu est défectueuse. Générée lors de l'accès à un élément qui nécessite une réponse complète, tel que l'historique des discussions. Consultez les détails de l'erreur fournis dans la trace de la pile. |
IncompleteIterationError | google.generativeai.types.IncompleteIterationError | Générée lors de l'accès à un élément qui nécessite une réponse API complète, alors qu'une réponse en flux continu n'a pas été entièrement itérée. Appelez resolve() sur l'objet de réponse pour utiliser l'itérateur. |
StopCandidateException | google.generativeai.types.StopCandidateException | L'API a répondu avec un finish_reason exceptionnel. Consultez la raison pour obtenir des conseils sur la marche à suivre. |
PermissionDenied | google.api_core.exceptions.PermissionDenied | Vous ne disposez pas des autorisations nécessaires pour utiliser la ressource demandée (par exemple, le modèle). |
ResourceExhausted | google.api_core.exceptions.ResourceExhausted | Votre quota est épuisé. Veuillez patienter quelque temps, puis réessayer. Envisagez de configurer des tentatives automatiques pour gérer ces erreurs. |
AlreadyExists | google.api_core.exceptions.AlreadyExists | Un modèle réglé avec le même ID existe déjà. Veuillez spécifier un ID de modèle unique lorsque vous ajustez un nouveau modèle. |
InvalidArgument | google.api_core.exceptions.InvalidArgument | Argument non valide. Par exemple, le fichier est trop volumineux et dépasse la limite de taille de la charge utile. Une autre méthode consiste à fournir une clé API non valide. |
DefaultCredentialsError | google.auth.exceptions.DefaultCredentialsError | Échec de l'authentification. Veuillez vérifier votre clé API et réessayer. |
RetryError | google.api_core.exceptions.RetryError | Ce problème peut survenir lors de l'utilisation d'un proxy non compatible avec gRPC. Essayez d'utiliser le transport REST avec genai.configure(..., transport="rest") . |
Rechercher les erreurs de paramètres du modèle dans vos appels d'API
Assurez-vous que les paramètres de votre modèle sont compris dans les valeurs suivantes:
Paramètre du modèle | Valeurs (plage) |
Nombre de candidats | 1-8 (entier) |
Température | 0,0-1,0 |
Nombre maximal de jetons de sortie |
Utilisez
get_model (Python)
pour déterminer le nombre maximal de jetons pour le modèle que vous utilisez.
|
TopP | 0,0-1,0 |
En plus de vérifier les valeurs des paramètres, assurez-vous d'utiliser les bonnes
Version de l'API (par exemple, /v1
ou /v1beta
) et
compatible avec les fonctionnalités dont vous avez besoin. Par exemple, si une fonctionnalité est en version bêta
elle ne sera disponible que dans la version de l'API /v1beta
.
Vérifier que vous disposez du bon modèle
Assurez-vous d'utiliser un modèle compatible listé dans notre du modèle.
Problèmes de sécurité
Si vous voyez qu'une invite a été bloquée en raison d'un paramètre de sécurité dans votre appel d'API, Examinez la requête par rapport aux filtres que vous avez définis dans l'appel d'API.
Si le message BlockedReason.OTHER
s'affiche, il est possible que la requête ou la réponse enfreignent les conditions
de service ou n'est pas compatible.
Problème de récitation
Si vous constatez que le modèle cesse de générer des résultats pour le motif RECITATION, signifie que la sortie du modèle peut ressembler à certaines données. Pour résoudre ce problème, requête / contexte aussi unique que possible et utilisez une température plus élevée.
Améliorer la sortie du modèle
Pour obtenir des résultats de modèle de meilleure qualité, envisagez de rédiger des requêtes plus structurées. La introduction à la conception de requête présente quelques concepts de base, stratégies et bonnes pratiques pour bien démarrer.
Si vous disposez de centaines d'exemples de bonnes paires entrée/sortie, vous pouvez également pensez au réglage de modèle.
Comprendre les limites de jetons
Consultez notre guide des jetons pour mieux comprendre pour compter les jetons et leurs limites.
Problèmes connus
- L'API n'est compatible qu'avec certaines langues. Envoyer des requêtes dans des langues non prises en charge peuvent produire des réponses inattendues, voire bloquées. Voir langues disponibles pour plus d'informations.
Signaler un bug
Participez à la discussion sur le forum des développeurs IA de Google si vous avez des questions.