犀牛鸟 2026 · 开源研究笔记

RAG 平台选型决策树

调研日期:2025-06-22 基于 5 项目精读 + 横评综合

一句话定位

面对 5 个 RAG 开源项目,根据团队规模、文档类型、检索质量要求、部署环境、预算、可扩展性和生态,系统化地找到最适合的选型——不是”哪个最好”,而是”哪个最匹配”。


为什么需要决策树

选 RAG 平台不是选手机——不存在一个”综合最强”的万能选手。更像选交通工具:运货选卡车、赶时间选高铁、游山选越野,选错了不是”差一点”,而是根本到不了目的地。

5 个 RAG 项目各有明确的设计哲学差异:

选择悖论(Paradox of Choice):选项越多,决策越难,反而容易做出”默认选最火的”这种偷懒决策。Dify 144K star 不代表它适合所有场景——一个只做 PDF 表格提取的项目用 Dify 就是南辕北辙。

决策树的价值在于:把隐性的取舍显性化。每个分支节点都是一个必须回答的问题,每个叶子节点都是一个不可再分的推荐。不用决策树,你会同时在 5 个选项之间犹豫;用了决策树,3-4 个问题就能定位到唯一答案。

选型全景见 RAG 知识库赛道总览,各项目精读见下方交叉引用。


决策维度

日常类比:选房子要看位置、面积、价格、学区、物业——选 RAG 平台也一样,关键是搞清楚自己最在意哪个维度,而不是每个维度都要满分。

1. 团队规模与技术能力

这是第一道分水岭。一个没有后端工程师的 3 人创业团队,和一个 20 人技术团队,面对同样的业务需求,最优选型完全不同。

团队画像 技术能力约束 对选型的影响
个人开发者 只会 Python/JS,不会 Go 排除 WeKnora(Go 核心难改)
3-5 人创业团队 全栈但人少,运维资源有限 偏好单 Docker 部署方案
10-20 人技术团队 有后端 + 运维,可接受多组件 可以考虑 WeKnora / RAGFlow
企业 IT 团队 需要多租户 + 权限 + 审计 FastGPT 或自研权限层

关键判断:团队能否维护 3 个以上的外部依赖(向量数据库 + 图数据库 + LLM 网关)?如果不能,WeKnora 直接排除。

2. 文档类型与复杂度

文档是 RAG 的燃料。燃料品质不同,引擎的选择也不同——给拖拉机加航空煤油跑不起来,给喷气式飞机加柴油也飞不上天。

文档特征 典型场景 最强选手 次选
纯文本为主 内部 Wiki、FAQ 任意(差异不大) —
PDF 表格密集 财报、合同、报价单 RAGFlow(DeepDoc) WeKnora(需预处理)
扫描件/OCR 纸质档案、发票 RAGFlow(内建 OCR) AnythingLLM(基础 OCR)
代码 + 文档混合 技术文档仓库 Dify(灵活分 chunk) WeKnora(代码感知)
结构化数据 数据库、CSV、API WeKnora(图谱检索) Dify(自定义数据源)

关键判断:文档中表格/图片/公式的占比超过 30%?如果是,RAGFlow 的 DeepDoc 是目前开源方案中解析能力最强的,没有之一。

3. 检索质量要求

检索质量是 RAG 的命门。但”高质量”是有代价的——就像精度的手表比普通手表贵 10 倍,但大多数场景不需要那 0.01 秒的精度。

质量等级 定义 典型场景 必要条件
基础够用 Top-5 召回率 > 60% 内部知识库浏览 单路向量检索 + 简单 chunk
中等 Top-5 召回率 > 80% 客服机器人(允许偶尔转人工) 向量 + 关键词混合
极高 Top-5 召回率 > 95%,且排序准确 法律/医疗/金融,答案必须正确 三路混合 + Rerank + 图谱

关键判断:答案错误的代价有多大?客服答错可以道歉,医疗诊断答错要出人命。代价越高,越应该选 WeKnora 的三路混合检索。

评估方法论详见 RAG 评估方法论。

4. 部署环境

环境 约束 最适候选
完全本地/离线 无外网、数据不出机器 AnythingLLM(内建 LanceDB)
自托管 Docker 有服务器、可连外网拉模型 全部 5 个都支持
云托管/SaaS 无运维人力、按量付费 Dify Cloud / FastGPT Cloud
混合 数据在本地、模型在云端 Dify(支持混合部署)

关键判断:数据合规是否允许文档上传到第三方云?如果不允许,排除所有纯云方案;如果允许,云方案能省 80% 运维成本。

5. 预算与资源

资源维度 低预算(< 2 人月) 中预算(2-10 人月) 高预算(> 10 人月)
人力 AnythingLLM(开箱即用) Dify(配置为主,少量开发) WeKnora(需深度定制)
硬件 AnythingLLM(单机即可) Dify/RAGFlow(1-2 台服务器) WeKnora(向量 DB + 图 DB + 多 GPU)
时间 1 天上线 1-2 周上线 1-3 月深度定制

关键判断:有没有 3 个月以上的持续投入承诺?RAG 不是”上线就完”的项目——文档在变、模型在变、用户需求在变。没有持续维护预算,选最简单的方案。

6. 可扩展性需求

扩展性就像房子的承重墙——建的时候多花一点,改的时候少拆很多。

扩展方向 最灵活 最受限
自定义检索策略 WeKnora(可替换检索器) AnythingLLM(固定管线)
自定义分 chunk RAGFlow(多种分 chunk 策略) AnythingLLM(自动分 chunk)
接入外部工具/Agent Dify(原生 Agent 节点) RAGFlow(无 Agent 编排)
多模态扩展 Dify(插件机制) FastGPT(有限扩展)
自定义 UI Dify/FastGPT(可嵌入) AnythingLLM(固定 UI)

关键判断:6 个月内是否需要深度定制检索逻辑或接入自定义数据源?如果是,排除 AnythingLLM 和 FastGPT。

7. 生态与社区

生态规模决定你遇到问题时能多快找到答案。但 star 数不等于活跃度——要看的指标是:

指标 WeKnora Dify RAGFlow AnythingLLM FastGPT
GitHub Star 18.1K 144K 83K 61K 28K
近 30 天 PR 数 活跃 极活跃 活跃 中等 中等
中文文档质量 高 高 高 中 高
插件/扩展市场 无 有 无 有 有
企业客户案例 少 多 中 中 多

关键判断:团队是否习惯”看文档解决问题”还是”去社区问人”?文档党选 WeKnora/RAGFlow(中文文档完善),社区党选 Dify(社区最大,踩坑记录最多)。


决策输入维度(汇总)

维度 选项
是否需要可视化 Agent 编排 是 / 否
检索质量要求 极高 / 中等 / 基础够用
文档类型 PDF 表格密集 / 纯文本为主 / 混合
部署要求 完全本地 / 自托管 Docker / 云
技术栈偏好 Go / TypeScript / Python
团队规模 个人 / 小团队 / 企业
延迟预算 严格 SLA / 可接受秒级
预算 低(< 2 人月)/ 中 / 高(> 10 人月)
可扩展性 需深度定制 / 配置级 / 开箱即用
生态依赖 社区优先 / 文档优先 / 都可

ASCII 决策树

以下决策树从最关键的问题开始,逐层分支。每个菱形是一个判断节点,每个矩形是推荐结果。按顺序回答问题,就能定位到最适合的选型。

                    ┌─────────────────────┐
                    │   选哪个 RAG 平台?  │
                    └─────────┬───────────┘
                              │
              ┌───────────────┴───────────────┐
              │ Q1: 需要可视化 Agent 工作流编排? │
              └───────┬───────────────┬───────┘
                   是 │               │ 否
                      │               │
            ┌─────────┴──────┐        │
            │ Q1a: 需要企业级  │        │
            │ 多租户 + 权限?  │        │
            └──┬──────────┬──┘        │
             是│          │否          │
               │          │            │
        ┌──────┴──┐  ┌────┴─────┐     │
        │ FastGPT │  │  Dify     │     │
        │ (企业级  │  │ (最灵活的 │     │
        │  权限+   │  │  工作流)  │     │
        │  工作流) │  │           │     │
        └─────────┘  └───────────┘     │
                                       │
                  ┌────────────────────┴───────────────────┐
                  │ Q2: 检索质量要求极高(答案错误的代价大)? │
                  └───────┬───────────────────────┬───────┘
                       是 │                       │ 否
                          │                       │
               ┌──────────┴──────────┐            │
               │ Q2a: 团队能维护     │            │
               │ Go 栈 + 3+ 外部依赖?│            │
               └──┬──────────────┬──┘            │
                是│              │否               │
                  │              │                 │
           ┌──────┴─────┐  ┌────┴──────┐          │
           │  WeKnora    │  │ Q2b: PDF/  │          │
           │ (三路混合    │  │ 表格占比   │          │
           │  检索+图谱) │  │ > 30%?    │          │
           └────────────┘  └─┬───────┬──┘          │
                           是│       │否            │
                             │       │              │
                      ┌──────┴──┐ ┌──┴────────┐    │
                      │ RAGFlow │ │ Dify + 自定 │    │
                      │ (最强    │ │ 义检索策略  │    │
                      │  文档解析│ │ (用 Dify 的 │    │
                      │  + OCR) │ │  灵活度补)  │    │
                      └─────────┘ └────────────┘    │
                                                     │
                    ┌────────────────────────────────┴───────────┐
                    │ Q3: 完全本地部署,零外部依赖(数据不出机器)? │
                    └───────┬───────────────────────────┬───────┘
                         是 │                           │ 否
                            │                           │
                     ┌──────┴───────┐     ┌─────────────┴──────────┐
                     │ AnythingLLM  │     │ Q4: 快速原型 还是 生产?  │
                     │ (单文件部署, │     └──┬─────────────────┬──┘
                     │  内建向量DB) │      原型│               │生产
                     └──────────────┘         │               │
                                        ┌──────┴──┐    ┌──────┴──────────┐
                                        │  Dify   │    │ WeKnora / RAGFlow│
                                        │ (拖拽即用│    │ (质量天花板)     │
                                        │  分钟级) │    └─────────────────┘
                                        └─────────┘

如何使用:从顶部开始,逐个回答菱形框中的问题,沿”是/否”分支向下走,直到到达矩形推荐节点。如果同时满足多条路径的起点条件(比如既要 Agent 编排又要极致检索),见下方”混合方案”。

同一决策逻辑的 Mermaid 版本(可渲染)见文末附录。


场景化推荐

以下每个场景给出:推荐选型 + 推荐理由 + 不选其他的理由 + 典型部署方式 + 踩坑提醒。

场景 1:个人学习 / 原型验证 -> AnythingLLM

典型画像:一个人、一台笔记本、想今晚就跑起来看看 RAG 是什么效果。

推荐 AnythingLLM 的理由:

不选其他的理由:

典型部署:

# Docker 一行启动
docker run -d -p 3001:3001 anythingllm/anythingllm
# 或下载桌面版,双击打开

踩坑提醒:

精读 AnythingLLM 见 deep-dive-anythingllm.md。

场景 2:中小企业客服机器人 -> FastGPT

典型画像:10-50 人公司,客服团队 3-5 人,需要让 AI 回答用户常见问题,要求按部门隔离知识库,经理能看到统计但普通客服不能看财务知识库。

推荐 FastGPT 的理由:

不选其他的理由:

典型部署:

# docker-compose 启动(含 MongoDB + PostgreSQL + OneAPI)
docker-compose up -d
# 首次访问配置管理员账号和 LLM API Key

踩坑提醒:

精读 FastGPT 见 deep-dive-fastgpt.md。

场景 3:LLM 应用开发平台 -> Dify

典型画像:技术团队构建多种 LLM 应用(不只是 RAG),需要 Prompt 管理、Agent 编排、A/B 测试、多模型切换等开发平台能力。

推荐 Dify 的理由:

不选其他的理由:

典型部署:

# docker-compose 完整部署(含 PostgreSQL + Redis + Weaviate + Nginx)
git clone https://github.com/langgenius/dify.git
cd dify/docker
docker-compose up -d
# 访问 /install 初始化

踩坑提醒:

精读 Dify 见 deep-dive-dify.md。

场景 4:扫描件 / 复杂文档处理 -> RAGFlow

典型画像:每天处理上百份 PDF——合同、发票、财报、技术手册——其中大量表格、嵌套图片、数学公式,传统方案提取出来是乱码。

推荐 RAGFlow 的理由:

不选其他的理由:

典型部署:

# docker-compose(含 Elasticsearch/Infinity + Redis + MySQL + MinIO)
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
docker-compose up -d

踩坑提醒:

精读 RAGFlow 见 deep-dive-ragflow.md。

场景 5:极致检索质量 / 企业级 -> WeKnora

典型画像:金融/法律/医疗场景,答案必须正确——不是”差不多对”,而是”有出处、可验证”。团队有 Go 后端能力,运维能维护多组件系统。

推荐 WeKnora 的理由:

不选其他的理由:

典型部署:

# 多组件部署(需向量DB + 图DB + LLM网关 + 核心服务)
# 参考官方 docker-compose,至少需要:
# - PostgreSQL(元数据)
# - Elasticsearch/Infinity(向量索引)
# - Neo4j/Apache AGE(知识图谱)
# - LLM API 网关
docker-compose -f docker-compose-full.yml up -d

踩坑提醒:

精读 WeKnora 见 deep-dive-weknora.md。

场景 6:犀牛鸟竞赛贡献 -> WeKnora

典型画像:参加腾讯犀牛鸟开源人才培养计划,需要在有限时间内做出有价值的贡献,兼顾学习收益和简历价值。

推荐 WeKnora 的理由:

不选其他的理由:

贡献路径:

  1. 先从文档和测试开始(门槛最低,熟悉代码库)
  2. 再做 chunk 策略改进(改动小、效果可量化)
  3. 最后尝试 Rerank 或图谱检索优化(难度最高、价值最大)

踩坑提醒:

犀牛鸟竞赛贡献指南见 deep-dive-weknora-contribution.md。


反模式

日常类比:知道该选什么很重要,知道不该怎么选同样重要——就像知道”发烧不能捂汗”比知道”发烧要吃退烧药”更能救命。

反模式 1:按 Star 数选型

错误认知:Dify 144K star,选它不会错。

正确理解:Star 数反映的是”知名度”和”社区活跃度”,不是”对你的场景的适配度”。一个只做 PDF 表格提取的项目,用 Dify 144K star 的标准检索,效果远不如用 RAGFlow 83K star 的 DeepDoc。Star 数是参考指标,不是决策依据。

反模式 2:追求”全都要”

错误认知:我要检索质量最好 + 文档解析最强 + Agent 编排最灵活 + 部署最简单。

正确理解:这 5 个项目中没有任何一个同时满足以上所有条件。这就是为什么有”混合方案”——但混合方案本身的集成和维护成本也不低。”全都要”的结局通常是”全都不精”。正确做法是:确定 1-2 个最核心的需求,选最匹配的;其余需求通过次优但可接受的方式覆盖。

反模式 3:低估文档预处理的工作量

错误认知:选了 RAGFlow 就不用管文档质量了,直接上传就行。

正确理解:即使是最强的文档解析引擎,也无法修复源文档的问题——扫描件模糊、表格跨页、公式用图片代替而非 LaTeX。数据清洗(Garbage In, Garbage Out)在 RAG 中永远是第一步,且通常占整个项目 40-60% 的工作量。选型时不要只看”解析能力”,要看”解析能力 + 你的文档质量”的综合效果。

反模式 4:忽略检索延迟

错误认知:检索质量越高越好,延迟无所谓。

正确理解:WeKnora 的三路混合检索延迟是 AnythingLLM 单路检索的 2-3 倍。在实时对话场景(客服、搜索建议),用户对 > 3 秒的响应就会感到不耐烦。如果业务对延迟有硬约束,检索质量必须做妥协——开两路而非三路、用轻量 Reranker 而非重模型、减少 Top-K。

反模式 5:选完型就不迭代

错误认知:决策树选出了 WeKnora,以后就一直用 WeKnora。

正确理解:RAG 选型不是一次性的。团队在变、文档在变、需求在变、项目本身也在变。正确的姿势是:先用最简单的方案跑通(AnythingLLM 或 Dify),有了真实数据和反馈后,再根据实际瓶颈决定是否迁移到更复杂的方案。详见下方”从原型到生产的迁移路径”。

反模式 6:只看功能列表,不看架构限制

错误认知:FastGPT 支持自定义 LLM、支持知识库、支持工作流——功能都有了。

正确理解:功能列表说的是”能不能做”,架构限制说的是”做得好不好”以及”改起来难不难”。FastGPT 的工作流是 TypeScript 实现的,扩展工作流节点需要写 TS 代码并重新编译——而 Dify 的工作流节点可以通过 Python 脚本动态定义,不需要改 Dify 本体。功能列表是表面,架构是地基。


混合方案

什么时候需要混合方案?当你有两个以上的核心需求,且没有任何单一项目能同时满足时。

混合方案 1:Dify 编排 + WeKnora 检索后端

适用场景:既要灵活的 Agent 编排(Dify 的强项),又要极致的检索质量(WeKnora 的强项)。

架构:

用户请求
    │
    ▼
┌─────────┐    ┌─────────────────┐
│  Dify    │───>│ WeKnora REST API │───> 三路混合检索
│ 工作流   │    └─────────────────┘     + Rerank
│ 编排     │              │
│          │<─────────────┘ 返回检索结果
│          │
│          │───> LLM 生成回答
└─────────┘

实现方式:在 Dify 工作流中,用”HTTP 请求”节点调用 WeKnora 的检索 API,把返回结果作为知识上下文传给 LLM 节点。

代价:

适合的团队:10 人以上技术团队,有专人维护 WeKnora,Dify 只做应用层。

混合方案 2:RAGFlow 解析 + Dify 编排

适用场景:文档又多又复杂(PDF 表格 + 扫描件),同时需要 Agent 编排和多轮对话。

架构:

文档上传
    │
    ▼
┌──────────┐     ┌──────────────┐
│ RAGFlow  │────>│ RAGFlow 的   │
│ DeepDoc  │     │ 向量索引      │
│ 解析+分chunk│   └──────┬───────┘
└──────────┘            │
                        ▼
用户请求 ──> Dify ──> RAGFlow 检索 API ──> 返回 chunks ──> LLM 生成

实现方式:RAGFlow 做文档解析和索引构建(这一步只需要在文档更新时跑),Dify 在对话时调用 RAGFlow 的检索 API 获取 chunks。

代价:同方案 1 的运维和延迟叠加问题,但 RAGFlow 部署比 WeKnora 简单(组件少)。

混合方案 3:AnythingLLM 单机 + 云端 LLM

适用场景:数据合规要求文档和索引不能出本地,但本地 GPU 跑不动大模型。

架构:

┌─────────────────────────────────┐
│ AnythingLLM (本地)              │
│   ├── LanceDB (本地向量索引)    │
│   ├── 文档存储 (本地)           │
│   └── LLM 调用 ───────────────>│──> OpenAI API / Claude API (云端)
│                                 │    只传检索结果和 Prompt,不传原文档
└─────────────────────────────────┘

关键风险:虽然原文档不出本地,但检索结果(chunks)和 LLM 生成的回答会经过云端——合规审查是否允许?需要和法务确认。

混合方案选型判断

条件 推荐方案
要 Agent + 极致检索 方案 1(Dify + WeKnora)
要 Agent + 复杂文档 方案 2(Dify + RAGFlow)
数据合规 + 本地无 GPU 方案 3(AnythingLLM + 云 LLM)
只有一个核心需求 不用混合,选单项目

从原型到生产的迁移路径

日常类比:先骑自行车验证路线,确认值得去再买摩托车——而不是一上来就买哈雷。

阶段 0:确认需求(1-3 天)

不要选平台,先回答这些问题:

  1. 用户是谁?他们问什么类型的问题?
  2. 知识库有多少文档?什么格式?增长速度?
  3. 答案错误的代价有多大?
  4. 有多少人力可以持续维护?
  5. 延迟和并发要求是什么?

如果这些问题答不上来,说明还没到选型的时候——先去做用户访谈。

阶段 1:原型验证(1-2 周)

原则:用最简单的方案跑通,用真实数据验证假设。

如果你最终想用 原型阶段先试 原因
WeKnora Dify 的知识检索 快速验证”RAG 是否能回答你的用户问题”
RAGFlow Dify + 手动预处理文档 先验证文档质量和问题分布,再投入 DeepDoc
FastGPT Dify 的简单工作流 先验证流程逻辑,再迁移到 FastGPT 的权限模型
AnythingLLM AnythingLLM 本身 它就是最简单的,无需替代

原型的目标不是”效果最好”,而是”用最小成本确认方向正确”。如果 Dify + 基础检索已经能满足 70% 的问题,可能根本不需要迁移到 WeKnora——剩下 30% 也许通过优化 chunk 策略就能解决。

阶段 2:瓶颈定位(1-2 周)

用原型收集真实数据后,分析瓶颈在哪:

瓶颈症状 根因 迁移方向
检索经常返回无关内容 检索质量不足 WeKnora(三路混合)或 RAGFlow(更好的分 chunk)
PDF 表格提取出来是乱码 文档解析能力不足 RAGFlow(DeepDoc)
需要按部门隔离但做不到 权限模型不足 FastGPT(多租户)
需要复杂多步推理 Agent 编排不足 Dify(工作流)
部署太复杂,运维跟不上 运维成本过高 AnythingLLM(简化部署)

阶段 3:渐进迁移(2-8 周)

原则:增量迁移,不要一次性切换。

以”从 Dify 迁移到 WeKnora”为例:

  1. 第 1 周:部署 WeKnora,用同一批文档建索引,但不接入生产流量
  2. 第 2-3 周:A/B 测试——相同问题同时走 Dify 和 WeKnora,人工对比答案质量
  3. 第 4 周:WeKnora 质量确认优于 Dify 后,逐步切流量(10% -> 50% -> 100%)
  4. 第 5-8 周:Dify 降级为 fallback(WeKnora 超时或异常时走 Dify),稳定后下线 Dify

关键提醒:迁移期间双系统并行运行,运维成本翻倍。确保有足够人力支撑过渡期。

迁移的止损点

什么时候应该放弃迁移,接受当前方案的不足?


综合对比表

维度 WeKnora Dify RAGFlow AnythingLLM FastGPT
检索质量 极高 中高 高 中 中高
文档解析 中 中 极高 低 中
Agent 编排 无(被调用) 原生 无 简单 有
部署难度 高 中 中 极低 中
延迟 中高 中 中 低 中
生态规模 18.1K star 144K star 83K star 61K star 28K star
技术栈 Go Python/TS Python Node/TS TS
多租户 有 基础 有 无 强
可视化 无 强 弱 无 中
适合团队 技术团队 任何 文档密集 个人 企业
首次部署时间 1-2 天 2-4 小时 2-4 小时 30 分钟 2-4 小时
最小硬件 8C16G + GPU 4C8G 4C8G + GPU(推荐) 2C4G 4C8G

与 Memory 系统的关系

已有 Memory 系统(如 DB-Agent-Memory)时的选型考虑:

RAG 平台 与 Memory 集成方式 冲突处理
WeKnora 被调用方,Memory 系统可以调 WeKnora API RAG 结果优先,Memory 做补充
Dify 工作流中可同时接 Memory 和 RAG 节点 工作流逻辑决定优先级
RAGFlow 独立检索,Memory 在上层 Agent 管理 上层 Agent 负责仲裁
AnythingLLM 内建对话历史(简易 Memory) 内建逻辑,不可定制
FastGPT 工作流中可接外部 Memory 工作流逻辑决定优先级

Memory vs RAG 边界见 B 线 - Memory 与 RAG 边界 腾讯生态分工见 B 线 - 腾讯记忆生态 DB-Agent-Memory 详见 deep-dive-tencentdb-agent-memory


交叉引用

本文档主题 关联文档 关联点
各项目精读 WeKnora / Dify / RAGFlow / AnythingLLM / FastGPT 选型依据的详细技术分析
赛道全景 rag-knowledge-landscape.md 5 项目的横向对比和定位
竞赛贡献 deep-dive-weknora-contribution.md 犀牛鸟竞赛的 WeKnora 贡献路径
检索质量评估 rag-evaluation-methodology.md 如何量化评估检索质量
生产级 RAG rag-production-landscape.md 从原型到生产的完整路径
Agentic RAG agentic-rag-patterns.md 从固定管线到 Agent 编排检索
Agent 集成 rag-agent-integration.md RAG 平台与 Agent 框架的集成方式
技术挑战 challenges.md RAG 领域未解决的难题
Memory 边界 ../ai-memory/memory-vs-rag-boundary.md RAG 与 Memory 的职责划分
Agent 框架选型 ../agent-framework/index.md Agent 框架的选型决策(与本决策树互补)

附录:Mermaid 决策树

flowchart TD
    START[选 RAG 平台] --> Q1{需要可视化<br>Agent 工作流?}
    Q1 -->|是| Q1A{企业多租户<br>+ 权限?}
    Q1A -->|是| FAST[FastGPT]
    Q1A -->|否| DIFY[Dify]

    Q1 -->|否| Q2{检索质量<br>要求极高?}
    Q2 -->|是| Q2A{团队能维护<br>Go + 3+ 依赖?}
    Q2A -->|是| WK[WeKnora]
    Q2A -->|否| Q2B{PDF/表格<br>占比 > 30%?}
    Q2B -->|是| RF[RAGFlow]
    Q2B -->|否| DIFY2[Dify + 自定义检索]

    Q2 -->|否| Q3{完全本地<br>零外部依赖?}
    Q3 -->|是| ALL[AnythingLLM]
    Q3 -->|否| Q4{快速原型<br>还是生产?}
    Q4 -->|原型| DIFY3[Dify]
    Q4 -->|生产| WK2[WeKnora / RAGFlow]

    style WK fill:#e8f4e8
    style DIFY fill:#e8e8f4
    style DIFY2 fill:#e8e8f4
    style DIFY3 fill:#e8e8f4
    style RF fill:#f4e8e8
    style ALL fill:#f4f4e8
    style FAST fill:#e8f4f4

证据等级

来源 标签
rag-knowledge-landscape.md 横评 [已有]
5 项目各自 deep-dive [已有]
challenges.md [已有]
rag-evaluation-methodology.md [已有]
rag-production-landscape.md [已有]
agentic-rag-patterns.md [已有]
各项目 GitHub star 数(截至调研日) [文档]
部署时间和硬件要求 [文档 + 部分实测]
混合方案效果数据 [文档,未实测]