Zulassen, dass Agents Code ausführen

Important

Um system.ai.sandbox, system.ai.web_search oder system.ai.dbsql zu verwenden, muss ein Kontoadministrator die Unity Gateway-Beta auf der Previews-Seite in der Kontokonsole aktivieren. Siehe Kontovorschauen verwalten.

Nutze das system.ai.sandbox MCP, damit dein Agent Python-, SQL- oder Shell-Code in einer isolierten Umgebung ausführen kann. Dieses Beispiel verbindet einen LangGraph-Agenten mit dem MCP und bittet ihn, eine Berechnung in Python durchzuführen.

Bevor du anfängst

Code mit dem Sandbox-MCP ausführen

Installieren Sie die Bibliotheken:

pip install --upgrade databricks-langchain langgraph "mcp>=1.24,<2"

Speichern Sie Folgendes unter code_agent.py. WorkspaceClient nutzt deine Workspace-Anmeldung, um die MCP-Verbindung zu authentifizieren.

import asyncio
from databricks.sdk import WorkspaceClient
from databricks_langchain import (
    ChatDatabricks,
    DatabricksMCPServer,
    DatabricksMultiServerMCPClient,
)
from langchain_core.messages import convert_to_openai_messages
from langgraph.prebuilt import create_react_agent

workspace_client = WorkspaceClient()
server_url = f"{workspace_client.config.host}/ai-gateway/mcp-services/system.ai.sandbox"

async def main():
    mcp_client = DatabricksMultiServerMCPClient([
        DatabricksMCPServer(
            name="code-interpreter",
            url=server_url,
            workspace_client=workspace_client,
        ),
    ])
    agent = create_react_agent(
        ChatDatabricks(endpoint="databricks-claude-sonnet-4-5"),
        tools=await mcp_client.get_tools(),
        prompt=lambda state: convert_to_openai_messages(state["messages"]),
    )
    result = await agent.ainvoke({
        "messages": [{
            "role": "user",
            "content": "Run Python code to calculate the mean of [12, 18, 24].",
        }],
    })
    print(result["messages"][-1].content)

asyncio.run(main())

Ausführen des Agents:

python code_agent.py

Der Agent entdeckt die Werkzeuge des MCP, führt Python-Code aus und liefert einen Mittelwert von 18. Das Sandbox-MCP hat keinen ausgehenden Netzwerkverkehr, daher verwenden Sie Code, der keine Pakete herunterladen oder externe APIs aufrufen muss.

Für andere Frameworks verwenden Sie diese server_url zusammen mit den Python-Agent-Beispielen. Informationen zur Bereitstellung finden Sie unter Erstellen eines benutzerdefinierten Agents.

Verwenden Sie die Python-Funktion über MCP (Legacy)

Für eine bestehende Integration mit der system.ai.python_exec Funktion verwenden Sie stattdessen das obige Agentenbeispiel mit dieser URL:

server_url = f"{workspace_client.config.host}/api/2.0/mcp/functions/system/ai/python_exec"

Dieser Endpunkt benötigt die Vorschau des Managed MCP Servers Arbeitsbereichs und Zugriff auf die zugrunde liegende Funktion. Es verwendet Legacy-Workspace-Endpunktberechtigungen. Für Agentenbereitstellung und Funktionszugriff siehe Agenten-Authentifizierung.

Weitere Ressourcen