来自工业界的开源知识库 RAG 项目最全细节对比
创作时间:
作者:
@小白创作中心
来自工业界的开源知识库 RAG 项目最全细节对比
引用
CSDN
1.
https://blog.csdn.net/hustyichi/article/details/140293940
背景介绍
之前详细整理过来自工业界的不少开源 RAG 项目:
- 有道 QAnything
- RAGFlow
- langchain-chatchat
- 中科院 GoMate
- Dify
- FastGPT
考虑到目前实际发展程度,GoMate 目前的可靠性还不适合在生产环境使用。因此主要对比其他几个更成熟的热门开源项目。
如果只关心技术选项结论,可以直接跳到最后。
项目基础信息介绍
主要关注项目的一些基础信息,可以给出初步选型建议:
项目 | Star 数量 | 持续维护性 | 社区活跃度 | 代码质量 | 版权信息 |
|---|---|---|---|---|---|
QAnything | 10.6k | ⭐️ | ⭐️⭐️ | ⭐️⭐️⭐️ | Apache-2.0 |
RAGFlow | 11.2k | ⭐️⭐️⭐️ | ⭐️⭐️⭐️ | ⭐️⭐️ | Apache-2.0 |
langchain-chatchat | 29.7k | ⭐️⭐️⭐️ | ⭐️⭐⭐️ | ⭐️⭐️ | Apache-2.0 |
Dify | 36.7k | ⭐️⭐️⭐️ | ⭐️⭐️⭐️ | ⭐️⭐️⭐️ | 附加条件的 Apache-2.0 |
FastGPT | 15.3k | ⭐️⭐️⭐️ | ⭐️⭐️⭐️ | ⭐️⭐️ | 附加条件的 Apache-2.0 |
- 项目热度上,Dify 和 langchain-chatchat 因为开源较早,star 数量最多,其他项目也属于比较热门的了;
- 项目可维护性上,除了 QAnything 之外的其他项目都在持续更新,QAnything 5 月 17 后就不再新增功能了,因此建议谨慎选择;
- 代码质量上,QAnything 和 Dify 质量较高;
- 版权问题上,Dify 和 FastGPT 限制不允许用于构建多租户的 Saas 服务,同时不允许去掉版权信息,其他项目没有限制;
考虑到项目开箱即用的程度以及二次开发的难度,下面主要对比下技术栈:
项目 | 前端技术栈 | 后端技术栈 |
|---|---|---|
QAnything | 只有打包后前端文件,无法二次开发 | python + sanic |
RAGFlow | React + TypeScript | python + flask |
langchain-chatchat | Streamlit 实现的临时前端 | python + FastAPI |
Dify | NextJs + TypeScript | python + flask |
FastGPT | NextJs + TypeScript | TypeScript + NextJs |
- 从前端角度来看,langchain-chatchat 没有生产环境可用的前端,QAnything 无法提供可修改的前端,其他几家都有可用的前端页面,技术栈都是基于 React 的
- 从后端角度来看,除了 FastGPT 选择了基于 TypeScript 构建,其他都是基于 Python 开发的;
项目框架对比
主要比较不同项目的核心亮点,方便有针对性选择合适的项目
QAnything
- 重点强调 Rerank 机制,强调 Embedding + Rerank 模型的联合使用可以提升文档召回质量;
RAGFlow
- 重点强调文档的精细化解析,在文档解析上做了不少优化;
langchain-chatchat
- 强调支持离线私有化部署,对于私有化部署支持完善,但是从 langchain-0.3.0 之后部署方式也发生了变化,与其他项目的差异不大;
Dify
- 丰富的召回模式,支持跨知识库召回;
- 支持 QA 模式,可以基于原始文档生成问答对进行召回;
- 支持工作流编排;
FastGPT
- 支持 QA 模式,可以基于原始文档生成问答对进行召回;
- 支持工作流编排;
初步看来,如果对于文件精细解析感兴趣,可以优先选择 RAGFlow。如果希望具备任务流编排或 Agent 相关能力,可以关注 Dify 和 FastGPT
RAG 能力比较
作为 RAG 服务,从目前了解的信息来看,主要关注下面的一些基础能力:
- 文件的精细解析能力,是否能支持常规格式,是否具备结构化分片与检索的能力;
- 知识库检索效果,因为知识库检索是 RAG 的核心能力,能否高质量召回直接决定 RAG 的最终表现;
- 跨知识库检索的支持,目前来看跨知识库检索,自动选择合适的知识库对上层业务还是比较友好,也是比较实用的能力;
下面从这些角度比较现有项目, 注意比较存在一些主观因素,同时各个项目也在持续迭代,后续项目中缺失的能力也可能会被补齐,所以大家可以参考下,实际使用时还需要自行调研下:
项目 | 文件精细解析能力 | 知识库检索效果 | 跨知识库检索支持 |
|---|---|---|---|
QAnything | ⭐️⭐️ | ⭐️⭐️ | ⭐️ |
RAGFlow | ⭐️⭐️ | ⭐️⭐️ | ⭐️ |
langchain-chatchat | ⭐️⭐️ | ⭐️⭐️ | ⭐️ |
Dify | ⭐️⭐️ | ⭐️ | ⭐️⭐️⭐️ |
FastGPT | ⭐️ | ⭐️⭐️ | ⭐️ |
- 文件精细解析,RagFlow 应该做的最深入的,但是实际测试解析很慢,而且容易失败,所以没有额外给更高的评分。FastGPT 目前支持的格式会更少一些,部分原因是因为 js 没有 Python 那么丰富的库可以使用;
- 知识库检索,实际测试时常规几个的检索效果都还不错,但是 Dify 测试时检索效果不佳,经常召回不到正确的内容;
- 跨知识库检索,目前只有 Dify 提供了相关的能力,而且支持的模式比较丰富,其他的应该都还没有支持;
Agent 能力比较
目前实际在生产环境使用时,除了单纯的知识库检索之外,可能会需要拓展其他外部工具,并根据业务流程编排现有工具列表,因此主要关注下面两部分能力:
- 能否拓展支持其他工具;
- 能否支持任务流编排;
下面主要从这些部分比较现有项目:
项目 | 工具可拓展性 | 支持任务流编排 |
|---|---|---|
QAnything | ⭐️ | ⭐️ |
RAGFlow | ⭐️ | ⭐️⭐️ |
langchain-chatchat | ⭐️⭐️ | ⭐️ |
Dify | ⭐️⭐️⭐️ | ⭐️⭐️⭐️ |
FastGPT | ⭐️⭐️ | ⭐️⭐️⭐️ |
- 工具可拓展性上,Dify 目前比较完善,支持了大量的外部拓展工具,新工具的支持也更便利,FastGPT 同样也具备良好的拓展性,其他项目主打 RAG 方向,在这一块的支持比较有限;
- 任务流编排,目前 Dify 和 FastGPT 都支持良好,RAGFlow 刚刚上线,其他都还没有支持;
项目部署比较
RAG 涉及的不同的服务以及模型的部署,选择 RAG 方案的企业很多都关心内部内容的隐私问题,一般期望能私有化部署。目前主要从这两方面比较下现有项目:
- 部署难易程度;
- 是否支持离线部署;
项目 | 部署难易程度 | 是否支持离线部署 |
|---|---|---|
QAnything | ⭐️⭐️ | ⭐️⭐️ |
RAGFlow | ⭐️⭐️ | ⭐️⭐️ |
langchain-chatchat | ⭐️⭐️ | ⭐️⭐️ |
Dify | ⭐️⭐️ | ⭐️⭐️ |
FastGPT | ⭐️⭐️ | ⭐️⭐️ |
从目前来看,项目部署都是基于 docker 进行部署。大模型的加载都是基于 Xinference 或 Ollama 等外部服务。
如果需要在离线环境部署,需要自行下载所需 docker 镜像。部分项目提供了源码安装的方式,但是操作会繁琐很多,建议优先选择 docker 方案。
总结
本文对比了目前比较热门的开源 RAG 项目,给出一些推荐建议:
- 综合评价最完备的应该是 Dify,功能比较完善,可拓展性较好,但是需要注意版权问题,另外 RAG 检索效果不佳的问题也需要进行一些优化;
- 如果不熟悉 Python 技术栈,希望尽可能专注业务功能的开发,那么可以优先选择 FastGPT;
- 如果对高质量的文件解析比较在意,可以参考 RAGFlow;
- 如果希望不借助 docker 快速搭建离线的 RAG 演示 demo,那么可以考虑 langchain-chatchat 0.2.x, langchain chatchat 0.3.0 以后也将模型部署迁移出去,部署方案与其他项目差异不大了;
- QAnything 就不建议选择了,RAG 技术目前发展得很快,官方不维护的项目后续很难与其他项目竞争;
热门推荐
称呼别人时要注意什么-称呼的注意事项-怎么称呼
教育变革浪潮:教师行业的新挑战与机遇
广州:小米SU7Ultra突然变道致三车碰撞,行车记录仪还原事发经过
眼部手术有哪些?眼部手术大全介绍
有效应对狐臭的综合调理建议与心理调适技巧分享
蔓迪与达霏欣哪个更好(蔓迪米诺地尔酊真的能生发吗)
成长档案的整理与收集指南:从幼儿到高中全覆盖
“绝色美男”金城武:让陈冠希服气,让林志玲着迷,让蔡依林倾心
如何解决汽车皮带异响问题?解决异响的常见方法有哪些?
铁公鸡是什么?铁公鸡现象对投资有何启示?
购汇有额度限制吗?答案在这里
东方集团因造假被罚或将退市 中小投资者权益如何保护?
合同即将到期前的准备工作:从报告到续约的法律实务解析
智能电视更新指南:重要性、方式及注意事项详解
高效做PPT的策略:节省时间的方法
深入贯彻落实国家消费品以旧换新政策,“2025全国家电消费季”在沪启动
材料科学与工程专业排名前十的大学有哪些(2024最新前十强大学名单)
行政管理专业学什么?这4大核心能力让你成为管理多面手!
运动减肥的最好方法是什么?跳绳减肥运动简单有效
容斋谈史 | 高密城的老城墙
softmax层:深度学习中的分类利器
灰枣与和田枣哪个比较好
如何探究黄金价格的市场规律?这些规律对投资收益有何影响?
ESPN25年首期选秀模拟:奇才状元选中弗拉格,湖人无选秀权
交通事故中如何有效收集证据
解锁音乐密码:五声音阶全揭秘!
橄榄油的功效与作用及禁忌:食用方法全解析
一个容易被忽视的顶级思维:永恒轮回
鸡蛋、白菜、韭菜、西红柿、辣椒怎么挑选?一文详解常见蔬菜选购技巧
2025年九年级英语教学改革计划