这是课件与代码的独立副本。新增第五章“基于 Neo4j 的知识图谱增强问答”;原评估、整合、部署章节顺延为第六、七、八章。第五章先用“草莓缺货,为什么双人下午茶也会受影响”展示图索引的价值,再逐步实现图谱构建、实体定位、关系扩展、三路融合和带来源的回答。
课件/EnterpriseKB_RAG_V1.0讲义/index.html 阅读课件。需要浏览器内搜索时,先运行 python run.py course,再访问 http://127.0.0.1:18090 。代码/EnterpriseKB_qa_system。新增实现、主案例数据和评估分别在 graph_qa、graph_qa/data/dessert-shop、evaluation_graph。第五章也提供 代码/5.基于Neo4j的知识图谱增强问答系统 独立教学快照。验证结果 保存本机真实运行的答案、路径、引用和指标;指标仅描述这组教学模拟数据,不代表生产业务效果。已有 Conda 环境为 EnterpriseKB-RAG,本机模型路径和独立数据库连接已写入 runtime/.env。该文件含私有配置,不放入讲义。无须再次下载模型。
conda activate EnterpriseKB-RAG
# 在本增强版目录中执行
python run.py services
python run.py health
python run.py serve
演示页面:http://127.0.0.1:18080 。接口文档:http://127.0.0.1:18080/docs 。Neo4j Browser:http://127.0.0.1:17474 ,连接地址 bolt://127.0.0.1:17687,账号 neo4j,密码见本地 runtime/.env。
数据库已经导入教学数据。如要恢复本课程的演示数据,执行 python run.py import。该操作刷新本副本的 FAQ 数据,按文档幂等导入图与向量数据,不操作原项目的数据库。
python run.py ask --mode milvus
python run.py ask --mode hybrid
python run.py ask --mode graph --question "草莓用完了,哪些甜品和套餐会受影响,分别该通知哪位店员?"
python run.py evaluate
python run.py test
ask 会调用原来配置的生成模型,--retrieval-only 可仅看证据。完整评估会对18道问题分别运行3种模式并调用生成模型;可用 python run.py evaluate --retrieval-only 只比较检索。
三种模式共享31份甜品店原文、BGE-M3、BGE-Reranker和上下文预算。图中有22个实体与27条带出处的关系。Milvus 基线已经同时包含稠密与稀疏检索。图通道用关系路径找到分散的证据,并携带每条边对应的原文;融合后只运行一次统一重排。不能通过扩大图模式的上下文预算制造提升。
主例从草莓酱制作卡、招牌蛋糕制作卡、双人下午茶搭配卡出发,沿“需要/包含”连接三份资料。主例展示图检索补齐路径的能力,也保留营业时间、找不到商品、同名套餐不同门店和资料不足等反例。配方和套餐关系说明哪些商品需要草莓;实际是否停售还要核对成品库存和可替代配方。配套资料也保留了半成品和成品库存的限制,不能把“后续制作可能受影响”直接说成“所有现货必须停售”。
FAQ 命中时直接答复;未命中后固定运行三路召回。本章的图查询方向选择属于图通道内部的检索计划,不是“先判断关系问题才开启 Neo4j”。通道路由作为后续成本优化讨论。
EnterpriseKB-RAG 环境内。runtime/environment-versions.json 记录验收时版本。python run.py stop 仅停止本增强版服务,保留数据卷。停止演示/API或课件服务可在对应窗口按 Ctrl+C。runtime/.env.example 配置既有权重和模型 API;用 GRAPH_PYTHON 指定已有环境的 Python。不要复制模型权重来制造多个环境。课件内容可从 course-source 重建;教学溯源、章节设计及原文件校验记录在 research。保留的旧版 PDF/XMind 属于原始参考资料,新增第五章以 HTML 课件为准。
第五章的教学查询使用“蛋糕、果酱、草莓”等具体临时变量,以及“商品、半成品、食材”等中文分类。图中的关系和属性也已中文化,课件查询可直接在本机 Neo4j 执行。MATCH、WHERE、RETURN 等固定语法保持原样并配有中文解释。内部接口与稳定编号保留,跨库对应关系由存储边界映射维护。修订验证见 验证结果/中文命名修订验收.md。