Code execution dans Gemini
Gemini propose une fonctionnalité d'exécution de code en sandbox qui permet au modèle d'écrire et d'exécuter du code Python pour résoudre des problèmes nécessitant des calculs, de la manipulation de données ou des visualisations.
Comment ça fonctionne
Quand l'exécution de code est activée, Gemini peut : 1. Écrire du code Python pour résoudre votre problème 2. L'exécuter dans un environnement sandboxé sécurisé 3. Récupérer les résultats (texte, chiffres, graphiques) 4. Formuler sa réponse finale basée sur les résultats réels
Activation via l'API
import google.generativeai as genai
model = genai.GenerativeModel(
'gemini-2.5-pro',
tools=[genai.Tool(code_execution=genai.CodeExecution())]
)
response = model.generate_content(
"Calcule la moyenne mobile sur 7 jours de ces données : [12, 15, 13, 18, 22, 19, 25, 28, 30, 27]"
)
# Le résultat contient le code exécuté et sa sortie
for part in response.candidates[0].content.parts:
if part.executable_code:
print("Code:", part.executable_code.code)
if part.code_execution_result:
print("Résultat:", part.code_execution_result.output)Cas d'usage
Calculs mathématiques
- Statistiques complexes, probabilités
- Résolution d'équations
- Optimisation numérique
Analyse de données
- Traitement de CSV/JSON
- Calculs d'agrégation
- Détection d'anomalies dans des séries temporelles
Visualisations
- Graphiques avec matplotlib
- Diagrammes de distribution
- Courbes de tendance
Validation de raisonnement
- Vérifier un résultat par le calcul
- Tester une hypothèse avec une simulation
- Prouver une assertion par l'exemple
Bibliothèques disponibles
L'environnement sandbox inclut les bibliothèques Python standards ainsi que numpy, pandas et matplotlib. Les bibliothèques nécessitant un accès réseau ne sont pas disponibles.
Bonnes pratiques
- Utilisez le code execution pour tout ce qui implique des calculs précis
- Combinez avec du texte : demandez une explication en plus du résultat
- Pour les visualisations, précisez le type de graphique souhaité
- Le sandbox est éphémère : chaque exécution est indépendante
Limites
- Pas d'accès réseau dans le sandbox
- Temps d'exécution limité
- Uniquement Python
- Pas de persistance entre les exécutions