La funzionalità di esecuzione del codice dell'API Gemini consente al modello di generare ed eseguire codice Python e di apprendere in modo iterativo dai risultati fino a ottenere un output finale. Puoi utilizzare questa funzionalità di esecuzione del codice per creare applicazioni che beneficiano del ragionamento basato su codice e producono output di testo. Ad esempio, puoi utilizzare l'esecuzione di codice in un'applicazione che risolve equazioni o elabora il testo.
L'API Gemini fornisce l'esecuzione del codice come strumento, in modo simile alla chiamata di funzione. Dopo aver aggiunto l'esecuzione del codice come strumento, è il modello a decidere quando utilizzarlo.
Modelli supportati
Limitazioni
- La funzionalità non supporta l'I/O file.
- L'esecuzione del codice può durare al massimo 30 secondi prima del timeout.
Sintassi di esempio
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": {} }] }'
Elenco dei parametri
Per informazioni dettagliate sull'implementazione, consulta gli esempi.
Python
Per attivare l'esecuzione del codice, specifica un'esecuzione del codice tool
nella richiesta.
CodeExecution
Strumento che esegue il codice generato dal modello e restituisce automaticamente il risultato al modello. Consulta anche ExecutableCode e CodeExecutionResult, che sono input e output di questo strumento.
Part
| (Facoltativo)
Codice generato dal modello che deve essere eseguito.
|
| (Facoltativo)
Risultato dell'esecuzione di [ExecutableCode].
|
ExecutableCode
| Obbligatorio:
Linguaggi di programmazione supportati per il file Supportato:
|
| Obbligatorio:
Il codice da eseguire.
|
CodeExecutionResult
| Obbligatorio:
Risultato dell'esecuzione del codice. Possibili risultati:
|
| Obbligatorio:
Contiene |
Esempi
Di seguito sono riportate alcune illustrazioni di come inviare una query e dichiarazioni di funzione al modello.
Caso d'uso di 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'
Attiva l'esecuzione del codice sul modello
Per attivare l'esecuzione di codice di base, consulta Esecuzione di codice.
Passaggi successivi
- Scopri di più sull'API Gemini.
- Scopri di più sulle chiamate alle funzioni.
- Scopri di più sulla generazione di contenuti con Gemini.