Exécution du code

La fonctionnalité d'exécution de code de l'API Gemini permet au modèle de générer et d'exécuter du code Python, et d'apprendre de manière itérée à partir des résultats jusqu'à obtenir un résultat final. Vous pouvez utiliser cette fonctionnalité d'exécution de code pour créer des applications qui bénéficient du raisonnement basé sur le code et qui produisent une sortie textuelle. Par exemple, vous pouvez utiliser l'exécution de code dans une application qui résout des équations ou traite du texte.

L'exécution du code est disponible à la fois dans AI Studio et dans l'API Gemini. Dans AI Studio, vous pouvez activer l'exécution du code dans le panneau de droite sous Outils. L'API Gemini fournit l'exécution de code en tant qu'outil, semblable à l'appel de fonction. Une fois que vous avez ajouté l'exécution de code en tant qu'outil, le modèle décide quand l'utiliser.

L'environnement d'exécution du code inclut les bibliothèques suivantes : altair, chess, cv2, matplotlib, mpmath, numpy, pandas, pdfminer, reportlab, seaborn, sklearn, statsmodels, striprtf, sympy et tabulate. Vous ne pouvez pas installer vos propres bibliothèques.

Premiers pas avec l'exécution de code

Cette section suppose que vous avez suivi les étapes de configuration et de configuration décrites dans le guide de démarrage rapide.

Entrée/Sortie (E/S)

À partir de Gemini 2.0 Flash, l'exécution de code est compatible avec l'entrée de fichiers et la sortie de graphiques. Grâce à ces nouvelles fonctionnalités d'entrée et de sortie, vous pouvez importer des fichiers CSV et texte, poser des questions sur les fichiers et générer des graphiques Matplotlib en réponse.

Tarifs des E/S

Lorsque vous utilisez l'E/S d'exécution de code, les jetons d'entrée et de sortie vous sont facturés:

Jetons d'entrée:

  • Requête de l'utilisateur

Jetons de sortie:

  • Code généré par le modèle
  • Sortie de l'exécution du code dans l'environnement de code
  • Résumé généré par le modèle

Détails des E/S

Lorsque vous travaillez avec les entrées/sorties d'exécution de code, tenez compte des détails techniques suivants:

  • La durée d'exécution maximale de l'environnement de code est de 30 secondes.
  • Si l'environnement de code génère une erreur, le modèle peut décider de générer à nouveau la sortie du code. Cela peut se produire jusqu'à cinq fois.
  • La taille maximale d'entrée de fichier est limitée par la fenêtre de jeton du modèle. Dans AI Studio, avec Gemini Flash 2.0, la taille maximale du fichier d'entrée est de 1 million de jetons (environ 2 Mo pour les fichiers texte des types d'entrée acceptés). Si vous importez un fichier trop volumineux, AI Studio ne vous permettra pas de l'envoyer.
Un seul tour Bidirectionnel (API Multimodal Live)
Modèles compatibles Tous les modèles Gemini 2.0 Modèles expérimentaux Flash uniquement
Types de fichiers acceptés .png, .jpeg, .csv, .xml, .cpp, .java, .py, .js et .ts .png, .jpeg, .csv, .xml, .cpp, .java, .py, .js et .ts
Bibliothèques de tracé compatibles Matplotlib Matplotlib
Utilisation de plusieurs outils Non Oui

Facturation

L'activation de l'exécution de code à partir de l'API Gemini n'entraîne aucun coût supplémentaire. Vous serez facturé au tarif actuel des jetons d'entrée et de sortie en fonction du modèle Gemini que vous utilisez.

Voici quelques autres points à connaître concernant la facturation de l'exécution du code:

  • Vous ne serez facturé qu'une seule fois pour les jetons d'entrée que vous transmettez au modèle, et pour les jetons de sortie finaux qui vous sont renvoyés par le modèle.
  • Les jetons représentant le code généré sont comptabilisés comme des jetons de sortie. Le code généré peut inclure du texte et une sortie multimodale, comme des images.
  • Les résultats de l'exécution du code sont également comptabilisés comme des jetons de sortie.

modèle de facturation basé sur l'exécution du code ;

  • Vous êtes facturé au tarif actuel des jetons d'entrée et de sortie en fonction du modèle Gemini que vous utilisez.
  • Si Gemini utilise l'exécution de code pour générer votre réponse, la requête d'origine, le code généré et le résultat du code exécuté sont désignés comme jetons intermédiaires et sont facturés en tant que jetons d'entrée.
  • Gemini génère ensuite un récapitulatif et renvoie le code généré, le résultat du code exécuté et le récapitulatif final. Ils sont facturés en tant que jetons de sortie.
  • L'API Gemini inclut un nombre de jetons intermédiaires dans la réponse de l'API afin que vous sachiez pourquoi vous recevez des jetons d'entrée supplémentaires au-delà de votre invite initiale.

Limites

  • Le modèle ne peut générer et exécuter que du code. Il ne peut pas renvoyer d'autres artefacts tels que des fichiers multimédias.
  • Dans certains cas, l'activation de l'exécution de code peut entraîner des régressions dans d'autres domaines de la sortie du modèle (par exemple, l'écriture d'une histoire).
  • La capacité des différents modèles à utiliser l'exécution de code avec succès varie.