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 ainsi que d'apprendre des résultats de façon itérative jusqu'à ce qu'il parvienne à une sortie finale. Vous pouvez vous servir de cette fonctionnalité pour créer des applications qui bénéficient d'un raisonnement basé sur du code et qui produisent des sorties textuelles. Par exemple, vous pouvez utiliser l'exécution de code dans une application qui résout des équations ou traite du texte.
L'API Gemini fournit l'exécution de code en tant qu'outil, tout comme l'appel de fonction. Une fois que vous l'avez ajoutée en tant qu'outil, le modèle décide quand l'utiliser.
Modèles compatibles
Limites
- Cette fonctionnalité n'est pas compatible avec l'E/S de fichiers.
- L'exécution du code peut s'exécuter pendant 30 secondes maximum avant expiration du délai.
Exemple de syntaxe
curl
PROJECT_ID = myproject REGION = us-central1 MODEL_ID = gemini-2.0-flash-001 https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "tools": [{ "code_execution": {} }] }'
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
Python
Pour activer l'exécution du code, spécifiez un tool
d'exécution du code dans votre requête.
CodeExecution
Outil qui exécute le code généré par le modèle et renvoie automatiquement le résultat au modèle. Consultez également ExecutableCode et CodeExecutionResult, qui sont les entrées et les sorties de cet outil.
Part
| Facultatif :
Code généré par le modèle et destiné à être exécuté.
|
| Facultatif :
Résultat de l'exécution du [ExecutableCode].
|
ExecutableCode
| Obligatoire :
Langages de programmation compatibles pour le Compatible :
|
| Obligatoire :
Code à exécuter.
|
CodeExecutionResult
| Obligatoire :
Résultat de l'exécution du code. Résultats possibles :
|
| Obligatoire :
Contient |
Examples
Voici des illustrations montrant comment envoyer une requête et des déclarations de fonction au modèle.
Cas d'utilisation de base
curl
PROJECT_ID = myproject REGION = us-central1 MODEL_ID = gemini-2.0-flash-001 curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ "role": "user", "parts": [{ "text": "Calculate 20th fibonacci number. Then find the nearest palindrome to it." }] }], "tools": [{'codeExecution': {}}], }'
Python
from google import genai from google.genai.types import Tool, ToolCodeExecution, GenerateContentConfig client = genai.Client() model_id = "gemini-2.0-flash-001" code_execution_tool = Tool( code_execution=ToolCodeExecution() ) response = client.models.generate_content( model=model_id, contents="Calculate 20th fibonacci number. Then find the nearest palindrome to it.", config=GenerateContentConfig( tools=[code_execution_tool], temperature=0, ), ) for part in response.candidates[0].content.parts: if part.executable_code: print(part.executable_code) if part.code_execution_result: print(part.code_execution_result) # Example response: # code='...' language='PYTHON' # outcome='OUTCOME_OK' output='The 20th Fibonacci number is: 6765\n' # code='...' language='PYTHON' # outcome='OUTCOME_OK' output='Lower Palindrome: 6666\nHigher Palindrome: 6776\nNearest Palindrome to 6765: 6776\n'
Activer l'exécution du code sur le modèle
Pour activer l'exécution de code de base, consultez Exécution de code.
Étape suivante
- Apprenez-en plus sur l'API Gemini.
- Apprenez-en plus sur les Appels de fonctions.
- Découvrez comment générer du contenu avec Gemini.