Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Databricks poskytuje system.ai.python_exec, integrovanou funkci katalogu Unity, která umožňuje agentům AI dynamicky spouštět Python kód napsaný agentem, poskytnutého uživatelem nebo načteným ze základu kódu. Je k dispozici ve výchozím nastavení a dá se použít přímo v dotazu SQL:
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")
Další informace o nástrojích agentů najdete v tématu Připojení agentů k nástrojům.
Přidání interpretu kódu do agenta
Chcete-li přidat python_exec do svého agenta, připojte se ke spravovanému serveru MCP pro schéma katalogu Unity system.ai. Interpret kódu je k dispozici jako předem nakonfigurovaný nástroj MCP na adrese https://<workspace-hostname>/api/2.0/mcp/functions/system/ai/python_exec.
OpenAI Agents SDK (Aplikace)
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)
Udělte aplikaci přístup k funkci v databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'python_exec'
uc_securable:
securable_full_name: 'system.ai.python_exec'
securable_type: 'FUNCTION'
permission: 'EXECUTE'
LangGraph (Aplikace)
from databricks.sdk import WorkspaceClient
from databricks_langchain import ChatDatabricks, DatabricksMCPServer, DatabricksMultiServerMCPClient
from langgraph.prebuilt import create_react_agent
workspace_client = WorkspaceClient()
host = workspace_client.config.host
# DatabricksMultiServerMCPClient provides a unified get_tools() interface across
# multiple MCP servers, making it easy to add more servers later without refactoring.
mcp_client = DatabricksMultiServerMCPClient([
DatabricksMCPServer(
name="code-interpreter",
url=f"{host}/api/2.0/mcp/functions/system/ai/python_exec",
workspace_client=workspace_client,
),
])
async with mcp_client:
tools = await mcp_client.get_tools()
agent = create_react_agent(
ChatDatabricks(endpoint="databricks-claude-sonnet-4-5"),
tools=tools,
)
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "Calculate the first 10 Fibonacci numbers"}]}
)
# LangGraph returns the full conversation history; the last message is the agent's final response
print(result["messages"][-1].content)
Udělte aplikaci přístup k funkci v databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'python_exec'
uc_securable:
securable_full_name: 'system.ai.python_exec'
securable_type: 'FUNCTION'
permission: 'EXECUTE'
Poskytnutí Modelu
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient
import mlflow
workspace_client = WorkspaceClient()
host = workspace_client.config.host
mcp_client = DatabricksMCPClient(
server_url=f"{host}/api/2.0/mcp/functions/system/ai/python_exec",
workspace_client=workspace_client,
)
tools = mcp_client.list_tools()
# get_databricks_resources() extracts the UC permissions the agent needs at runtime.
# Passing these to log_model lets Model Serving grant access automatically at deployment,
# without requiring manual permission configuration.
mlflow.pyfunc.log_model(
"agent",
python_model=my_agent,
resources=mcp_client.get_databricks_resources(),
)
Pokud chcete nasadit agenta, přečtěte si téma Nasazení agenta pro generování aplikací umělé inteligence (obsluha modelů). Podrobnosti o agentech pro protokolování využívajících prostředky MCP najdete v tématu Spravované servery MCP ve službě Azure Databricks.
Další zdroje informací
- Připojení agentů k nástrojům – Prozkoumejte další typy nástrojů pro vašeho agenta.
- Vytváření nástrojů agenta AI pomocí funkcí katalogu Unity – Vytváření vlastních nástrojů pomocí funkcí katalogu Unity
- Spravované servery MCP v Azure Databricks – Další informace o spravovaných serverech MCP v Azure Databricks.