Ansluta agenter till strukturerade data

Välj ett verktyg baserat på den data din agent behöver och vem som skriver frågan:

Din agent behöver att## Använd
Svara på affärsfrågor över hela arbetsytan Genie One MCP
Fråga en kurerad Genie Agent från Python AI Bridge-verktyg
Skriv och kör SQL Databricks SQL MCP
Kör en fördefinierad fråga med parametrar Funktionsverktyg för Unity Catalog

Fråga data med Genie One

Azure Databricks rekommenderar Genie One MCP för agenter som besvarar affärsfrågor i hela workspacen på naturligt språk. Den använder Genie Ontology för att tolka affärstermer och frågar arbetsytans data med hjälp av anroparens behörigheter.

Följ Så använder du MCP-verktyg i en Python-agent och ställ in server_url på Genie One MCP-URL:en:

https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp

Byt ut <workspace-hostname> med ditt arbetsområdes värdnamn. Ställ sedan en fråga till din agent om dina data, till exempel "Vilka var de tio största kunderna enligt omsättning förra kvartalet?"

För Claude Code eller Codex, installera Databricks AI Tools och använd funktionen för dataidentifiering, som gör förfrågningar till Genie One via Databricks CLI.

Fråga en specifik Genie Agent i Python

Använd AI Bridge för att exponera en specifik Genie Agent som ett verktyg i din Python-agent. AI Bridge hanterar förfrågningar, polling och frågeresultat via Genie API.

För Claude Code eller Codex, installera Databricks AI Tools för att använda Genie Agents skill via Databricks CLI.

Innan du börjar

  1. Använd Python 3.12. För lokal utveckling, logga in med Databricks CLI med DEFAULT-profilen så att Python-klienterna kan hitta dina inloggningsuppgifter.
  2. Välj en Genie-agent som din identitet kan komma åt, med nödvändiga lager- och databehörigheter. Kopiera dess space-ID från Inställningar och ersätt <genie-agent-id> med det ID:t.
  3. Ersätt <model-endpoint> med en Azure Databricks-modell-endpoint som stödjer verktygsanrop och som du har behörighet att fråga.
  4. Kör installationskommandot för ditt ramverk i en terminal. I en notebook använder du %pip och startar om Python efter installationen. Kör exempel med await i en anteckningsbok som stödjer på toppnivå await.

Kör din agent

Båda exemplen låter modellen anropa ask_genie och använda resultatet i sitt svar. Klienten Genie från databricks-ai-bridge kan också wrappas som ett Python-funktionsverktyg i andra ramverk. Fliken OpenAI Agents SDK visar denna klient utan något LangChain-beroende.

LangGraph

Detta exempel paketerar AI Bridges GenieAgent helper som ett LangChain-verktyg.

pip install --upgrade databricks-langchain langgraph
from databricks_langchain import ChatDatabricks
from databricks_langchain.genie import GenieAgent
from langchain_core.tools import tool
from langgraph.prebuilt import create_react_agent

genie = GenieAgent(genie_space_id="<genie-agent-id>")


@tool
def ask_genie(question: str) -> str:
    """Ask the configured Genie Agent a question about its business data."""
    response = genie.invoke({
        "messages": [{"role": "user", "content": question}]
    })
    return response["messages"][-1].content


agent = create_react_agent(
    ChatDatabricks(endpoint="<model-endpoint>"),
    tools=[ask_genie],
)
result = agent.invoke({
    "messages": [{
        "role": "user",
        "content": "Use Genie to find total sales last month.",
    }]
})
print(result["messages"][-1].content)

OpenAI Agents SDK

Detta exempel använder AI Bridge Genie-klienten och OpenAI Agents SDK:s function_tool dekorator. Modellen körs på Azure Databricks.

pip install --upgrade databricks-ai-bridge databricks-openai openai-agents
from agents import Agent, Runner, function_tool
from agents import set_default_openai_api, set_default_openai_client
from agents.tracing import set_trace_processors
from databricks_ai_bridge.genie import Genie
from databricks_openai import AsyncDatabricksOpenAI

set_default_openai_client(AsyncDatabricksOpenAI())
set_default_openai_api("chat_completions")
set_trace_processors([])
genie = Genie(space_id="<genie-agent-id>", return_pandas=False)


@function_tool
def ask_genie(question: str) -> str:
    """Ask the configured Genie Agent a question about its business data."""
    return genie.ask_question(question).result


agent = Agent(
    name="Data analyst",
    instructions="Use ask_genie to answer questions about business data.",
    model="<model-endpoint>",
    tools=[ask_genie],
)
result = await Runner.run(agent, "What were total sales last month?")
print(result.final_output)

Kontrollera agentens utdata eller spår för att bekräfta att den anropar ask_genie och använder resultatet. Dessa exempel startar en ny Genie-konversation för varje verktygsanrop. För att behålla kontext, spara det returnerade konversations-ID:t för varje användares konversation och vidarebefordra det till nästa anrop:

  • GenieAgent: läs response["conversation_id"] och inkludera "conversation_id" tillsammans med "messages" i nästa inmatningsordbok.
  • Genie: läs response.conversation_id och skicka den som conversation_id till ask_question().

För klientalternativ och implementeringsdetaljer, se AI Bridge repository, inklusive GenieAgent hjälparen och Genie klienten.

När du hostar din agent på Databricks Apps, lägg till Genie Agent som en appresurs med behörighet Kan köra . Appens tjänsthuvudnamn behöver också tillgång till modellens endpoint samt det underliggande datalagret och data.

Kör SQL med Databricks SQL MCP

Använd Databricks SQL MCP när din agent behöver skriva och köra SQL mot dina Unity Catalog-tabeller.

För att använda system.ai.dbsql, system.ai.sandbox eller system.ai.web_search måste en kontoadministratör aktivera Unity Gateway-betan på kontokonsolens Previews-sida. Se Hantera förhandsversioner av konto.

Följ Använd MCP-verktyg i en Python-agent och ställ in server_url på:

https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.dbsql

Byt ut <workspace-hostname> med ditt arbetsområdes värdnamn. Be agenten köra SELECT 1 AS result och bekräfta att den anropar verktyget och returnerar 1.

För kodningsagenter, använd din agents setup-guide. För lagerval och SQL-specifika alternativ, se Databricks SQL MCP-referens.

Kör en fördefinierad fråga med en Unity Catalog-funktion

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.

Följande exempel skapar en Unity Catalog-funktion kallad lookup_customer_info. Den antar att du har en customer_data tabell med customer_name, customer_id, och customer_email kolumner.

Gå igenom funktionskraven och behörigheterna. Ersätt my_catalog.my_schema med en katalog och ett schema där du kan skapa funktioner, och anpassa tabell- och kolumnnamn till dina data. Kör följande kod i en SQL-editor:

CREATE FUNCTION my_catalog.my_schema.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 my_catalog.my_schema.customer_data
  WHERE customer_name = customer_name_input
  LIMIT 1;

Testa funktionen med ett kundnamn från din tabell:

SELECT my_catalog.my_schema.lookup_customer_info('Example Customer');

Använd sedan Unity Catalog AI för att lägga till funktionen i din agent. Den guiden inkluderar exempel på LangGraph, OpenAI, Anthropic och LlamaIndex.

Använd Genie i ett multiagentsystem

För att samordna Genie-agenter med andra agenter och verktyg, se Supervisor Agent. För befintliga Model Serving-integrationer, se Använd Genie i multiagentsystem.

Fråga en Genie Agent med MCP

För att koppla till en specifik Genie Agent via MCP, se Genie Agent MCP-referensen för dess URL och krav. För att fråga en Genie Agent från Python utan MCP, använd exempel på verktyget AI Bridge.