RAG现有框架总结:7个GraphRAG+17个传统RAG | 推荐收藏

17个传统 RAG 框架

传统的RAG(Retrieval-Augmented Generation)框架,是一种集成了多个关键环节的综合体系,这些环节包括文本切块(Chunk)、向量转换(向量化)、数据存储、信息检索、二次排序、内容生成、内容评估等。该框架的精髓在于能够灵活适应各种策略,例如文档处理方法和检索策略等。其中,具有代表性的实现有RAGFlow(专注于深度文档理解)、QAnything(引入重排序 Rerank 机制)以及高度可配置的 Dify 等。这些实现虽然在细节上有所差异,但基本原理相似。以下是17个传统 RAG 框架的总结:

1、AnythingLLM,具备完整的 RAG(检索增强生成)和AI代理能力。Github 地址:https://github.com/Mintplex-Labs/anything-llm

2、MaxKB,基于大型语言模型的知识库问答系统。即插即用,支持快速嵌入到第三方业务系统。Github 地址:https://github.com/1Panel-dev/MaxKB

3、RAGFlow,一个基于深度文档理解的开源RAG(检索增强生成)引擎。Github 地址:https://github.com/infiniflow/ragflow

4、Dify,一个开源的大型语言模型应用开发平台。Dify直观的界面结合了AI工作流、RAG流程、代理能力、模型管理、可观测性功能等,让您能快速从原型阶段过渡到生产阶段。Github 地址:https://github.com/langgenius/dify

5、FastGPT,基于LLM构建的知识型平台,提供即开即用的数据加工和模型调用能力,允许通过流程可视化进行工作流编排。Github 地址:https://github.com/labring/FastGPT

6、Langchain-Chatchat,基于Langchain和ChatGLM等不同大模型的本地知识库问答。Github 地址:https://github.com/chatchat-space/Langchain-Chatchat

7、QAnything,基于Anything的问题和答案。Github 地址:https://github.com/netease-youdao/QAnything

8、Quivr,使用Langchain、GPT 3.5/4 turbo、Private、Anthropic、VertexAI、Ollama、LLMs、Groq等与文档(PDF、CSV等)和应用程序交互,本地和私有的替代OpenAI GPTs和ChatGPT。Github 地址:https://github.com/QuivrHQ/quivr

9、RAG-GPT,RAG-GPT利用LLM和RAG技术,从用户自定义的知识库中学习,为广泛的查询提供上下文相关的答案,确保快速准确的信息检索。Github 地址:https://github.com/open-kf/rag-gpt

10、Verba,由Weaviate驱动的检索增强生成(RAG)聊天机器人。地址:https://github.com/weaviate/Verba

11、FlashRAG,一个用于高效RAG研究的Python工具包。Github 地址:https://github.com/RUC-NLPIR/FlashRAG

12、LightRAG,检索器-代理-生成器式的RAG框架。Github 地址:https://github.com/SylphAI-Inc/LightRAG

13、kotaemon,一个开源的干净且可定制的RAG UI。Github 地址:https://github.com/Cinnamon/kotaemon,

14、RAGapp,在企业中使用Agentic RAG的最简单方式。Github 地址:https://github.com/ragapp/ragapp

15、TurboRAG,通过预计算的KV缓存加速检索增强生成,适用于分块文本。Github 地址:https://github.com/MooreThreads/TurboRAG

16、TEN,实时多模态AI代理框架。Github 地址:https://github.com/TEN-framework/ten_framework

17、AutoRAG,RAG AutoML工具。Github 地址:https://github.com/Marker-Inc-Korea/AutoRAG

7个 GraphRAG 框架

GraphRAG 框架在微软颇受欢迎,随后衍生出了多个轻量级改进版本,例如LightRAG 和 nano-GraphRAG。同时,也有一些独具特色的变体,如 KAG。这些框架的核心改进在于,它们在传统 RAG 的基础上,加强了实体、社区以及文本切块(Chunk)之间的联系,并融入了现有知识图谱(KG)的知识,以此来提高信息检索的召回率和准确性。

这里总结7个:

1、LightRAG,简单快速的Graphrag检索增强生成。Github 地址:https://github.com/HKUDS/LightRAG

2、GraphRAG-Ollama-UI,使用Ollama的GraphRAG,带有Gradio UI和额外功能。Github 地址:https://github.com/severian42/GraphRAG-Ollama-UI

3、microsoft-GraphRAG,一个模块化的基于图的检索增强生成(RAG)系统。地址:Github https://github.com/microsoft/graphrag

4、nano-GraphRAG,一个简单、易于修改的GraphRAG实现。Github 地址:https://github.com/gusye1234/nano-graphrag

5、KAG,基于OpenSPG引擎的知识增强生成框架,用于构建知识增强的严格决策制定和信息检索知识服务。Github 地址:https://github.com/OpenSPG/KAG

6、Fast-GraphRAG,GraphRAG的轻量化版本。Github 地址:https://github.com/circlemind-ai/fast-graphrag

7、Tiny-GraphRAG,一个小巧的GraphRAG实现。地址:https://github.com/limafang/tiny-graphrag

在探索先进的信息处理技术领域,RAG 框架及其多样化的应用方案,比如:Naive RAG、Agentic RAG、Advanced RAG 等等,已经成为行业内的热门话题。为了帮助技术爱好者们深入理解和应用这些技术,我们精心打造了 AI Agent 项目实战训练营。这个训练营旨在通过实战演练,让您直接体验到从数据切割到内容生成的全流程,掌握关键技术的应用要领。我们承诺,通过专业的指导和实战操作,您将能够系统地提升自己在信息处理技术方面的实践能力。现在就加入我们,一起在 Agent 项目实战训练营中开启您的技术成长新篇章!

AI Agent 为啥如此火爆?

第一、这是大势所趋,我能正在经历一场重大技术变革,还不像当年的互联网的兴起,这是一场颠覆性的变革,掉队就等于淘汰,因为未来所有应用都将被AI Agent 重写一遍;

第二、现在处于红利期,先入场的同学至少会享受4~5年的红利,拿高薪,并且会掌握更多的资源。

第三、企业需求旺盛,越来越多的企业开始在 AI Agent 领域进行创新尝试,这为我们提供了丰富的岗位机会和广阔的发展空间。

最近两年一直在研究大模型应用技术,大模型的价值太大了,AI Agent 的潜力太大了,“未来所有应用都将被 AI Agent 重写一遍”这句话也是今天听到最多的一句话。我的团队这两年,尤其是今年接了很多开发 AI Agent 的项目,越来越多的企业都开始做这方面的创新尝试。

AI Agent 足够重要,但也足够复杂,我这两年的实践的结论是,想开发出一个能够可靠稳定的 Agent 应用实在太难了,大模型技术本身的复杂度,大模型推理的不确定性等等,这些困难直接导致很人对其望而却步,或是遇到问题无从下手。一般的技术同学想要自己掌握 Agent 太难了。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

在这里插入图片描述

<think>我们正在处理一个关于整合GraphRAG、Ollama和Neo4j进行知识图谱构建和大模型查询的问题。根据引用[2],GraphRAG是微软开源的图基检索增强生成框架,结合了知识图谱和大型语言模型(LLM)的优势。Ollama是一个用于本地运行大型语言模型的工具,而Neo4j是一个图数据库,用于存储和查询图结构数据。 目标:整合这三个技术,实现本地部署的知识图谱构建和利用大模型进行查询。 步骤分解: 1.使用GraphRAG从非结构化文本中提取结构化信息,构建知识图谱。 2.将构建的知识图谱存储到Neo4j图数据库中。 3.使用Ollama在本地运行大型语言模型,用于生成回答。4.设计一个流程:用户提问->从Neo4j中检索相关信息->利用Ollama的LLM生成回答。 具体步骤:###1.环境准备-安装Ollama:从官网下载并安装,然后下载所需的大语言模型(如Llama3)。-安装Neo4j:根据引用[1]中提到的Windows安装步骤,或者在其他操作系统上安装。-获取GraphRAG:从微软的GitHub仓库获取GraphRAG的代码。###2.构建知识图谱-准备非结构化文本数据(如文档、文章等)。-使用GraphRAG处理文本数据,提取实体和关系,构建知识图谱。- GraphRAG内部会使用LLM(这里我们可以使用Ollama提供的本地LLM)来帮助提取结构化信息。-将构建的知识图谱导入Neo4j。###3.配置GraphRAG使用Ollama-修改GraphRAG的配置,使其使用本地运行的Ollama作为LLM服务。通常,Ollama会提供本地API(默认端口11434)。-在GraphRAG的代码中,将LLM的调用指向本地的Ollama服务。###4.使用Neo4j存储和检索-将GraphRAG生成的知识图谱数据(节点和关系)通过Neo4j的API导入到数据库中。 -在用户查询时,GraphRAG会首先将查询转换为图查询(例如Cypher查询),在Neo4j中检索相关子图,然后将子图信息与用户查询一起交给LLM生成最终回答。###5.实现查询流程-用户提出问题。 -系统使用GraphRAG的检索模块,将问题转换为图查询,在Neo4j中检索相关实体和关系,得到一个子图(或文本形式的上下文)。-将检索到的上下文和用户问题一起输入到Ollama运行的LLM中,生成回答。 ###6.可视化(可选)-使用Neo4j自带的WebUI进行知识图谱的可视化,如引用[1]所述。代码示例(概念性): 由于GraphRAG的具体实现代码需要参考其开源项目,这里给出一个整合的伪代码流程: ```python#假设我们已经有了GraphRAG的处理器和Neo4j的连接fromgraphragimport GraphRAGimportollamaimportneo4j#初始化graphrag= GraphRAG(llm_endpoint="http://localhost:11434")#指向本地Ollamaneo4j_driver =neo4j.GraphDatabase.driver("bolt://localhost:7687",auth=("neo4j", "password"))#构建知识图谱(一次性或增量) documents =[...]#非结构化文本列表graphrag.build_knowledge_graph(documents,neo4j_driver)#查询过程defanswer_question(question):#1.检索:从Neo4j中获取与问题相关的上下文context= graphrag.retrieve(question, neo4j_driver)#2.生成:将上下文和问题一起发送给LLMresponse =ollama.generate(model="llama3",prompt=f"基于以下信息回答问题:\n{context}\n\n问题:{question}")return response#示例问题question= "某个具体问题"answer =answer_question(question)print(answer) ```注意事项: -确保Ollama服务在后台运行,并且模型已下载。- Neo4j服务需要提前启动,并创建好数据库(如引用[1]中提到的,可以新建数据库)。 -GraphRAG的具体实现可能需要根据其文档进行配置和调整。通过以上步骤,我们实现了GraphRAG、Ollama和Neo4j的整合,能够在本地构建知识图谱并利用大模型进行查询。 §§相关问题§§1.如何调整GraphRAG的参数以优化知识图谱的构建质量? 2.在Neo4j中如何设计图数据模型以更好地支持GraphRAG的查询? 3. Ollama支持哪些大语言模型?如何选择适合知识图谱任务的模型?4.如何处理大规模文本数据构建知识图谱时的性能问题?</think>### 整合 GraphRAG + Ollama + Neo4j 实现本地知识图谱构建与查询 以下是完整的整合方案,包含技术原理、部署步骤和查询流程: --- #### **一、技术栈作用** 1. **GraphRAG**(图检索增强生成) - 核心功能:从非结构化文本中提取实体关系,构建知识图谱 - 关键优势:增强LLM的推理能力,解决传统RAG的"知识孤岛"问题[^2] 2. **Ollama** - 本地部署开源LLM(如Llama 3、Mistral) - 提供API接口供GraphRAG调用 3. **Neo4j** - 存储知识图谱的图数据库 - 支持Cypher查询语言实现复杂关系检索 --- #### **二、部署流程** ```mermaid graph TD A[文本数据] --> B(GraphRAG处理) B --> C{实体关系提取} C --> D[Neo4j存储图谱] D --> E[用户提问] E --> F(Neo4j检索子图) F --> G(Ollama生成回答) ``` ##### **步骤1:环境准备** 1. 安装Ollama(支持Mac/Linux/Win): ```bash curl -fsSL https://ollama.com/install.sh | sh ollama pull llama3 # 下载模型 ``` 2. 安装Neo4j([官方下载](https://neo4j.com/download/)): - Windows:使用Neo4j Desktop - Linux:`sudo apt-get install neo4j` 3. 获取GraphRAG代码: ```bash git clone https://github.com/microsoft/graphrag ``` ##### **步骤2:构建知识图谱** 1. 配置GraphRAG使用Ollama: ```python # graphrag/config.py LLM_ENDPOINT = "http://localhost:11434/api/generate" MODEL_NAME = "llama3" ``` 2. 数据预处理: ```python from graphrag import GraphBuilder builder = GraphBuilder() # 从文本文件构建图谱 kg = builder.build_from_text("data.txt") ``` 3. 导入Neo4j: ```python from neo4j import GraphDatabase driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password")) with driver.session() as session: for entity, rel, target in kg.triples: session.run( "MERGE (e:Entity {name: $entity}) " "MERGE (t:Entity {name: $target}) " "MERGE (e)-[:RELATION {type: $rel}]->(t)", entity=entity, target=target, rel=rel ) ``` ##### **步骤3:查询流程实现** ```python # query_engine.py from graphrag import GraphRAGQuery from ollama import Client ollama_client = Client(host='http://localhost:11434') neo4j_driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password")) def answer_question(question): # 1. 图谱检索 subgraph = GraphRAGQuery.retrieve_subgraph(neo4j_driver, question) # 2. LLM生成回答 prompt = f"基于以下知识图谱信息:\n{subgraph}\n\n回答:{question}" response = ollama_client.generate(model='llama3', prompt=prompt) return response['response'] ``` --- #### **三、Neo4j可视化操作** 1. 启动Neo4j服务: ```bash neo4j start ``` 2. 访问Web UI:`http://localhost:7474` 3. 新建数据库(避免覆盖旧数据): ```cypher CREATE DATABASE graphragdb ``` 4. 查看图谱结构: ```cypher MATCH (n)-[r]->(m) RETURN n, r, m LIMIT 50 ``` --- #### **四、典型应用场景** 1. **学术文献分析** - 构建论文引用网络 - 查询领域研究趋势 2. **企业知识管理** - 整合产品文档/客服记录 - 智能问答系统 3. **医疗诊断辅助** - 连接病症-药品-基因关系 - 基于图谱的推理诊断 > **性能提示**:当处理超1GB文本时,建议分阶段构建图谱。先使用GraphRAG生成小规模子图,再通过Neo4j的`apoc.periodic.iterate`批量导入[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值