【AI 开发者工具系列】8 个热门开源 RAG 项目大盘点:优缺点对比 + 应用场景分析 + 易用性解读

QAnything PDF解析相关模型

本文将深入剖析 8 个热门开源 RAG 项目,从定义、应用场景以及易用性等多个维度展开全面解读,助力开发者精准抉择契合自身需求的工具。

1、 LlamaIndex(个人开发)

在这里插入图片描述

LlamaIndex 是一款多功能、高效且易于使用的 RAG 框架,也是出现最早的 RAG 框架,支持的数据源很多,拥有活跃的社区支持。这是我首次接触的 RAG 框架,去年 8 月在开发大模型辅助阅读工具便已采用,其接口设计出色,使用体验极佳,许多 RAG 流程优化方法及标准化组件的定义均源自该项目的博客。

LlamaIndex 支持多种数据源,包括表格数据(如 DataFrame),可以直接处理,适用于需从表格中提取和使用信息的场景。此外,LlamaIndex 还兼容图数据库,例如 NebulaGraph,通过集成可以利用图数据库的功能来存储和管理知识图谱数据,从而在构建知识图谱问答系统时有效利用图数据库的查询和分析能力。LlamaIndex 提供了简单易用的 API 和工具,便于开发者快速集成到应用程序中,项目还包含一系列教程和示例,帮助用户理解和实现复杂的 RAG 技术,如果你是一个新手,想由浅入深系统掌握 RAG 技术,推荐从这个框架开始学习。

2、 Verba(个人开发)

Verba 是向量数据库厂商 Weaviate 在 2024 年 3 月开源的一个模块化 RAG 框架。
在这里插入图片描述

Verba 支持数据的快速上传和管理,包括创建、读取、更新和删除(CRUD)功能,并且能够显示用于生成答案的具体数据源和段落,Verba 架构分为五个关键步骤:读取管理器(ReaderManager)、分块管理器(ChunkerManager)、嵌入管理器(EmbeddingManager)、检索管理器(RetrieveManager)和生成管理器(GenerationManager),每个步骤都是可定制的,以适应不同的用例。

特性:

  1. 生成模型支持:支持多种模型,包括 Ollama、HuggingFace、Cohere、Anthropic 和 OpenAI 等模型 。
  2. 嵌入支持:支持 Weaviate、SentenceTransformers 和 VoyageAI 的嵌入模型 。
  3. 数据源支持:可以处理多种数据格式,包括 PDF、CSV/XLSX、.DOCX 文件,还可以从 GitHub 和 GitLab 导入文件,甚至可以通过 Firecrawl 抓取网页 。
  4. RAG 特性:具备混合搜索、自动完成建议、过滤、可定制元数据、异步数据预处理等功能 。
  5. 分块技术:支持多种文本分块技术,包括基于标记、句子、语义的分块,以及针对 HTML、Markdown、代码和 JSON 文件的特殊分块方法 。
  6. 接入支持:支持 LangChain、Haystack 和 LlamaIndex 。
  7. 易用性:提供了直观的用户界面和简化的工作流程,使得用户可以轻松地导入数据、配置模型和嵌入,以及执行 RAG 任务,它还提供了详细的文档和社区支持,以帮助用户快速上手 。

不过作为一个新开源的项目,在社区支持和文档完整性方面还有待提升,在处理极大规模数据时,性能和资源占用可能需要进一步优化,不过如果你在用 Weaviate 向量数据库,建议搭配使用,问题响应积极。

3、 QAnything[4](企业部署)

QAnything 是由网易有道 2024 年 1 月开源的一款基于 RAG 的本地知识库问答系统。
在这里插入图片描述

QAnything 项目是一款基于本地文件和数据库的问答系统,支持多种文件格式,如 Word、PPT、Markdown、CSV 和网页链接等。该系统还具备处理 PDF 中的图片和表格、执行 Web 搜索、管理 FAQ 和创建自定义 Bot 的功能,具有高度的灵活性。QAnything 强调数据安全,支持离线部署使用,适用于对数据保密性有严格要求的用户,并能高效处理大规模数据的问答任务,通过两阶段检索机制确保查询结果的准确性。作为一套完整的 RAG 系统,QAnything 在后端采用了专门优化的自研 BCEmbedding 模型 和 BCEmbedding-Reranker 模型以及微调后的生成模型,包括完成度很高的的前端交互部分,整体设计得易于安装部署,无需进行复杂配置即可快速启动。

特别需要注意的是,QAnything 采用 AGPL-3.0 开源协议。这意味着,如果你的软件计划作为网络服务运行且不希望开源,应避免使用该项目。对于考虑基于 QAnything 进行企业级软件开发的用户,建议仔细评估相关风险,必要时可考虑购买付费许可证。

4、 RAGFlow(企业部署)

RAGFlow 是一款基于深度文档理解构建的开源 RAG 引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

img
RAGFlow System Architecture

RAGFlow 是国内团队(英飞流 InfiniFlow)于 2024 年 4 月开源的一款 RAG 引擎,其设计哲学是“高质量输入,高质量输出”,因此 RAGFlow 在数据预处理方面提供了广泛的支持,特别是其核心组件 DeepDoc,专注于非结构化数据的预处理。

DeepDoc 的功能包括:

  1. OCR 扫描:利用 OCR 模型处理复杂文档。
  2. 布局识别:使用 Yolov8 识别文档布局,如标题、段落、表格、图像等。
  3. 表格结构识别(TSR):识别表格结构,包括行、列、表头、单元格合并等。
  4. 分块方式:用户可根据文档类型选择合适的分块策略,如问答、简历、论文、手册等。
  5. 文档解析:支持 Word、PPT、PDF、CSV 等多种文件格式。RAGFlow 能自动从无序文本中提取关键信息并进行结构化处理,例如将简历中的文本解析为姓名、联系方式、工作经历、教育背景等。

RAGFlow 的一大亮点在于其文本分块过程的可视化和支持人工干预。用户不仅能查看系统处理的结果,还能清晰了解文档如何被分块和解析,这种设计有助于用户核查和调整 AI 的输出,确保最终结果的准确性和可靠性。此外,与 LlamaIndex 类似,RAGFlow 也支持 Agentic RAG(通过在 RAG 流程中引入 AI 代理来增强系统能力,详细介绍见What is Agentic RAG[6])。

本项目采用 Apache License 2.0 许可,这是一种较为宽松的开源协议,适合商业使用。尽管 RAGFlow 支持多种数据源,但在处理特定行业的特殊格式文本时仍有一定的局限性。建议企业在采用时考虑购买更专业的文档智能商业服务(相关内容将在后续文章中详细讨论),以提升使用体验。

5、 quivr(个人使用)

Quivr,帮助您打造第二大脑,利用 GenerativeAI 的力量成为您的私人助理!

img

Quivr 是一款旨在帮助个人和企业构建“第二大脑”的知识管理平台。对于个人用户,它提供了一个基于 RAG 技术的个人知识库,而对于企业,则提供了一套全面的知识管理解决方案。该平台的核心在于将企业的内部知识整合为一个统一的知识库,使团队能够更高效地访问和利用这些知识,而不仅仅是被动地寻找所需信息。

Quivr 强调团队应充分利用公司的集体智慧和专业技能,不断更新和完善内部知识库,以促进不同部门间的协作。此外,平台支持与多种应用程序和数据源的集成,涵盖云端和本地存储、聊天记录等,通过直观的接口实现全公司范围内的知识搜索。用户可以轻松组织和分享重要信息,创建文档和链接的集合,确保所有员工的信息同步和一致。

特性:

  1. 通用数据接受性:Quivr 能够处理几乎任何类型的数据,包括文本、图片、代码片段等。
  2. 快速高效:以速度和效率为核心设计,确保快速访问数据。
  3. 安全性:用户可以控制他们的数据,确保数据安全和隐私。
  4. 文件兼容性:支持多种文件格式,包括 Markdown、PDF、PPT、Excel、Word、音频和视频。

如果你不想折腾,需要一个完成度高且成熟的 RAG 技术构建的个人知识管理产品,选这个就对了。

6、 khoj(个人使用)

在这里插入图片描述

这款产品自称是打造“第二大脑”的利器,不仅具备 Quivr 的所有功能,还在知识管理之外提供了研究工具,帮助用户激发创意,生成新内容,尤其适合需要频繁产出的个人。Khoj AI 提供了一个多模态的 AI 助手,能够跨文档和互联网解答复杂问题,并支持可视化概念和语音交互。此外,用户可以通过多种渠道访问 Khoj AI,如 笔记软件 Obsidian 和 代码编辑器 Emacs 等,实现与日常工作的无缝对接。我对其进行了个性化调整,可以在微信中使用,并且支持自定义 Agent,定期执行特定任务。因此,相较于 Quivr,Khoj AI 更符合我的知识管理需求。

7、 mem0(个性化记忆)

img

这个项目被纳入 RAG 主题的原因在于其本质是对检索和数据存储过程进行了进一步的抽象化,底层支持多种数据存储方式,包括向量数据库、键值数据库和图数据库,为 AI 提供了强大的记忆中间层,确保最相关的信息随时可用。与 RAG 相比,该项目能够理解和关联对话中的不同实体,形成更深入的上下文理解。RAG 通常基于静态文档检索,而该项目不仅考虑信息的时效性,优先使用最近和最相关的信息,还能跨会话保持上下文,支持数据的动态更新。RAG 则通常依赖于静态数据集,适用于单次问答的准确性要求较高的场景;而该项目则更侧重于解决多轮对话的连续性问题。

特点:

  1. 多层次记忆:支持用户级、会话级和代理级的记忆保存。
  2. 自适应个性化:根据用户交互持续优化,提供精确的个性化记忆。
  3. 开发者友好 API:设计简洁,易于集成。
  4. 智能数据管理:依据最近性、相关性和重要性综合管理存储数据。
  5. 实体关系处理:理解和关联不同交互中的实体,加深上下文理解。
  6. 动态更新机制:实时调整存储信息,确保使用最新且最相关的数据。

虽然很易用,但也由于过于抽象,无法设置自定义的记忆管理规则,不过 mem0 的 roadmap 也有规划提供一些自定义规则支持。项目的核心理念是通过时间加权的方法提炼交互内容,确保重要的信息被保留以满足大模型的 context 窗口。然而,随着记忆内容的积累,也面临着数据存储和处理的挑战,特别是难以高效地提炼出最重要的历史交互记录,况且每次都需要依赖大语言模型来提炼总结,增加了成本,此外项目还利用知识图谱来组织信息,但尚未提供相应的管理接口。

总体而言,尽管存在一些问题,但是这个项目已经做了大量工作。对于希望开发个性化助手产品(如虚拟伴侣、医疗助手等)的开发者来说,建议在此基础上进行二次开发,加入区分长短期记忆的管理策略,就不输市面上很多号称有长记忆能力的 AI 应用用户体验了,因为他们的技术实现也差不多,体验更好一点的就是单独训练了角色大模型而已。

根据医学中人类的几种记忆方式,将 AI agent 的记忆系统分为短期记忆与三种长期记忆:

短期记忆:

工作记忆(Working Memory):这一轮决策所需要用到的所有信息。其中包括上下文内容,例如从长期记忆中检索到的知识;也包括 LLM context 以外的信息,例如 function call 时使用其他能力所产生的数据

长期记忆:

事件记忆(Episodic Memory):Agent 对过去多轮决策中所发生事情的记忆。每一次 LLM 有了新的行为和结果,agent 都会把内容写进情节记忆。例如在 Generative agents 小镇中,虚拟小镇的 agent 居民会把自己每天看到的事、说过的话计入事件记忆。要使得用户得到个性化的使用体验,这一部分的优化是至关重要的。

语义记忆(Semantic Memory):Agent 对自身所在世界的语义知识记忆,一般通过外部向量存储和检索来调用。这一部分记忆可以用类似知识图谱的思路,使 agent 之间的知识更方便共享和更新。同样以 Generative agents 小镇为例,agent 居民会记忆其他居民的爱好、生日等信息,这都是语义记忆。

程序记忆(Procedural Memory):在一些特定场景下,agent 执行操作的 workflow 会通过代码的形式在框架中写出来。这类记忆使部分行为能够按照更可控的工作流来执行。以 Generative agents 小镇类比,agent 居民会有自己的行为习惯,比如每天晚上要去某条街散步等等。

8、 Perplexica(AI 搜索)

Perplexica 是一个由 AI 驱动的搜索引擎,它是 Perplexity AI 的开源替代品。

在这里插入图片描述

Perplexica 是一款基于 AI 的搜索引擎,它利用 SearxNG(一个免费的聚合搜索引擎,整合了超过 70 个搜索服务的结果,且不对用户进行追踪或分析)来确保信息的时效性,同时保障用户隐私。该平台支持本地大语言模型(例如 Llama3 和 Mixtral),并提供两种主要操作模式:Copilot 模式和普通模式。Copilot 模式通过生成多样化的查询来提升搜索结果的相关性,而普通模式则直接处理用户的查询请求并执行网络搜索。此外,Perplexica 还提供了六种专业搜索模式,包括全部搜索、写作助手、学术搜索、YouTube 搜索、Wolfram Alpha 搜索和 Reddit 搜索。

众多开源的 AI 搜索引擎项目中,Perplexica 开源较早,维护活跃,成熟度高,代码质量优秀,因此成为我二次开发的理想选择。对于希望学习 AI 搜索引擎技术的开发者来说,其他如morphicLepton Searchllm-answer-engine 等开源项目也值得参考。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

您可能感兴趣的与本文相关的镜像

QAnything PDF解析相关模型

QAnything PDF解析相关模型

文本生成
OCR
PDF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值