Skip to main content
  • Neo4j 是一个专注于图数据库技术的开源数据库管理系统
  • Neo4j 允许你以节点和边的形式表示和存储数据,使其非常适合处理关联数据和关系。
  • Neo4j 提供了Cypher 查询语言,便于与你的图数据进行交互和查询。
  • 借助 Neo4j,你可以实现高性能的图遍历与查询,适用于生产级系统。 访问其官方网站即可开始使用 Neo4j。

安装与配置

  • 使用 pip install neo4j langchain-neo4j 安装 Python SDK

VectorStore

Neo4j 向量索引用作向量存储(vectorstore), 无论是用于语义搜索还是示例选择。
from langchain_neo4j import Neo4jVector
查看使用示例

GraphCypherQAChain

存在一个针对 Neo4j 图数据库的封装器,它允许你根据用户输入生成 Cypher 语句, 并使用这些语句从数据库中检索相关信息。
from langchain_neo4j import GraphCypherQAChain, Neo4jGraph
查看使用示例

从文本构建知识图谱

文本数据通常包含丰富的关系和见解,可用于各种分析、推荐引擎或知识管理应用。 Diffbot 的 NLP API 支持从非结构化文本数据中提取实体、关系和语义信息。 通过将 Diffbot 的 NLP API 与图数据库 Neo4j 结合,你可以基于从文本中提取的信息创建强大且动态的图结构。 这些图结构完全支持查询,并可集成到各类应用中。
from langchain_neo4j import Neo4jGraph
from langchain_experimental.graph_transformers.diffbot import DiffbotGraphTransformer
查看使用示例

Checkpoint saver

Neo4j 实现的 LangGraph Checkpoint saver,用于持久化 Agent 内存并支持分支时间旅行功能。Checkpoint saver 会在每个超级步骤中持久化图状态,从而实现会话记忆、人在回路工作流、时间旅行和容错能力。 可与 LangGraph 图和 LangChain Agent 配合使用:
from langchain_neo4j import Neo4jSaver

with Neo4jSaver.from_conn_string(
    uri="bolt://localhost:7687",
    user="neo4j",
    password="password"
) as checkpointer:
    checkpointer.setup()  # 创建索引(仅运行一次)
    # 使用 checkpointer 创建 agent
    agent = create_agent(
        model="anthropic:claude-sonnet-4-6",
        tools=[get_weather],
        system_prompt="You are a helpful assistant",
        checkpointer=checkpointer
    )