


























之前我们构建了基于向量检索的传统RAG系统,采用了父子文本块的分块策略,能够有效回答简单的菜谱查询。但在处理复杂的关系推理和多跳查询时仍存在明显局限:
通过引入知识图谱,我们的新系统将具备:
若需要进行外部访问,需更换本地或服务器环境
# 使用conda创建环境 conda create -n graph-rag python=3.12.7 conda activate graph-rag
cd code/C9
pip install -r requirements.txt
使用Docker Compose方式安装Neo4j
# 进入docker-compose.yml所在目录 cd data/C9 # 启动Neo4j服务 docker-compose up -d # 检查服务状态 docker-compose ps
启动成功后,可以通过以下方式访问:
Web界面:http://localhost:7474 用户名:neo4j 密码:all-in-rag
当前网址为本地访问,如果你是部署在远程服务器上,需要将
localhost修改为你的服务器IP地址。
Docker Compose配置中包含了自动数据导入功能。启动服务时会自动执行以下步骤:
data/C9/cypher/neo4j_import.cypher导入的数据包括:
如果需要手动重新导入数据:
# 进入容器执行导入脚本 docker exec -it neo4j-db cypher-shell -u neo4j -p all-in-rag -f /import/cypher/neo4j_import.cypher
如果前面已经安装过了可以跳过此步,通过
docker-compose ps确认Milvus服务正在运行即可。
# 下载Milvus standalone配置文件 wget https://github.com/milvus-io/milvus/releases/download/v2.5.11/milvus-standalone-docker-compose.yml -O docker-compose.yml # 启动Milvus docker-compose up -d
# 下载Milvus standalone配置文件 wget https://github.com/milvus-io/milvus/releases/download/v2.5.11/milvus-standalone-docker-compose.yml -O docker-compose.yml # 启动Milvus docker-compose up -d
# 检查Milvus服务状态 docker-compose ps
在项目根目录创建 .env 文件:
# Neo4j配置 NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=all-in-rag NEO4J_DATABASE=neo4j # Milvus配置 MILVUS_HOST=localhost MILVUS_PORT=19530 # LLM API配置 MOONSHOT_API_KEY=your_api_key_here
我们的图RAG系统采用模块化设计,包含以下核心组件:

数据准备阶段:
查询处理阶段:
错误处理与降级:
code/C9/ ├── main.py # 主程序入口 ├── config.py # 配置文件 ├── requirements.txt # 依赖包列表 └── rag_modules/ # RAG模块包 ├── __init__.py ├── graph_data_preparation.py # 图数据准备模块 ├── milvus_index_construction.py # Milvus索引构建模块 ├── hybrid_retrieval.py # 混合检索模块 ├── graph_rag_retrieval.py # 图RAG检索模块 ├── intelligent_query_router.py # 智能查询路由器 └── generation_integration.py # 生成集成模块
# 确保Neo4j和Milvus服务已启动 python main.py
首次运行时,系统会自动:
检查并连接Neo4j和Milvus数据库
加载图数据并构建菜谱文档
创建向量索引
初始化各个检索模块
显示系统统计信息
系统启动后,可以进行交互式问答:
您的问题: 川菜有哪些特色菜? 您的问题: 如何制作宫保鸡丁? 您的问题: 减肥期间适合吃什么菜? 您的问题: stats # 查看系统统计 您的问题: quit # 退出系统
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。