Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os agentes de IA geralmente precisam consultar ou manipular dados estruturados para responder a perguntas, atualizar registros ou criar pipelines de dados.
O Databricks fornece várias abordagens para conectar agentes a dados estruturados em tabelas do Catálogo do Unity e armazenamentos de dados externos. Use servidores MCP pré-configurados para acesso imediato a espaços do Genie e sql warehouses ou crie ferramentas personalizadas para fluxos de trabalho especializados.
Esta página mostra como:
Consultar dados em tabelas do Catálogo do Unity
Se o agente precisar consultar dados em tabelas do Unity Catalog, a Databricks recomenda o uso de Genie spaces. Um espaço do Genie é uma coleção de até 25 tabelas do Unity Catalog que o Genie pode manter em contexto e consultar usando linguagem natural. Os agentes podem acessar o espaço do Genie usando uma URL do MCP pré-configurada.
Para se conectar a um espaço do Genie:
- Crie um espaço do Genie com as tabelas que você deseja consultar e compartilhe o espaço com os usuários ou entidades de serviço que devem acessá-lo. Veja Configurar e gerenciar um espaço do Genie.
- Crie um agente e conecte-o à URL mcp gerenciada previamente configurada para o espaço:
https://<workspace-hostname>/api/2.0/mcp/genie/{genie_space_id}.
Observação
O servidor MCP gerenciado para o Genie invoca o Genie como uma ferramenta MCP, o que significa que o histórico não é passado ao invocar APIs do Genie.
Adicionar uma ferramenta de espaço do Genie ao seu agente
Os exemplos a seguir mostram como conectar seu agente a um servidor MCP de espaço do Genie. Substitua <genie-space-id> pela ID do seu espaço do Genie.
SDK de Agentes do OpenAI (Aplicativos)
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)
Conceda ao aplicativo acesso ao espaço do Genie em databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_genie_space'
genie_space:
space_id: '<genie-space-id>'
permission: 'CAN_RUN'
LangGraph (Aplicativos)
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)
Conceda ao aplicativo acesso ao espaço do Genie em databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_genie_space'
genie_space:
space_id: '<genie-space-id>'
permission: 'CAN_RUN'
Serviço de Modelo
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(),
)
Para implantar o agente, consulte Implantar um agente para aplicativos de IA generativos (Model Serving). Para obter detalhes sobre agentes de log com recursos mcp, consulte Usar servidores MCP gerenciados pelo Databricks.
Sistema multi-agente do Genie
Importante
Esse recurso está em Visualização Pública.
Para sistemas avançados de vários agentes, você também pode usar o Genie como um agente em vez de integrá-lo usando o MCP. Quando você chama Genie como um agente, você pode passar deterministicamente o contexto de conversa existente para o Genie.
Para obter uma abordagem de primeiro código, consulte Usar o Genie em sistemas multi-agentes (Model Serving). Para obter uma abordagem inicial da interface do usuário, consulte Usar o Supervisor Agent para criar um sistema de vários agentes coordenado.
Consultar dados usando a ferramenta de função SQL do Catálogo do Unity
Crie uma ferramenta de recuperação estruturada utilizando as funções SQL do Catálogo Unity quando a consulta já é conhecida e o agente fornece os parâmetros.
O exemplo a seguir cria uma função de Catálogo do Unity chamada lookup_customer_info, que permite que um agente de IA recupere dados estruturados de uma tabela hipotética customer_data .
Execute o código a seguir em um editor do SQL.
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;
Depois de criar uma ferramenta do Catálogo do Unity, adicione-a ao agente. Consulte Criar uma ferramenta de função no Unity Catalog.