检索增强生成(RAG) 如今已发展为一种极具效力的技术,能够显著增强大型语言模型的能力。
RAG 框架有效融合了检索系统的优势以及生成模型的能力,促使其生成的响应具备更高的准确性,与上下文的关联性更强,并且能够实现实时更新。随着市场对于复杂 AI 解决方案的需求日益增长,在 GitHub 平台上出现了大量开源的 RAG 框架,每一个框架都具备独特的功能与优势。
1、RAG 框架的功能
检索增强生成(RAG)是人工智能领域内的一种框架,它能够通过集成外部的知识来源,实现对大型语言模型(LLM)能力的提升。
RAG 能够从知识库中检索出与之相关的信息,并把这些信息应用到对LLM输入内容的增强上,促使模型可以生成更加准确、更加契合当下需求、在上下文中关联度更高的回复内容。
这种方式可以有效克服知识存在截止日期等方面的限制,同时降低大型语言模型(LLM)在输出内容时产生幻觉的风险。
2、RAG 工作流简化
RAG 的工作流程可以简单描述为:
- 首先是信息检索环节,从提前搭建好的知识库内搜寻与当前查询相关联的信息;
- 然后进入信息增强阶段,把检索到的信息和用户输入内容融合,形成增强版的模型输入;
- 最后借助增强后的输入,生成准确且具备上下文连贯性的回应。
3、LangChain 与 RAG
LangChain 无疑是构建大语言模型(LLM)应用的得力工具,但它并不能直接替代检索增强生成(RAG)技术。实际上,LangChain 能够被用来搭建 RAG 系统。
那么,为何除了 LangChain 之外,我们还需要运用 RAG 呢?主要原因如下:
- 引入外部知识:RAG 支持将特定领域的专业知识或最新资讯整合进来,这些内容很可能未被纳入 LLM 的训练数据之中;
- 提升准确性:RAG 依据检索到的信息生成回复,能够大幅降低错误与幻觉情况的出现;
- 实现定制化:借助 RAG,用户可根据特定数据集或知识库对回复进行调整,这一特性在众多商业场景中不可或缺;
- 增强透明度:RAG 便于追溯生成回复所依据的信息来源,有效提高了可审计性。
简而言之,LangChain 为构建 LLM 应用提供了工具和概念抽象,而 RAG 作为一项特定技术,能够借助 LangChain 得以实现,以此优化 LLM 输出的品质与可靠性 。
10 个开源框架
1. Haystack by deepset-ai
stars:19.3K
地址:https://github.com/deepset-ai/haystack
Haystack 是一个强大且灵活的框架,用于构建端到端的问答和搜索系统。它提供了模块化架构,使开发人员能够轻松创建文档检索、问答和摘要等各种 NLP 任务的管道。
主要功能:
- 支持多种文档存储(如 Elasticsearch、FAISS、SQL 等)
- 与流行的语言模型(如 BERT、RoBERTa、DPR 等)集成
- 可扩展架构,适合处理大量文档
- 提供易于使用的 API,便于构建自定义 NLP 管道
Haystack 的多功能性和详尽的文档使其成为初学者和经验丰富的开发人员在实现 RAG 系统时的优秀选择。
安装:
pip install haystack-ai
或者
pip install git+https://github.com/deepset-ai/haystack.git@main
2. RAGFlow by infiniflow
stars:38.5K
地址:https://github.com/infiniflow/ragflow
RAGFlow 是 RAG 框架领域中相对较新的参与者,但由于其专注于简洁性和效率,很快获得了关注。该框架旨在通过预构建组件和工作流程简化 RAG 应用程序的构建。
显著功能:
- 直观的工作流程设计界面
- 预配置的 RAG 管道,适用于常见用例
- 与流行的向量数据库集成
- 支持自定义嵌入模型
RAGFlow 的用户友好性使其成为希望快速原型设计和部署 RAG 应用程序的开发人员的理想选择。
官方 demo:
官方提供一个 demo 地址,登录可体验,访问地址:https://demo.ragflow.io
更新进度:
我们从它的更新日志可以看到,它的更新是比较频繁和及时的,在今年 2 月 5 日最新的更新日志中,我们可以看目前该框架已经对接了硅基流动和最火爆的DeepSeek-R1\DeepSeek-V3
3. txtai by neuml
stars:10.4K
地址:https://github.com/neuml/txtai
txtai 是一个多功能的 AI 驱动数据平台,超越了传统的 RAG 框架。它提供了一整套工具,用于构建语义搜索、语言模型工作流和文档处理管道。
关键功能:
- 用于高效相似性搜索的嵌入式数据库
- 提供集成语言模型和其他 AI 服务的 API
- 可扩展的工作流自定义架构
- 支持多种语言和数据类型
txtai 的一站式方法使其成为希望在单一框架内实现广泛 AI 功能的组织的优秀选择。
4. STORM by stanford-oval
stars:22K
地址:https://github.com/stanford-oval/storm
STORM(斯坦福开源 RAG 模型)是由斯坦福大学开发的面向研究的 RAG 框架。虽然它的星数可能不及其他框架,但其学术背景和对尖端技术的关注,使其成为对 RAG 技术最新进展感兴趣的研究人员和开发人员的重要资源。
突出特点:
- 实现了新型 RAG 算法和技术
- 专注于提升检索机制的准确性和效率
- 与最先进的语言模型无缝集成
- 附带详尽的文档和研究论文
对于希望探索 RAG 技术前沿的用户来说,STORM 提供了由学术严谨性支撑的坚实基础。
5. LLM-App by pathwaycom
stars:12.7K
地址:https://github.com/pathwaycom/llm-app
LLM-App 是一个用于构建动态 RAG 应用的模板和工具集合,以实时数据同步和容器化部署为特色。
主要功能:
- 即用型 Docker 容器,支持快速部署
- 支持动态数据源和实时更新
- 与流行的 LLM 和向量数据库集成
- 提供多种可定制模板,适用于各类 RAG 用例
LLM-App 对操作和实时能力的强调,使其成为部署生产就绪 RAG 系统的组织的理想选择。
6. Cognita by truefoundry
stars:3.6K
地址:https://github.com/truefoundry/cognita
Cognita 是 RAG 框架领域中的新晋参与者,专注于提供一个统一的平台,用于构建和部署 AI 应用。尽管其星数较少,但其全面的方法和对 MLOps 原则的重视,使其值得关注。
显著特性:
- 提供端到端的 RAG 应用开发平台
- 与流行的机器学习框架和工具无缝集成
- 内置监控和可观测性功能
- 支持模型版本管理和实验跟踪
Cognita 的整体方案使其成为希望简化整个机器学习生命周期的组织的有力选择。
7. R2R by SciPhi-AI
stars:5K
地址:https://github.com/SciPhi-AI/R2R
R2R(Retrieval-to-Retrieval)是一个专注于通过迭代细化改进检索过程的专用 RAG 框架。虽然星数不高,但其在检索方面的创新方法使其成为一个值得关注的框架。
关键特点:
- 实现了新型检索算法
- 支持多步检索过程
- 可与各种嵌入模型和向量存储集成
- 提供分析和可视化检索性能的工具
对于希望推动检索技术边界的开发人员和研究人员来说,R2R 提供了一套独特且强大的工具。
8. Neurite by satellitecomponent
地址:https://github.com/satellitecomponent/Neurite
Neurite 是一个新兴的 RAG 框架,旨在简化构建 AI 驱动应用的过程。虽然其用户基础较小,但其专注于开发者体验和快速原型设计的理念,使其值得一试。
显著功能:
- 提供直观的 API 以构建 RAG 管道
- 支持多种数据源和嵌入模型
- 内置缓存和优化机制
- 具有可扩展的自定义组件架构
Neurite 的简洁性和灵活性使其成为希望快速实现 RAG 功能的开发人员的理想选择。
9. FlashRAG by RUC-NLPIR
地址:https://github.com/RUC-NLPIR/FlashRAG
FlashRAG 是由中国人民大学自然语言处理与信息检索实验室开发的轻量级且高效的 RAG 框架。虽然其星数较低,但其对性能和效率的专注,使其成为一个不可忽视的竞争者。
关键特点:
- 优化的检索算法以提高处理速度
- 支持分布式处理和扩展性
- 与流行的语言模型和向量存储系统集成
- 提供基准测试和性能分析的工具
对于对速度和效率要求极高的应用场景,FlashRAG 提供了一套专门的工具和优化方案。
10. Canopy by pinecone-io
地址:https://github.com/pinecone-io/canopy
Canopy 是由 Pinecone 公司开发的 RAG 框架,Pinecone 以其向量数据库技术而闻名。
主要特点:
- 与 Pinecone 的向量数据库紧密集成
- 支持流式传输和实时更新
- 提供高级查询处理与重新排序功能
- 包含用于管理和版本控制知识库的工具
Canopy 专注于可扩展性和与 Pinecone 生态系统的深度集成,使其成为已经使用或计划使用 Pinecone 进行向量搜索的组织的理想选择。
结论
RAG框架领域丰富多元且发展日新月异,本文阐述的十大框架各具特色,优势与能力不尽相同。既有功能完备、体系成熟的Haystack,也有诸如FlashRAG和R2R这类新兴的专用框架,能够满足各类需求与应用场景。在挑选RAG框架时,需综合考量项目实际需求、所需定制灵活性、框架可扩展性与性能表现,同时还要关注社区规模及活跃程度,以及文档质量与支持服务水平。通过审慎评估这些要素,并对不同框架进行实践测试,便能筛选出契合自身需求的RAG解决方案,助力开发更智能、具备上下文理解能力的AI应用。随着AI技术持续创新突破,这些框架也将不断迭代升级,未来还会有更多新技术成果竞相涌现 。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(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 的正确特征了。