La función de ejecución de código de la API de Gemini permite que el modelo genere y ejecute código de Python y aprenda de forma iterativa a partir de los resultados hasta llegar a 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 produzcan resultados de texto. Por ejemplo, puedes usar la ejecución de código en una aplicación que resuelve ecuaciones o procesa texto.
La API de Gemini proporciona la ejecución de código como una herramienta, de forma similar a las llamadas a funciones. Después de que agregas la ejecución de código como herramienta, el modelo decide cuándo usarla.
Modelos compatibles
Limitaciones
- La función no admite E/S de archivos.
- La ejecución de código puede ejecutarse durante un máximo de 30 segundos antes de que se agote el tiempo de espera.
Ejemplo de sintaxis
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 ejemplos para obtener detalles sobre la implementación.
Python
Para habilitar la ejecución de código, especifica un tool
de ejecución de código en tu solicitud.
CodeExecution
Es una herramienta que ejecuta el código que genera el modelo y muestra automáticamente el resultado al modelo. Consulta también ExecutableCode y CodeExecutionResult, que son la entrada y la salida de esta herramienta.
Part
| Opcional:
Es el código que genera el modelo y que se debe ejecutar.
|
| Opcional:
Es el resultado de ejecutar [ExecutableCode].
|
ExecutableCode
| Obligatorio:
Lenguajes de programación compatibles para el Compatibilidad:
|
| Obligatorio:
Es el código que se ejecutará.
|
CodeExecutionResult
| Obligatorio:
Es el 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 de uso 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'
Habilita 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.
¿Qué sigue?
- Obtén más información sobre la API de Gemini.
- Obtén más información sobre las llamadas a funciones.
- Obtén más información para generar contenido con Gemini.