Pydantic AI + Neo4j 集成

概述

Pydantic AI 是一个用于构建生产就绪 AI 代理的 Python 框架。利用 Pydantic 强大的验证和序列化功能,它提供类型安全的工具定义、结构化输出、依赖注入,并与多种 LLM 提供商实现无缝集成。

安装

pip install pydantic-ai neo4j

核心功能

  • 类型安全的工具定义,自动生成模式

  • 由 Pydantic 模型验证的结构化输出

  • 原生 MCP 支持

  • 依赖注入,实现清晰且可测试的代码

示例

Notebook 描述

pydantic_ai.ipynb

Pydantic AI 与 Neo4j 集成的完整演练,包括 MCP 服务器设置、自定义工具创建以及查询执行

扩展点

1. MCP 集成

Pydantic AI 拥有 原生 MCP 支持。MCP 服务器通过 toolsets 参数直接传递给代理。

2. 直接 Neo4j 集成

若需在 MCP 服务器之外获得更细粒度的控制,可直接使用 Neo4j Python 驱动

  • 驱动: 用于在自定义工具中执行 Cypher 的 neo4j 驱动

3. 自定义工具/函数

通过向代理传递异步 Python 函数来定义自定义 Neo4j 工具

  • 从类型提示和文档字符串推断模式

  • 实现执行 Cypher 查询的函数

  • 通过 tools 参数与 MCP 工具集一起传递工具

MCP 身份验证

支持的机制

HTTP 头部(HTTP/SSE 传输) - 对于远程 MCP 服务器,使用 Basic 或 Bearer 认证通过 headers 参数传递凭证。

环境变量(STDIO 传输) - 对于本地 MCP 服务器,凭证可在启动时通过环境变量传递。

OAuth 2.0(通过 FastMCPToolset) - 可通过基于 FastMCP 的客户端使用。

配置示例(HTTP 传输)

credentials = base64.b64encode(
    f"{os.environ['NEO4J_USERNAME']}:{os.environ['NEO4J_PASSWORD']}".encode()
).decode()

mcp_server = MCPServerStreamableHTTP(
    'https://:80/mcp',
    headers={'Authorization': f'Basic {credentials}'},
)
© . This site is unofficial and not affiliated with Neo4j, Inc.