基于检索的增强生成(RAG,检索增强生成)已经成为提升大型语言模型能力的强大技术。
RAG框架结合了检索系统和生成模型的优点,从而能够提供更加准确、上下文相关的及时响应。随着对复杂AI解决方案需求的增加,许多开源RAG框架在GitHub上涌现,每个框架都有其独特之处。
RAG 框架是用来做什么的?注:RAG 是什么框架或工具,请在此处进行解释。RAG 流程过于简化
检索增强生成模型(RAG)是一种AI框架,通过融合外部知识来源来增强大规模语言模型(LLMs)的功能。
RAG,即“检索增益生成”,通过从知识库中检索相关信息并将其用于补充LLM的输入,从而使模型能够生成更准确、更及时且更符合上下文的响应。
这种方法有助于克服诸如知识更新截止日期之类的限制,并减少LLM(大型语言模型)输出中的错觉风险。
为什么不直接用LangChain呢?尽管 LangChain 是构建 LLM 应用程序的强大工具,但它并不能直接替代 RAG。相反,它可以用来实现 RAG 系统。下面是一些你可能需要 RAG 而不仅仅是 LangChain 的原因:
- 外部知识:RAG允许你整合特定领域的或最新的信息,这些信息可能未包含在大语言模型的训练数据中。
- 提高准确性:通过将响应基于检索到的信息来支持,RAG可以显著减少错误和幻觉。
- 定制:RAG使你能够根据特定的数据集或知识库来定制响应,这对于许多企业应用来说至关重要。
- 透明度:RAG使得追踪生成响应所使用的信息来源更加容易,从而提高了审计性。
本质上,LangChain提供了构建大型语言模型应用所需的工具和抽象概念。RAG是一种特定技术,它可以提高大型语言模型输出的质量和可靠性。
目前最佳的 GitHub 上的 10 个 RAG 框架这篇文章将带你了解目前在 GitHub 上排名前十的 RAG 框架。这些框架代表了 RAG 技术的最新发展,对于想要实施或改进其 AI 应用程序的开发者、研究者和组织来说非常有参考价值。
- deepset-ai 的 Haystack
GitHub星标数:14.6千星
RAG Framework:由 deepset-ai 开发的 Haystack
Haystack(注:此处"Haystack"通常保留英文或根据具体情境翻译为更贴切的名称)是一个强大且灵活的框架,用于构建端到端的问题回答和搜索解决方案。它提供了模块化架构,让开发人员能够轻松构建各种NLP任务的流水线,包括文档检索、问题回答和文档摘要。Haystack的关键特性包括:
- 支持多种文档存储类型(Elasticsearch、FAISS、SQL 等,)
- 集成流行的语言模型(BERT、RoBERTa、DPR 等)
- 可处理大量文档
- 易于使用的 API 接口,用于构建自定义 NLP 管道线
堆栈(Haystack)的灵活性和易用性以及详细的文档使其非常适合初学者和有经验的开发人员构建RAG系统。
GitHub — deepset-ai/haystack: :mag: LLM 协同框架,用于构建可自定义且可投入生产的 LLM 应用程序。连接各个组件(模型… 2. RAGFlow 由 infiniflow 推出GitHub 星: 11.6k
RAG框架:RAGFlow(Framework)by infiniflow
RAGFlow 是 RAG 框架领域的一个相对较新的参与者,但它由于其专注于简单性和效率,迅速获得了牵引力。该框架旨在通过提供一系列预构建的组件和工作流程来简化构建基于 RAG 的应用程序的流程。RAGFlow 的一些显著特性包括:
- 直观的工作流设计界面
- 适用于常见场景的预配置RAG管道
- 与流行的向量数据库无缝集成
- 支持自定义嵌入模型的开发
对那些希望快速创建和部署RAG应用的开发者来说,RAGFlow是一个用户友好的方式,而不必深入研究底层细节,使其成为一个不错的选择。
GitHub — infiniflow/ragflow: RAGFlow 是一个基于深度文档理解的开源 RAG(检索增强生成)引擎…… 3. 一个由 neuml 开发的 txtaiGitHub星:7.5k
RAG框架:txtai(by neuml)
txtai 是一个功能强大的 AI 驱动的数据平台,超越了传统的 RAG 框架,更灵活。它提供了一系列全面的工具,用于构建语义搜索、语言模型工作流和文档处理管道的功能。txtai 的关键功能包括:例如
- 用于高效相似度搜索的嵌入式数据库
- 集成语言模型和其他AI服务的API接口
- 可扩展的架构,支持自定义工作流
- 支持多种语言和数据格式
对于想要在一个框架内实现各种 AI 功能的组织来说,txtai 的一站式方法是一个很好的选择。
GitHub — neuml/txtai: 💡一站式开源语义嵌入数据库,用于语义搜索、LLM协调和语言模型工作流……github.com 4. STORM 由 stanford-ovalGitHub 星: 5000 颗星
STORM 由 stanford-oval
STORM(斯坦福开源RAG模型)是由斯坦福大学开发的研究型RAG框架。虽然它的星标数可能不如一些其他框架多,但其学术背景以及对最新技术的专注让它成了研究人员和开发人员感兴趣的宝贵资源,尤其是对RAG技术感兴趣的人员。STORM的一些亮点包括:
- 实现新型的RAG算法和技术
- 专注于提高检索和回溯机制的准确性和效率
- 与当前最先进的语言模型集成
- 编写详尽的文档和研究论文
对于那些希望探索RAG技术最前沿的人来说,STORM提供了坚实的基础,这得益于其严谨的学术态度。
GitHub — stanford-oval/storm: 一个由 LLM 驱动的知识整理工具,可以研究主题并生成带有引用的完整报告。 — GitHub5. pathwaycom 的 LLM-App
GitHub上的星标: 3.4K
pathwaycom的LLM-App
LLM-App 是一个提供模板和工具来构建动态 RAG 应用程序的集合。它以实时数据同步和容器化部署为特色而著称。LLM-App 的主要特点包括:
- 即用型的Docker容器,实现快速部署
- 支持动态数据源和实时更新
- 与流行的大语言模型及向量数据库集成
- 提供多种RAG使用场景的自定义模板
LLM-App更侧重于操作性和实时性能,使其成为一个对于希望部署这些即插即用的RAG系统的组织来说有吸引力的选择。
GitHub — pathwaycom/llm-app: 为企业打造的动态RAG。使用Docker即可运行,⚡支持SharePoint、Google Drive、S3、Kafka、PostgreSQL等。github.com 6. Cognita,由 truefoundry 提供GitHub 颗星: 3000 颗星
Cognita, 由 truefoundry
Cognita 是这个领域的新进入者,专注于提供一个统一的平台来构建和部署 AI 应用程序。虽然它相比其他一些框架的受欢迎程度较低,但其全面的方法和重视 MLOps 原则使其值得一试。一些值得注意的功能包括:
- 端到端的RAG应用开发平台
- 与流行的机器学习框架和工具集成
- 内置监控和可观察性功能
- 支持模型版本管理和实验追踪
Cognita全方位的人工智能应用开发方法使其成为一个极具吸引力的选择,对于希望简化整个ML生命周期的组织来说更是如此。
GitHub — truefoundry/cognita: RAG(检索增强生成)框架,用于构建模块化的开源应用程序,供生产使用…github.com 7. R2R — SciPhi-AIGitHub Stars: 2.5千
R2R,由SciPhi-AI制作
R2R(检索至检索)是一个专注于通过迭代改进检索过程的RAG框架(检索和生成框架)。尽管它的评分较低,但其在检索上的创新方法使其成为值得关注的框架之一。R2R的关键方面包括:
- 实现新颖的检索算法
- 支持多步骤检索过程
- 与各种嵌入模型和向量存储的整合
- 用于分析和可视化的检索性能工具
对于有兴趣探索检索技术边界的开发人员和研究人员,R2R提供了一套独特且强大的工具集。
8. 卫星的神经突质GitHub星标: 909
神经突由卫星组件引起
Neurite是新兴的RAG框架,旨在简化构建AI应用程序的过程。虽然其用户群体较小,但与一些其他框架相比,其对开发者体验和快速原型开发的关注使其值得一试。Neurite的显著特点包括:
- 用于构建RAG管道流程的直观的API
- 支持多种数据源和嵌入模型的使用
- 内置缓存和优化机制的功能
- 可扩展的架构以支持自定义组件的开发
Neurite 的简洁性和灵活性的特点使其成为开发者来说希望快速实现应用中 RAG 功能的理想选择。
GitHub — satellitecomponent/Neurite: 分形思维图谱。实验性思维映射适用于AI代理、网页链接、笔记和代码……GitHub主页 9. FlashRAG,由 RUC-NLPIR 提供GitHub 上的星标: 905 个星
FlashRAG,由中国人民大学自然语言处理与信息检索实验室(RUC)提供
FlashRAG 是由中国人民大学自然语言处理与信息检索实验室(NLP&IR实验室)开发的一款轻量且高效的 RAG 框架。虽然它的星标较少,但其专注于性能和效率,因此它值得关注。FlashRAG 的关键方面包括:
- 优化检索算法,提高速度
- 支持分布式处理和扩展性
- 与流行的语言模型及向量存储库集成
- 提供基准测试和性能分析工具,以帮助用户更好地了解系统表现
对于需要速度和效率的应用场景,FlashRAG 提供了一套专门的工具和优化措施。
GitHub — RUC-NLPIR/FlashRAG: ⚡FlashRAG:一个高效的Python工具包,用于RAG研究⚡ — https://github.com/RUC-NLPIR/FlashRAG 10. Canopy 由 pinecone-io 提供GitHub 星:923
Canopy 是由 Pinecone 公司开发的一种 RAG 框架,该公司以其在向量数据库技术方面的专长而闻名。Canopy 利用 Pinecone 在高效向量搜索方面的专业知识,提供了一个强大且可扩展的 RAG 解决方案。Canopy 的一些显著特性包括:
- 紧密集成 Pinecone 的向量数据库
- 支持实时流处理和实时更新
- 强大的查询处理和重排序功能
- 用于管理和版本控制知识库的工具
Canopy 强调的可扩展性及其与 Pinecone 生态系统的集成使其成为正在使用或考虑使用 Pinecone 来满足其向量搜索需求的企业的理想选择。
GitHub — pinecone-io/canopy: 由 Pinecone 提供支持的 RAG 框架和上下文引擎…由 Pinecone 提供支持的 RAG 框架和上下文引擎 — https://github.com/pinecone-io/canopy?source=post_page-----12b2a81f4a49--------------------------------在我们结束之前,让我们谈谈我们在开发过程中都会遇到的一个问题:使用Postman进行API测试,以支持您的团队的工作。
是的,我也听说过,Postman 的情况一年比一年糟,但你们是团队,需要一些协作工具来帮助你们的开发流程,对吧?所以你们每个月要花49美元来使用 Postman Enterprise。
现在告诉你:你不用:,
APIDog:你能在APIDog上得到所有Postman付费版本的功能,但更划算.
确实如此,APIDog 提供与 Postman 付费版本相同的所有功能,而且价格更便宜。迁移非常简单,你只需要点击几个按钮,APIDog 就会帮你搞定一切。
如何将Postman迁移到ApidogPostman是全球最广泛使用的API调试工具。然而,它存在许多不足之处。我们来看看…apidog.comAPIDog 拥有一个全面且易于使用的图形界面,让你可以立即开始工作。特别是如果你是从 Postman 迁移过来的话,它既优雅又易于协作和使用,还支持暗黑模式。
APIDog 让你非常容易从 Postman 迁移,完全没有学习曲线
想要找一个比 Postman 更好的替代工具吗?APIDog 绝对值得一用。但如果你是开发团队的技术主管,真的想换一种更好且更经济的选择,试试看!
Apidog,一站式 API 设计、调试、开发、模拟和测试平台。设计。调试。测试。模拟。更快一起构建 API。apidog.com 结论选择RAG框架时,请注意以下因素。RAG框架的世界多样且迅速演变,在这十个我们探索过的框架中,每个都提供了独特的优点和能力。从全面且成熟的Haystack到新兴的专业框架,如FlashRAG和R2R,无论需求或应用场景如何,总有一款适合。
- 你的项目的具体需求
- 你需要的定制化和灵活性
- 框架的可扩展性和性能
- 围绕框架的社区规模和活跃度
- 文档的质量和支持资源
通过仔细评估这些因素并尝试不同的框架,你可以找到最适合你需求的RAG解决方案,帮助你构建更智能、更懂上下文的AI应用。随着AI领域的不断进步和发展,我们可以期待这些框架会演化,新的框架也会不断出现。对于希望利用AI力量来增强其应用和服务的开发者和组织来说,了解RAG技术的最新进展至关重要。