Databricks Agent Bricks + Neo4j 集成

概述

Databricks Agent Bricks (Mosaic AI Agent Framework) 于 2025 年 6 月发布,具备自动优化、评估和治理功能。它具有 MCP 目录、Unity Catalog 集成以及对多种模型(GPT-5、Gemini、Claude、Llama)的支持。

核心功能

  • 用于管理 MCP 服务器的 MCP 目录 (MCP Catalog)

  • 用于治理的 Unity Catalog 集成

  • 自动生成评估并对智能体进行调优

  • 多模型支持

  • 文档智能

  • 用于可观测性的 MLflow

官方资源

示例

本目录包含三个端到端示例,每个示例都演示了通过自定义和官方 Neo4j MCP 服务器实现的 Databricks 与 Neo4j 之间不同的集成模式。示例可以使用 Databricks SDK/CLI 或通过 Databricks UI 进行部署,并默认使用公共 Neo4j 公司演示数据库:neo4j+s://demo.neo4jlabs.com:7687

# 示例 Pattern (模式) 认证模式 部署

1

UC 函数 MCP 工具

作为工具的 UC 函数

代码中,受 UC 治理保护

Databricks Notebook

2

自定义 MCP 服务器 — 使用 Databricks App

作为 Databricks App 的 Python 自定义 MCP 服务器

Databricks Secrets

Databricks CLI

3

官方 MCP 服务器 — 使用 Databricks App

作为 Databricks App 的官方 MCP 服务器

Databricks Secrets

Databricks CLI

示例 1:UC 函数 MCP 工具

使用自定义 UC 函数工具对 Neo4j 执行请求。Neo4j 凭据保存在函数中,不用于生产环境,仅供快速原型设计。

示例 2:自定义 MCP 服务器 — 使用 Databricks App

使用 Databricks App 部署用 Python 编写的自定义 MCP 服务器,该服务器将 Neo4j 驱动程序查询定义为工具。Neo4j 基本身份验证凭据从 Databricks Secrets 中获取。

示例 3:官方 MCP 服务器 — 使用 Databricks App

使用 Databricks App 部署 Neo4j 官方 MCP 服务器。Neo4j 基本身份验证凭据从 Databricks Secrets 中获取。

扩展点

1. MCP 目录(主要)

从 Databricks Marketplace 安装 Neo4j MCP 服务器或手动安装

from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient

workspace_client = WorkspaceClient(profile="DEFAULT")
host = workspace_client.config.host

client = DatabricksMCPClient(
    servers=[
        f"{host}/api/2.0/mcp/neo4j/prod/company_research"
    ],
    workspace_client=workspace_client
)

# Use tools
tools = client.as_tools()

2. Unity Catalog 连接

为 Neo4j 创建 Unity Catalog 连接

CREATE CONNECTION neo4j_prod
  TYPE http
  URL 'https://your-neo4j-mcp-server.com/mcp'
  WITH (
    CREDENTIAL bearer_token SECRET 'your-token'
  );

3. Notebook 中的直接集成

from neo4j import GraphDatabase

driver = GraphDatabase.driver(
    "neo4j+s://demo.neo4jlabs.com:7687",
    auth=("companies", "companies")
)

MCP 身份验证

个人访问令牌 (PAT) - 用于用户访问

服务主体 (Service Principals)(机器对机器交互的主要方式)

  • Agent Bricks 多智能体主管 (Supervisor) 需要 OAuth M2M

  • Databricks 账户中的 OAuth 应用程序注册

M2M OIDC

  • 以 Databricks 作为身份提供商的 OAuth 2.0

  • 支持动态客户端注册

  • Azure Databricks 的 Azure AD 集成

其他机制

  • Unity Catalog 权限

  • 托管 MCP 代理(令牌刷新由 Databricks 处理)

  • 代理用户 (On-Behalf-Of-User, OBO) 身份验证

  • 自动身份验证直通 (passthrough)

行业研究智能体示例

import mlflow
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient

# Setup
workspace_client = WorkspaceClient()
mcp_client = DatabricksMCPClient(
    servers=["https://your-workspace/api/2.0/mcp/neo4j/prod"],
    workspace_client=workspace_client
)

# Define agent
class ResearchAgent:
    def __init__(self, tools):
        self.tools = tools

    def research_company(self, company_name: str) -> str:
        # Query company data
        company_data = self.tools["query_company"](company_name)
        # Search news
        news = self.tools["search_news"](company_name)
        # Generate report
        return self.synthesize_report(company_data, news)

# Log agent to MLflow
tools = mcp_client.as_tools()
agent = ResearchAgent(tools)

with mlflow.start_run():
    mlflow.log_param("model", "claude-3-5-sonnet")
    mlflow.pyfunc.log_model("research_agent", python_model=agent)

# Deploy
deployment = mlflow.deployments.create_deployment(
    name="research-agent",
    model_uri=f"runs:/{run.info.run_id}/research_agent",
    endpoint="agents"
)

其他集成机会

  • Neo4j 作为情景记忆后端

  • 针对图查询的 Unity Catalog 治理

  • 用于智能体性能跟踪的 MLflow

  • 图查询准确性的自动评估

其他资源

© . This site is unofficial and not affiliated with Neo4j, Inc.