La función de ejecución de código de la API de Gemini permite que el modelo genere y ejecute código Python, así como que aprenda de forma iterativa de los resultados hasta obtener un resultado final. Puedes usar esta función de ejecución de código para crear aplicaciones que se beneficien del razonamiento basado en código y que generen texto. Por ejemplo, puedes usar la ejecución de código en una aplicación que resuelva ecuaciones o procese texto.
La API de Gemini proporciona la ejecución de código como herramienta, de forma similar a las llamadas a funciones. Después de añadir la ejecución de código como herramienta, el modelo decide cuándo usarla.
Modelos admitidos
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash con la API Live (versión preliminar)
- Vertex AI Model Optimizer (experimental)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
Limitaciones
- La función no admite operaciones de entrada/salida de archivos.
- La ejecución del código puede durar un máximo de 30 segundos antes de agotarse el tiempo.
Sintaxis de ejemplo
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": {} }] }'
Lista de parámetros
Consulta los ejemplos para obtener más información sobre la implementación.
Python
Para habilitar la ejecución de código, especifica un tool
en tu solicitud.
CodeExecution
Herramienta que ejecuta el código generado por el modelo y devuelve automáticamente el resultado al modelo. Consulta también ExecutableCode y CodeExecutionResult, que son la entrada y la salida de esta herramienta.
Part
| Opcional:
Código generado por el modelo que se debe ejecutar.
|
| Opcional:
Resultado de la ejecución de [ExecutableCode].
|
ExecutableCode
| Obligatorio:
Lenguajes de programación admitidos para el Compatible:
|
| Obligatorio:
El código que se va a ejecutar.
|
CodeExecutionResult
| Obligatorio:
Resultado de la ejecución del código. Resultados posibles:
|
| Obligatorio:
Contiene |
Ejemplos
A continuación, se muestran ilustraciones de cómo puedes enviar una consulta y declaraciones de funciones al modelo.
Caso práctico básico
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'
Habilitar la ejecución de código en el modelo
Para habilitar la ejecución de código básica, consulta Ejecución de código.
Siguientes pasos
- Consulta más información sobre la API de Gemini.
- Más información sobre las llamadas a funciones
- Consulta más información sobre cómo generar contenido con Gemini.