知识库接入知识图谱

安装 Neo4j

使用 Docker 快速安装和启动 Neo4j:

docker run -d -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/neo4jneo4j \
  -e NEO4J_PLUGINS='["apoc"]' \
  --name neo4j registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/neo4j:5.26.2

安装完成后,访问 http://localhost:7474 进入 Neo4j 浏览器界面。

配置向量库

在系统的【向量配置】模块中,点击"新增"按钮来添加 Neo4j 向量存储配置。

知识库启用 neo4j

在配置 Neo4j 向量存储后,您需要在知识库中启用 Neo4j 配置。进入知识库管理页面,选择需要配置的知识库。

图谱查看

使用 Neo4j 知识图谱存储的知识库,会自动为文档生成切片关系图谱。系统将文档内容解析为不同的知识切片,并建立它们之间的关联关系,形成直观的知识图谱结构。

当前版本的关系图主要体现文档切片与整篇文档之间的层级关系(Parent-Child 结构),确保检索时能够追溯切片的完整上下文。后续版本将支持更丰富的语义关系识别,包括实体抽取、关系推理和社区聚类等 GraphRAG 能力。

入库原理说明

Neo4jEmbeddingStrategy 会按顺序执行两个阶段:先完成切片向量入库,再执行关系图谱入库。这样可以保证检索侧先拿到可用的向量数据,随后再补齐文档级的图结构和父子关系。

1. 生成向量数据入库流程

这一阶段的目标是为每个切片单独生成向量,并写入 Neo4j 向量存储,用于后续相似度检索。实现上会先临时切换为不依赖 parentId 的简单实体创建查询,然后逐个切片生成 embedding、写入元数据,并把返回的向量 ID 回写到切片记录中。

2. 执行关系图谱入库流程

这一阶段的目标是基于整篇文档生成图谱结构。系统会把全部切片内容重新拼装成文档正文,按配置决定是否追加摘要,再通过 Neo4jSummaryGraphIngestor 按段切分文档、生成节点与关系,并最终把文档的图谱状态标记为已完成。

从实现上看,阶段 1 解决的是“让每个切片可检索”,阶段 2 解决的是“让切片之间有结构”。因此 Neo4j 在该方案中同时承担了向量检索存储和图谱关系存储两类职责,前者面向召回,后者面向上下文关联和多跳推理。