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érative à partir des résultats jusqu'à l'obtention d'une sortie finale. Vous pouvez utiliser cette fonctionnalité d'exécution de code pour créer des applications qui bénéficient d'un raisonnement basé sur le code et qui génèrent 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 de code est disponible à la fois dans AI Studio et dans l'API Gemini. Dans AI Studio, vous pouvez activer l'exécution de code dans le panneau de droite sous Tools (Outils). L'API Gemini fournit l'exécution de code en tant qu'outil, semblable aux appels de fonctions. 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 de code comprend 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.

Avant de commencer

Avant d'appeler l'API Gemini, assurez-vous d'avoir installé le SDK de votre choix et d'avoir configuré une clé API Gemini prête à l'emploi.

Premiers pas avec l'exécution de code

Entrée/sortie (E/S)

À partir de Gemini 2.0 Flash, l'exécution de code accepte la saisie de fichiers et la sortie de graphiques. À l'aide de 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 dans la réponse.

Tarifs d'E/S

Lorsque vous utilisez des 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
  • Résultat 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 des E/S 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 du jeton de modèle. Dans AI Studio, si vous utilisez Gemini Flash 2.0, la taille maximale du fichier d'entrée est d'un million de jetons (environ 2 Mo pour les fichiers texte des types d'entrée compatibles). Si vous importez un fichier trop volumineux, AI Studio ne vous autorisera pas à l'envoyer.
Un seul tour Bidirectionnelle (API multimodale en direct)
Modèles compatibles Tous les modèles Gemini 2.0 Modèles expérimentaux Flash uniquement
Types d'entrée de fichier 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 traçage compatibles Matplotlib Matplotlib
Utilisation d'outils multiples Non Oui

Facturation

L'activation de l'exécution de code depuis l'API Gemini n'entraîne aucuns frais supplémentaires. 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 n'êtes 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 du 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 d'exécution de code sont également comptabilisés en tant que jetons de sortie.

Le modèle de facturation est illustré dans le schéma suivant:

modèle de facturation pour l'exécution du code

  • Vous êtes facturé au tarif actuel des jetons d'entrée et de sortie, selon le modèle Gemini que vous utilisez.
  • Si Gemini utilise l'exécution de code lors de la génération de votre réponse, l'invite d'origine, le code généré et le résultat du code exécuté sont libellés jetons intermédiaires et sont facturés en tant que jetons d'entrée.
  • Gemini génère ensuite un résumé et renvoie le code généré, le résultat du code exécuté et le résumé final. Ceux-ci sont facturés en tant que jetons de sortie.
  • L'API Gemini inclut un nombre de jetons intermédiaire dans la réponse de l'API. Vous savez donc pourquoi vous obtenez des jetons d'entrée supplémentaires en plus de votre requête initiale.

Limites

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