图数据库RAG教程

基于本地Ollama和Neo4J MCP服务器的图数据库检索增强生成(RAG)实现教程,提供从环境配置到高级应用的完整流程。

  • by fadinammour
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 fadinammour/neo4j_graphrag

使用说明

GraphRAG教程与本地Ollama和Neo4J MCP服务器

以下代码是基于RAG教程代码的改编而构建的:https://neo4j.com/blog/developer/rag-tutorial/

变化:

  • 固定断链
  • 固定了未解决问题的数据集数量(增加了一个未解决问题)
  • 将代码从OpenAI移植到Ollama
  • 添加了本地Neo4J MCP服务器

初步步骤:

  1. 复制一份 .env.template 和 neo4j_auth.template.txt 并分别命名 .env 和 neo4j_auth.txt.更换 <NEO4J_PASSWORD> 使用您选择的密码。

  2. 安装 奥拉玛 然后在CLI中运行以下命令以获取所需的模型:

ollama pull qwen3:30b
ollama pull mxbai-embed-large

参数较少的模型不可靠(Cypher命令幻觉和有问题的推理限制)

  1. 安装 Docker引擎

  2. 安装 紫外线

设置Neo4J服务器和数据库

  1. 要设置Neo4J服务器,请运行:
docker compose build
docker compose up -d
  1. 设置环境
uv sync
  1. 创建MircroServices数据库
uv run python create_graph.py

要检查服务器和数据库是否设置正确,请在浏览器中打开以下链接 http://localhost:7474/browser/

运行教程的步骤:

  1. 启动Jupyter笔记本
uv run jupyter notebook
  1. 要将python脚本作为笔记本运行,请右键单击它并将其作为Jupytext笔记本运行。按以下顺序运行脚本:
  • vector_index.py
  • graphrag.py
  • advcanced_graphrag.py
  • mcp_graphrag.py

有用的Neo4J命令

  • 删除整个数据库
MATCH (n)
DETACH DELETE n
  • 将用户添加到Neo4J
CREATE USER myuser SET PASSWORD 'mypassword' CHANGE NOT REQUIRED;
GRANT ROLE admin TO myuser;