Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
AI-agenter behöver ofta fråga eller manipulera strukturerade data för att besvara frågor, uppdatera poster eller skapa datapipelines.
Databricks tillhandahåller flera metoder för att ansluta agenter till strukturerade data i Unity Catalog-tabeller och externa datalager. Använd förkonfigurerade MCP-servrar för omedelbar åtkomst till Genie-agenter och SQL-lager, eller skapa anpassade verktyg för specialiserade arbetsflöden.
Den här sidan visar hur du:
Fråga efter data i Unity Catalog-tabeller
Om din agent behöver fråga efter data i Unity Catalog-tabeller rekommenderar Databricks att du använder Genie-agenter. En Genie-agent är en samling med upp till 25 Unity Catalog-tabeller som Genie kan behålla i kontext och fråga med naturligt språk. Agenter kan komma åt Genie-agenten med hjälp av en förkonfigurerad MCP-URL.
Så här ansluter du till en Genie-agent:
- Skapa en Genie-agent med de tabeller som du vill fråga mot och dela agenten med de användare eller tjänsthuvudkonton som behöver ha åtkomst till den. Se Skapa och hantera en Genie-agent.
- Skapa en agent och anslut den till den förkonfigurerade hanterade MCP-URL:en för utrymmet:
https://<workspace-hostname>/api/2.0/mcp/genie/{genie_space_id}.
Note
Den hanterade MCP-servern för Genie anropar Genie som ett MCP-verktyg, vilket innebär att historiken inte skickas när genie-API:er anropas.
Lägga till ett Genie Agent-verktyg i din agent
Följande exempel visar hur du ansluter din agent till en Genie Agent MCP-server. Ersätt <genie-space-id> med ID:t för din Genie-agent.
OpenAI Agents SDK (appar)
from agents import Agent, Runner
from databricks.sdk import WorkspaceClient
from databricks_openai.agents import McpServer
workspace_client = WorkspaceClient()
host = workspace_client.config.host
async with McpServer(
url=f"{host}/api/2.0/mcp/genie/<genie-space-id>",
name="genie-space",
workspace_client=workspace_client,
) as genie_server:
agent = Agent(
name="Data analyst agent",
instructions="You are a data analyst. Use the Genie tool to query structured data and answer questions.",
model="databricks-claude-sonnet-4-5",
mcp_servers=[genie_server],
)
result = await Runner.run(agent, "What were the top 10 customers by revenue last quarter?")
print(result.final_output)
Ge appen åtkomst till Genie-agenten i databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_genie_space'
genie_space:
space_id: '<genie-space-id>'
permission: 'CAN_RUN'
LangGraph (appar)
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
mcp_client = DatabricksMultiServerMCPClient([
DatabricksMCPServer(
name="genie-space",
url=f"{host}/api/2.0/mcp/genie/<genie-space-id>",
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": "What were the top 10 customers by revenue last quarter?"}]}
)
print(result["messages"][-1].content)
Ge appen åtkomst till Genie-agenten i databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_genie_space'
genie_space:
space_id: '<genie-space-id>'
permission: 'CAN_RUN'
Modellhantering
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient
import mlflow
workspace_client = WorkspaceClient()
host = workspace_client.config.host
# Connect to the Genie Agent MCP server
mcp_client = DatabricksMCPClient(
server_url=f"{host}/api/2.0/mcp/genie/<genie-space-id>",
workspace_client=workspace_client,
)
# List available tools from the Genie Agent
tools = mcp_client.list_tools()
# Log the agent with the required resources for deployment
mlflow.pyfunc.log_model(
"agent",
python_model=my_agent,
resources=mcp_client.get_databricks_resources(),
)
Information om hur du distribuerar agenten finns i Distribuera en agent för generativa AI-program (modellservering). Mer information om loggningsagenter med MCP-resurser finns i Azure Databricks hanterade MCP-servrar.
Genie multiagentssystem
Important
Den här funktionen finns som allmänt tillgänglig förhandsversion.
För avancerade system med flera agenter kan du också använda Genie som agent i stället för att integrera det med MCP. När du anropar Genie som agent kan du deterministiskt överföra befintlig konversationskontext till Genie.
För en kod-först-ansats, se Använda Genie i system med flera agenter (modellbetjäning). För en UI-första metod, se Använd övervakaragent för att skapa ett samordnat system med flera agenter.
Hämta data med Unity Catalogs SQL-funktionsverktyg
Skapa ett strukturerat hämtningsverktyg med hjälp av SQL-funktioner i Unity Catalog när frågan är känd i förväg och agenten tillhandahåller parametrarna.
I följande exempel skapas en Unity Catalog-funktion med namnet lookup_customer_info, som gör att en AI-agent kan hämta strukturerade data från en hypotetisk customer_data tabell.
Kör följande kod i en SQL-redigerare.
CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
customer_name_input STRING COMMENT 'Name of the customer whose info to look up'
)
RETURNS STRING
COMMENT 'Returns metadata about a particular customer, given the customer''s name, including the customer''s email and ID. The
customer ID can be used for other queries.'
RETURN SELECT CONCAT(
'Customer ID: ', customer_id, ', ',
'Customer Email: ', customer_email
)
FROM main.default.customer_data
WHERE customer_name = customer_name_input
LIMIT 1;
När du har skapat ett Unity Catalog-verktyg lägger du till det i din agent. Se Skapa ett funktionsverktyg för Unity Catalog.