AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


RAG 企业级应用落地框架细节差异对比
发布日期:2024-07-23 12:16:01 浏览次数: 2265



1

什么是 RAG ?

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

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

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

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

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

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

下面详细对比剖析。

 2

RAG 开源框架架构对比

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

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

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

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


 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 在特定领域数据的微调训练上表现最佳。
然而,一切脱离业务场景谈架构都是耍流氓,结合具体业务场景考虑下,并不存在绝对的“最好”。在各自的业务场景应用中,能够成功实施并产生效果的就是最佳选择。实践落地才是关键,落地成效为王道!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询