A funcionalidade de execução de código da API Gemini permite que o modelo gere e execute código Python, e aprenda iterativamente com os resultados até chegar a um resultado final. Pode usar esta capacidade de execução de código para criar aplicações que beneficiem do raciocínio baseado em código e que produzam resultados de texto. Por exemplo, pode usar a execução de código numa aplicação que resolva equações ou processe texto.
A API Gemini oferece a execução de código como uma ferramenta, semelhante à chamada de funções. Depois de adicionar a execução de código como ferramenta, o modelo decide quando a usar.
Modelos suportados
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash com API Live (pré-visualização)
- Vertex AI Model Optimizer (experimental)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
Limitações
- A funcionalidade não suporta E/S de ficheiros.
- A execução do código pode durar um máximo de 30 segundos antes de atingir o limite de tempo.
Sintaxe de exemplo
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
Consulte exemplos para ver detalhes de implementação.
Python
Para ativar a execução de código, especifique um tool
de execução de código no seu pedido.
CodeExecution
Ferramenta que executa o código gerado pelo modelo e devolve automaticamente o resultado ao modelo. Consulte também ExecutableCode e CodeExecutionResult, que são introduzidos e produzidos por esta ferramenta.
Part
| Opcional:
Código gerado pelo modelo que se destina a ser executado.
|
| Opcional:
Resultado da execução do [ExecutableCode].
|
ExecutableCode
| Obrigatório:
Idiomas de programação suportados para o Suportado:
|
| Obrigatório:
O código a ser executado.
|
CodeExecutionResult
| Obrigatório:
Resultado da execução do código. Possíveis resultados:
|
| Obrigatório:
Contém |
Exemplos
Seguem-se ilustrações de como pode enviar uma consulta e declarações de funções ao modelo.
Exemplo de utilização 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'
Ative a execução de código no modelo
Para ativar a execução de código básica, consulte Execução de código.
O que se segue?
- Saiba mais sobre a API Gemini.
- Saiba mais sobre a chamada de funções.
- Saiba como gerar conteúdo com o Gemini.