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-utrymmen 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-blanksteg. Ett Genie-utrymme ä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-utrymmet med hjälp av en förkonfigurerad MCP-URL.
Så här ansluter du till ett Genie-utrymme:
- Skapa ett Genie-utrymme med de tabeller som du vill fråga efter och dela utrymmet med de användare eller tjänstens huvudnamn som måste komma åt det. Se Konfigurera och hantera ett Genie-utrymme.
- 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}.
Anmärkning
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ägg till ett Genie-utrymmesverktyg i din agent
I följande exempel visas hur du ansluter din agent till en Genie Space MCP-server. Ersätt <genie-space-id> med ID:t för ditt Genie-utrymme.
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-utrymmet 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-utrymmet 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 space 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 space
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 Använda Databricks-hanterade MCP-servrar.
Genie multiagentssystem
Viktigt!
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 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
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.