RAG 企业级应用落地框架细节差异对比

▼最近直播超级多,预约保你有收获

1

什么是 RAG ?

RAG 检索增强生成本质上来讲,就三件事情:

61251738740141c773a8e6cf89e3fdf9.png

第一、Indexing 索引。即如何更有效地存储知识。

第二、Retrieval 检索。即在庞大的知识库中,如何筛选出少量的有益知识,供大模型参考。

第三、Generation 生成。即如何将用户的提问与检索到的知识相结合,使得大模型能够生成有价值的回答。

这三个步骤表面上看似乎并不复杂,然而在 RAG 从构建到实际部署的整个流程中,包含了众多精细且复杂的工作环节,这些落地细节是最具挑战的工作。

339be9a20fe85b2ffaa31777c5b79e5a.png

虽然 RAG 架构基本上是按照这些模块来设计的,但不同的实施方案在具体落地时各有其独特之处。

下面详细对比剖析。

 2

RAG 开源框架架构对比

第一、网易 QAnything

网易 QAnything 的亮点在于 Rerank 模块。

30509f1ec7a9599b2a5d79edc7bdb836.png

第二、RAGFlow

RAGFlow 的亮点在于数据处理模块和知识索引构建模块。

6a21177b1665afd793bceec13814ef26.png

第三、智谱 RAG

智谱 RAG 的亮点在于文档解析、切片、Query 改写及 Recall 模型的微调。

621acc278b21cf730780d3b71b4b1798.png

第四、FastGPT

FastGPT 的优点是模块动态配置灵活。

f792b0879c979a145108f133f9817bba.jpeg

 3

开源 RAG 框架的各个模块对比

第一、知识处理模块

  1. QAnything 的此模块使用了 PDF 文件解析,具体是通过 PyMuPDF 库来完成的,该库是目前效率最高的解析工具。在解析文档内容时,无论是文本文件还是图像文件,均使用 PyMuPDF 的 get_text 方法。需要注意的是,如果图像文件中不包含文字,使用此方法时将会出现错误。

  2. RAGFlow 的此模块 使用 OCR 和文档布局分析等功能,在标准的 RAG(检索增强生成)系统中通常被归为一个不太显眼的非结构化数据加载器部分。据此推测,RagFlow 的一个关键优势很可能在于其文件解析的能力。

  3. 智谱 RAG --:

  4. FastGPT --:

第二、召回模块

  1. QAnything 向量库使用了 Milvus 的混合检索策略(结合 BM25 全文检索和向量检索),在检索过程中不设定任何阈值,直接返回前 100 个最相关的结果(TopK =100)。

  2. RAGFlow 向量数据库选用了 ElasticSearch 进行操作。它实现了文本检索与向量检索的混合模式,尽管未明确指定所用的向量模型,但在文本检索方面,使用了 “huqie” 作为分词工具。

  3. 智谱 RAG 混合检索结合语义和全文检索,利用 BGE-M3 向量模型,不直接通过向量或文本检索召回数据,而是使用 RFF 算法进行排序。

  4. FastGPT 文章结构切片和递增索引策略有效解决了问题。四种数据构建方案表现佳:

    • 查询对原文:直接召回知识片段。

    • 查询对查询:便于维护,自动提取查询。

    • 查询对摘要:建立摘要与片段映射。

    • 伪答案对原文:生成伪答案召回片段。

    并对 Embedding 模型进行微调。

第三、Rerank 模块

  1. QAnything 精确排序使用自定义的 Rerank 模型,阈值设定为 0.35。

  2. RAGFlow 重排排序结合了文本匹配得分和向量匹配得分,其中文本匹配的默认权重为 0.3,向量匹配的权重为 0.7。

  3. 智谱 RAG 支持重排功能,可动态调整设置;整合嵌入向量(Embedding)与全文搜索(FullText)的结果,并按 ID 进行去重处理;对问答(QA)字符串进行拼接,移除其中的空格和标点符号,并对处理后的字符串进行哈希编码以实现去重;若已配置重排序(Rerank)模型,则调用该模型对结果进行重新排序,并在评分(Score)中新增重排序得分;若未配置,则评分中不会包含重排序得分。

  4. FastGPT --:

第四、大模型处理模块

  1. QAnything 将所有数据集合并至一个提示词(Prompt),并对最大 token 长度进行了优化处理。

  2. RAGFlow 对大模型可处理的 token 数量进行限制筛选。

  3. 智谱 RAG --。

  4. FastGPT 在模型微调过程中,我们采取了分步骤的策略:起初使用公开可用的通用问答数据集进行初步微调,随后利用特定领域的问答数据进行进一步微调,最终使用经过人工精确标注的高质量问答数据来进行细致的微调。

第五、Web 服务模块

  1. QAnything 利用 Sanic 框架搭建 Web 服务。

  2. RAGFlow 基于 Flask 构建 Web 服务。

  3. 智谱 RAG --。

  4. FastGPT --。

第六、切词处理模块

  1. QAnything 利用自定义的 ChineseTextSplitter 完成。

  2. RAGFlow 基于 huqie 完成。

  3. 智谱 RAG --。

  4. FastGPT --。

第七、文件存储模块

  1. QAnything --

  2. RAGFlow MinIO 被选用于文件存储解决方案。。

  3. 智谱 RAG --。

  4. FastGPT --。

 4

RAG 框架总结

1、Qanything 的 Rerank 模块设计极为出色。

2、RAGFlow 在文档处理方面表现卓越。

3、FastGPT 模块具备丰富的动态配置选项。

4、智谱 RAG 在特定领域数据的微调训练上表现最佳。

然而,一切脱离业务场景谈架构都是耍流氓,结合具体业务场景考虑下,并不存在绝对的“最好”。在各自的业务场景应用中,能够成功实施并产生效果的就是最佳选择。实践落地才是关键,落地成效为王道!

 5

AI 大模型应用落地直播课

为了帮助同学们彻底掌握 AI 大模型的应用落地实战技能,包括:RAG、Agent、微调、Prompt、知识图谱、向量数据库等,今天的直播和同学们深度剖析,请同学们点击以下预约按钮免费预约

6

加我微信

有很多企业级落地实战案例,不方便公开发公众号,我会直接分享在朋友圈欢迎你扫码加我个人微信来看👇

8fa8d584f286bbf193b6adbde2f9ca0e.jpeg

⬇戳”阅读原文“,立即预约!

END

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值