犀牛鸟 2026 研究笔记 estelledc.github.io

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 14.3K 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 编排 无(被调用) 原生 简单
部署难度 极低
延迟 中高
生态规模 14.3K 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 数(截至调研日) [文档]
部署时间和硬件要求 [文档 + 部分实测]
混合方案效果数据 [文档,未实测]