Skip to content

penguinn/ai_application_dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GraphRAG Brain

基于 Neo4j + DashScope Qwen-Max 的 High-Level Graph RAG 系统。

架构概览

文本输入 → LLM三元组抽取 → Neo4j知识图谱(含向量索引)
                                    ↓
                            GDS Louvain 社区发现
                                    ↓
                            社区摘要报告生成
                                    ↓
                    查询路由 (LOCAL / GLOBAL)
                   ↙                        ↘
          混合检索                     Map-Reduce
    (向量搜索+2跳图扩展)          (社区摘要聚合)
                   ↘                        ↙
                        LLM 生成最终回答

前置依赖

组件 说明
Neo4j 5.11+ 需要支持 Vector Index
Neo4j GDS 插件 Louvain 社区发现算法
DashScope API Key 阿里云百炼平台 Qwen-Max

安装

pip install -r requirements.txt

配置

通过环境变量配置:

export DASHSCOPE_API_KEY="sk-your-key-here"
export NEO4J_URI="bolt://localhost:7687"
export NEO4J_USER="neo4j"
export NEO4J_PASSWORD="your-password"

快速开始

python graph_rag_brain.py

编程式使用

from graph_rag_brain import GraphRAGBrain

with GraphRAGBrain() as brain:
    # 1. 构建知识图谱
    brain.build_knowledge_graph("你的文本内容...")

    # 2. 社区发现 + 报告
    brain.detect_communities()
    brain.generate_community_reports()

    # 3. 查询(自动路由 LOCAL/GLOBAL)
    answer = brain.query("王总在天府五街做了什么?")

核心组件

GraphRAGBrain

方法 功能
build_knowledge_graph(text) 从文本抽取三元组,构建带向量索引的知识图谱
detect_communities() 通过 Neo4j GDS Louvain 算法进行社区划分
generate_community_reports() 为每个社区生成 LLM 摘要报告
hybrid_search(query) 向量搜索 Top-3 + 2跳图扩展 + LLM 合成
local_search(query) 面向特定实体的精确检索
global_search(query) 基于社区摘要的 Map-Reduce 聚合
router(query) LLM 查询分类器(LOCAL / GLOBAL)
query(query) 主入口:自动路由 + 回答

节点类型

Person · Org · Project · Event · Location

每个 Entity 节点均包含 embedding 属性用于语义搜索。

About

AI应用开发工程师学习沉淀

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors