【RAG】知识图谱 RAG 与可验证引用案例讲解 目录一、案例简介二、案例目标2.1 核心功能2.2 技术要点2.3 预期效果三、技术栈与核心依赖3.1 编程语言与框架3.2 核心依赖库3.3 推荐的 LLM 模型四、项目配置4.1 环境变量配置4.2 Docker Compose 配置Neo4j 服务Ollama 服务Streamlit 应用服务五、项目结构5.1 关键文件说明六、核心代码实现6.1 数据模型设计Entity(实体)Relationship(关系)Citation(引用)AnswerWithCitations(带引用的答案)6.2 知识图谱管理器核心方法6.3 基于 LLM 的实体提取6.4 带引用的多跳 RAG七、运行与测试7.1 快速开始(Docker 方式)7.2 手动安装方式步骤 1:安装 Ollama步骤 2:启动 Neo4j步骤 3:安装 Python 依赖步骤 4:运行应用7.3 使用示例示例 1:添加文档示例 2:提问示例 3:查看推理追踪八、实现思路与扩展建议8.1 核心设计思想1. 知识图谱 vs 向量检索2. 可验证性设计3. 本地化部署8.2 架构流程图文档处理流程查询处理流程8.3 可能的优化方向1. 性能优化2. 功能扩展3. 企业级特性8.4 扩展功能建议1. 集成更多 LLM2. 支持更多数据源3. 高级推理能力九、完整源码knowledge_graph_rag.pyrequirements.txtDockerfiledocker-compose.yml总结一、案例简介本案例演示了一个基于知识图谱的检索增强生成(RAG)系统,该系统能够提供:多跳推理:跨越多个文档和实体进行复杂推理可验证引用:每个声明都可以追溯到源文档透明推理追踪:完整记录推理过程,便于审计与传统基于向量相似度的 RAG 不同,知识图谱 RAG 通过构建结构化的知识图谱,实现了更精准的信息检索和更强的推理能力。二、案例目标2.1 核心功能文档知识提取:使用 LLM 从非结构化文本中提取实体和关系