本次全栈项目融合知识图谱与 RAG 技术。完成实践后,将以知识图谱为数据基础,结合大模型搭建多智能体系统。
若想跳过解析直接运行代码,可跳转至第六部分 “完整代码及操作说明” ,以下先对项目各部分进行解析。
一、任务概述
主要完成基本环境配置、聊天引擎构建及交互界面前端实现(前端使用 4 个封装函数)。
二、后端部分
环境与模块配置
导入各类库完成环境、Streamlit、LLM 及 Embedding 等配置。以下是部分关键代码:
功能模块
索引管理
先尝试加载索引,失败则从本地文档重建并保存。
查询与聊天引擎
创建基于知识图谱的查询引擎和聊天引擎,聊天引擎采用 react 模式,通过 ChatMemoryBuffer 管理聊天历史。
三、前端部分
使用 Streamlit 构建可视化 Demo,用户输入问题与后端交互。以下是部分前端代码:
四、交互界面调用函数
query_nebulagraph
执行 Cypher 查询获取数据。
result_to_df
将查询结果转为 DataFrame。
五、完整代码及操作说明
day6 与 day5 代码版本不同,需新建 conda 环境。首次运行索引加载失败属正常,会自动重建,等待 1 - 2 分钟后可刷出网页,后续启动较快。
文件结构包含 data 文件夹、requirements.txt、environment.yml 及 graph_rag_chatbot.py 。配置环境任选 environment.yml 或 requirements.txt ,如用 conda 创建 wukong2 环境,激活后通过 requirements.txt 安装依赖:
windows 用 environment.yml 创建环境可能有问题,建议用 requirements.txt;ubuntu 可直接使用 environment.yml 。
领取专属 10元无门槛券
私享最新 技术干货