La funzionalità di esecuzione del codice dell'API Gemini consente al modello di generare ed eseguire il 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 traggono vantaggio dal ragionamento basato sul codice e che producono output di testo. Ad esempio, potresti utilizzare l'esecuzione del codice in un'applicazione che risolve equazioni o elabora 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 decide quando utilizzarlo.
Modelli supportati
- Gemini 2.5 Flash (anteprima)
- Gemini 2.5 Flash-Lite (anteprima)
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash con API Live (anteprima)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
Limitazioni
- La funzionalità non supporta l'I/O dei 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 tool
nella richiesta.
CodeExecution
Strumento che esegue il codice generato dal modello e restituisce automaticamente il risultato al modello. Vedi 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 Supportato:
|
| Obbligatorio:
Il codice da eseguire.
|
CodeExecutionResult
| Obbligatorio:
Risultato dell'esecuzione del codice. Possibili risultati:
|
| Obbligatorio:
Contiene |
Esempi
Ecco alcune illustrazioni di come puoi inviare una query e dichiarazioni di funzioni 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'
Abilita l'esecuzione del codice sul modello
Per attivare l'esecuzione di base del codice, consulta Esecuzione del codice.
Passaggi successivi
- Scopri di più sull'API Gemini.
- Scopri di più sulla chiamata di funzioni.
- Scopri di più sulla generazione di contenuti con Gemini.