Pular para o conteúdo principal

Permita a execução de código pelos agentes

A Databricks oferece system.ai.python_exec, uma função integrada do Unity Catalog que permite a execução de código Python por agentes de AI, seja escrito pelo agente, fornecido por um usuário ou recuperado de uma base de código. Ele está disponível por default e pode ser usado diretamente em uma query SQL:

SQL
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")

Para saber mais sobre as ferramentas do agente, consulte Conectar agentes a ferramentas.

Adicione o intérprete de código ao seu agente

Para adicionar python_exec ao seu agente, conecte-se ao servidor MCP gerenciado para o esquema system.ai do Unity Catalog. O interpretador de código está disponível como uma ferramenta MCP pré-configurada em https://<workspace-hostname>/api/2.0/mcp/functions/system/ai/python_exec.

Python
from agents import Agent, Runner
from databricks.sdk import WorkspaceClient
from databricks_openai.agents import McpServer

# WorkspaceClient picks up credentials from the environment (Databricks Apps, notebook, CLI)
workspace_client = WorkspaceClient()
host = workspace_client.config.host

# The context manager manages the MCP connection lifecycle and ensures cleanup on exit.
# from_uc_function constructs the endpoint URL from UC identifiers and wires in auth
# from workspace_client, avoiding hardcoded URLs and manual token handling.
async with McpServer.from_uc_function(
catalog="system",
schema="ai",
function_name="python_exec",
workspace_client=workspace_client,
name="code-interpreter",
) as code_interpreter:
agent = Agent(
name="Coding agent",
instructions="You are a helpful coding assistant. Use the python_exec tool to run code.",
model="databricks-claude-sonnet-4-5",
mcp_servers=[code_interpreter],
)
result = await Runner.run(agent, "Calculate the first 10 Fibonacci numbers")
print(result.final_output)

Conceda ao aplicativo acesso à função em databricks.yml:

YAML
resources:
apps:
my_agent_app:
resources:
- name: 'python_exec'
uc_securable:
securable_full_name: 'system.ai.python_exec'
securable_type: 'FUNCTION'
permission: 'EXECUTE'

Recursos adicionais