中小企业开源 RAG 知识库怎么选:14 个平台实测横评,与三个必须读原文的许可陷阱
上一篇聊了 RAG 的现状与那条「像素方案」,那是「技术面」。这篇落到选型:中小企业想私有一部署一套 RAG 知识库,市面上这十几个开源项目到底怎么挑。
这篇做四件事:先把它们分类(它们根本不在一个赛道)→ 逐家拆解(含停更避坑区)→ 一张实测横评表 → 三个必须读 LICENSE 原文的坑。文中的 star 数、协议原文、最新版本、容器数全部是 2026-09-19 用 GitHub API 与 docker-compose 原文实测,不是二手转述;一手核不到的地方我直接标注「未证实」。
一句话先给结论:要编排能力 → Dify;要文档解析精度 → RAGFlow;要最省运维 → MaxKB;要开箱即用 → AnythingLLM;要把知识库嵌进现有系统 → AnythingLLM / LightRAG 这类「引擎」而不是「平台」。
一、先分类:它们根本不在一个赛道
「哪个最好」是错的问法。把这 14 个项目摆在一起比「谁更强」,就像拿 MySQL 和 Excel 比「谁更适合存数据」。
| 类别 | 代表 | 一句话定位 | 你付出的代价 |
|---|---|---|---|
| 应用平台型 | Dify、FastGPT、MaxKB | 拖拽编排 + 知识库 + 发布 | 系统重、升级频繁、绑定深 |
| RAG 引擎型 | RAGFlow、LightRAG、WeKnora | 只管把检索做准 | 业务逻辑得自己写 |
| 开箱即用型 | AnythingLLM、Open WebUI、Onyx | 装完就有界面能用 | 深度定制受限、偏个人/团队而非业务系统 |
| 避坑区 | Langchain-Chatchat、QAnything、R2R、Kotaemon | 曾经很火,现在不建议新上 | 无人维护 / 漏洞无补丁 |
记住这条分界线:前三类是「用」,但你得想清楚买的是编排能力、检索能力还是上手速度——三者在这批项目里几乎不可兼得。
二、逐家拆解
A. 应用平台型
1. Dify —— 生态最成熟,但它是「平台」不是「知识库」
- 实测:156,363 star,v1.17.1(2026-09-10),最后提交 2026-09-18,TypeScript 为主(后端是 Flask + Celery,Python 3.12);
- 默认栈:PostgreSQL + Weaviate(
VECTOR_STORE默认值),对象存储走 OpenDAL; - 强项:可视化工作流、Agent 从工作流节点升级为独立可复用资产(v1.17.0 的里程碑改动)、MCP + 插件市场 + 自建 API 三路工具来源、可观测性接 Langfuse/Opik/Phoenix;
- 知识库短板(写进官方文档的):索引分「高质量(向量)」与「经济(关键词倒排,不耗 Token)」,高质量建成后无法降级;内置 PDF 解析不支持 OCR,扫描件直接失败,维护者在 issue 里回复「OCR will be available in RAG 2.0」;Rerank 默认关闭,且 TopK 与 Score 阈值只在启用 Rerank 时才生效(不开重排时这两个参数是摆设,这是最常被忽略的坑);
- 知识图谱:社区版没有。网上流传的「dense 0.65 + sparse 0.25 + graph 0.10」是某篇博客的自建实验,不是 Dify 内置能力——别写进选型矩阵。
2. FastGPT —— 知识库问答做得更专,官方部署分档给得最实在
- 实测:29,690 star,v4.17.0(2026-09-11),TypeScript,MongoDB(Mongoose)+ 中文分词用
@node-rs/jieba; - 官方部署分档表(这是所有项目里给得最清楚的一份):PgVector 版测试档 2c4g,100 万组向量 4c8g / 50GB,500 万组 8c32g / 200GB;Milvus 版要求 ≥ 2.5.16,低于此版本 FastGPT 启动直接报错退出;
- 强项:混合检索 + 重排、QA 拆分导入、chunk 级修改删除、知识库单点测试、完整调用链路日志;
- 坑:① 必须外部依赖 MongoDB(且需副本集支持事务)+ 向量库 + Redis + MinIO + AI Proxy,有状态组件比 Dify 更多;② 默认索引策略曾导致召回退化——4.9.1–4.9.4 之间把「一个 Chunk 一个索引」改成子索引,丢了 Chunk 头部元数据,有用户只能回滚 4.9.0;③ MongoDB 全文检索不支持
$in,无法一次检索多个知识库,生产环境 1400 万行时单次查询可达 30 多秒,加索引能压到 1s 内但会牺牲多知识库检索能力——这是个硬权衡;④ 升级不可跳级、不可回退。
3. MaxKB —— 运维负担最低,社区版限制已在 V2 取消
- 实测:22,838 star,v2.10.6-lts(2026-09-03),GPL-3.0 纯净协议(35,149 字节标准 GPLv3 全文,无任何附加条款);
- 技术栈:Vue + Django + LangChain,PostgreSQL + pgvector 全在单容器内。官方在线安装就一条命令、一个容器,不依赖任何外部服务——这是全场运维负担最低的;
- ⚠️ 最大的二手信息污染源:英文站
maxkb.pro/pricing至今仍写社区版上限「2 users / 5 applications / 50 knowledge bases」,这是 V1 时代的过期页面。官方中文定价页明确「MaxKB V2 于 2025 年 7 月 17 日正式发布,社区版不再限制用户数量、应用数量和知识库数量」。别引用那组 2/5/50。 - 社区版标「-」(仅付费版有)的关键项:开放 API、完整 RBAC、审计日志、SSO(LDAP/OIDC/CAS/OAuth2/SAML2)、第三方应用接入(企微/钉钉/飞书/公众号);
- 价格透明:专业版 ¥4.8 万/套(永久授权),第二年起维保 ¥9,600/年;企业版(多租户+集群)需询价;
- 坑:官方 FAQ 的知识库首条就是「智能分段效果不理想」;默认匹配单个空行
\n\n,遇到连续多个空行会漏掉切分点(有用户导入 135 条处方仅前 2 条正确分段);所谓「混合检索」是向量相似度与全文得分直接相加((1 - 向量距离) + ts_rank_cd,得分可能超过 1),不是重排模型,且检索权重不可调;pgvector 在文档量超过 1000 页后出现内存压力,而集群/分片是企业版专属——撞到天花板没有官方扩容路径。
B. RAG 引擎型
4. RAGFlow —— 文档解析最强,但有个大多数人不知道的变化
- 实测:90,966 star,v0.27.2(2026-09-10),Apache-2.0 纯净协议(无附加条款);
- ⚠️ 一个 2026 年的结构性变化:GitHub 语言统计现在显示 Go 占 49.8%(27.2 MB),Python 30.5%,TypeScript 15.7%——Go 已是第一大语言。compose 里也能看到对应证据:
GO_HTTP_PORT=9384、GO_ADMIN_PORT=9383、--enable-adminserver。README 仍要求 Python ≥ 3.13。(Go 具体承担哪些职责,我没有逐模块核实,不臆测。) - 默认只起 5 个容器(实测
docker-compose-base.yml):ragflow-cpu+minio+redis+es01+mysql。默认 profile 是${DOC_ENGINE},${DEVICE},metadata-mysql,MEM_LIMIT=8073741824(约 8GB,给 ES 用); - 文档引擎已扩到 6 种:Elasticsearch、OpenSearch、Infinity、SereneDB、OceanBase、SeekDB——这个扩展速度说明「检索后端可换」是它的核心设计;
- 强项:DeepDoc 深度文档理解(复杂 PDF、多栏、表格、扫描件)、混合检索 + 重排、引用溯源、Agentic Workflow + MCP(2025-08 起);
- 坑:官方 README 明确只提供 x86 镜像,不提供 ARM64;对机器要求高(资源开销主要来自 ES 与 DeepDoc 模型);默认
nats、sandbox-executor-manager等新基础设施组件在 compose 里可选项很多,部署前必须读一遍.env的 profile 组合逻辑,否则容易起一堆用不上的容器。
5. LightRAG —— 想做 GraphRAG 又不想烧钱的话,看这个
- 实测:39,756 star,v1.5.7(2026-09-02),MIT,查询日仍有提交,非常活跃;
- ⚠️ 一个被大量二手文章讲错的地方:README 的「dual-layer architecture」指的是 知识图谱 + 向量嵌入两层;论文的「Dual-level Retrieval Paradigm」指的是同一张实体-关系图上的双层检索策略(low-level 打具体实体与属性,high-level 打跨实体主题与汇总)。它不是「实体图 + 主题图」两张物理图——这个误传很广,写选型文档时别抄错;
- 检索模式是 5 种不是 4 种:
local/global/hybrid/naive/mix(官方默认); - 相对 GraphRAG 的核心优势是成本:论文口径下,GraphRAG 需要一个文档集生成约 1,399 个社区、每份社区报告平均 1,000 tokens(合计约 610,000 tokens)并遍历社区,数百次 API 调用;LightRAG 用不到 100 tokens 做关键词生成与检索,全程 1 次 API 调用。增量更新时 GraphRAG 要拆解并完整重生成社区结构,LightRAG 直接并入新实体与关系;
- 代价:① 每个 chunk 都要 LLM 做实体关系抽取,对模型能力的要求高于传统 RAG,官方给的本地模型下限建议是 Qwen3-30B-A3B;② 默认四类存储全是内存型,官方明确警告「只适合小规模测试、评估与调试,不适合生产」,生产要换 PostgreSQL(官方推荐
PGTableGraphStorage,普通 PG 14+ 即可,不再依赖 AGE 扩展);③ 无 RBAC / SSO / 多租户账号体系,官方原文承认「只支持管理员账号密码配置,完整账号系统尚待开发」;④ 不支持 MCP。
6. WeKnora(腾讯)—— 社区版企业级特性最全的一个
- 实测:27,024 star,v0.8.0(2026-09-03),MIT(含第三方组件声明)——注意 GitHub API 判为
NOASSERTION,因为它不是标准 MIT 全文而是复合文本; - 技术栈:Go 1.26 后端 + Vue 前端,默认元数据库/检索引擎是 ParadeDB(PostgreSQL 17 + pgvector + pg_search BM25),文档解析独立服务
docreader(gRPC,内含 LibreOffice、Playwright); - 实测容器:5 个常驻(
app、docreader、frontend、postgres、redis)+ 18 个可选 profile(neo4j / qdrant / milvus / weaviate / doris / dex / langfuse / searxng / minio / mcp / sandbox …)。别被「23 个服务」吓到,默认只起 5 个; - 社区版就给的企业级能力(8 家里最全):RBAC 4 级角色(Owner/Admin/Contributor/Viewer)、多工作区、每个工作区独立审计日志、OIDC(含 JWKS 校验)、细粒度 scoped API key、API key 与凭据 AES-256-GCM 静态加密;
- 官方硬件建议:4 核 8GB 起步(docreader 含 LibreOffice + Playwright,较吃内存);
- ⚠️ 澄清一个流传的说法:「WeKnora 必须依赖腾讯云」——官方文档不支持。它是完全模块化的,腾讯能力(IMA、VectorDB、LKEAP rerank、混元)都只是 16+ 个 provider 里的一项;Lite 版默认走本地 Ollama。强绑定体现在发布渠道(镜像是
wechatopenai组织、是微信对话开放平台的核心框架),不是技术依赖; - 坑:文档以中文为主(
docs/下绝大多数是中文文档、官方文档站章节标题也是中文),对非中文团队不友好;Open Issues 680 个偏高;v0.8.0 有破坏性变更(移除 Local host-process 沙箱后端、Docker 沙箱默认关闭);Lite 版功能受限(无共享空间、单空间)。
C. 开箱即用型
7. AnythingLLM —— 单容器、可桌面、MIT,最省心的入口
- 实测:66,195 star,v1.16.1(2026-08-27),MIT,查询日仍有提交;2026 年 1–8 月发了 13 个版本;
- 实测部署:compose 里就 1 个服务
anything-llm。官方推荐最低 2GB RAM / 2 核 / 5GB 存储,且不强制 Docker(有桌面端和裸机路径); - 默认栈:Node + Express,默认向量库 LanceDB,元数据默认 SQLite(可换 PG);
- ⚠️ 一个硬性环境要求:CPU 必须支持 AVX2(LanceDB 编译基线是 Intel Haswell 2013+),否则 server 启动即
Illegal instruction (core dumped)。Proxmox/QEMU-KVM 默认的kvm64CPU 模型会屏蔽 AVX2,必须设为host——虚拟化部署踩这个坑的很多; - MCP 是内置的(非插件),支持 stdio/SSE/streamable 三种传输,但官方明确只支持 Tools,不支持 Resources / Prompts / Sampling;托管云版不支持 MCP;
- 短板:多用户模式进入后不可回退;SSO 只有一个「Simple SSO Passthrough」(令牌 URL),没有原生 OIDC/SAML/LDAP;数据连接器只有 9 个;没有知识图谱(仍是开放 feature request)。
8. Open WebUI —— 最流行的自托管 LLM 界面,但许可证有个精确阈值
-
实测:152,504 star,v0.11.3(2026-08-31),2026 年 1–8 月发了 26 个版本;
-
⚠️ 它不是 OSI 开源。GitHub API 判
NOASSERTION,实际是自定义的「Open WebUI License」= BSD-3 三条款 + 第 4 条品牌保留条款。我把原文拉出来了:…licensees are strictly prohibited from altering, removing, obscuring, or replacing any "Open WebUI" branding … except … (i) deployments or distributions where the total number of end users … does not exceed fifty (50) within any rolling thirty (30) day period
即:终端用户 30 天滚动周期内不超过 50 人,才可以去品牌;超过就得保留标识或买企业许可。 内部用通常没事,但对客产品必须算这一条;
-
技术栈:Python + FastAPI,前端 Svelte;默认向量库 ChromaDB(本地 SQLite-backed),元数据默认 SQLite;
-
强项:文档抽取引擎有 8 个可选(Tika、Docling、Mistral OCR、Datalab Marker、MinerU、PaddleOCR 等);混合检索(BM25 + 向量)+ CrossEncoder 重排可开关;SSO/OIDC/LDAP/SCIM 2.0/RBAC/审计日志在免费社区版就有,不限用户数;
-
坑:① 默认 ChromaDB 本地模式不是 fork-safe,多 worker / 多副本并发写会立刻崩,超过单副本必须换外部向量库;② 默认用
pypdf解析,官方自己警告有内存泄漏,建议换 Tika 或 Docling;③ 一个配置静默失效陷阱——File Context 开 + Builtin Tools 关 + Function Calling 保持 Default 时,挂在模型上的知识永远不会被检索到;④ MCP 只支持 Streamable HTTP(不支持 stdio,需mcpo代理);⑤ 未设WEBUI_SECRET_KEY时,OAuth 连接的 MCP 工具每次重启容器都会失效。
9. Onyx(原 Danswer)—— 连接器最多的企业搜索,Open Core 边界清晰
- 实测:32,162 star,v4.7.7(2026-09-16),MIT +
ee/目录走 Onyx Enterprise License;2026 年发了 v3.0.0(03-10)与 v4.0.0(05-26)两个大版本; - ⚠️ 连接器数量有三个官方口径,别抄错:定价页写「40+」(2025 年口径)、README 写「over 50+」、而官方文档 sitemap 实测去重后是 56 个顶层连接器条目。当前准确口径约 54–56 个,「40+」是过时的;
- 技术栈:Python 3.13 + FastAPI,前端 Next.js 16 + React 19;默认检索已从 Vespa 切到 OpenSearch(v3 双写迁移,v4 起完全 OpenSearch-only);
- 有 Lite 模式:只起 4 个服务(api_server、web_server、postgres、nginx),不用向量库也不用 OpenSearch,全部收敛进 PostgreSQL,基线内存不到 1GB——对中小企业这是很关键的一条(最小 2 vCPU / 2GB / 10GB);
ee/里锁的是什么:OIDC/SAML SSO、Permission Sync Connectors、白标、User Groups & RBAC、Group-Based Permissions、Usage Analytics、Encrypted Secrets。官方把 EE 目标用户定义为「100 用户以上的组织」;- ⚠️ 两份官方来源自相矛盾:定价页的 Business 档($20/user/月)列表含 RBAC,但 EE 文档把 RBAC 列为 EE 专属。且定价页档位是 Onyx Cloud 订阅,与自托管 EE 许可不完全等价。选型时以 EE 文档为准更稳妥;
- 坑:v3 → v4 必须先经 v3 迁移,跳过 v3 直接升 v4 会「result in complete loss of indexed data」;v4.7 权限模型有破坏性变更(API key roles 被 group-based permissions 取代);2026 年有 4 个安全公告,其中一个 critical(跨用户 OAuth token 泄漏,
/api/mcp/servers*,2026-07-20)。
10. Kotaemon —— 不建议新上了(但不是因为协议)
- 实测:25,775 star,Apache-2.0(纯净,无 Open Core 分层),最新版 v0.12.0(2026-05-31);
- 关键事实:
main分支最后一次提交 2026-05-30,commits?since=2026-06-01返回 0 条;此后社区 PR(#853 至 #862)全部 open 未合并;社区 issue #786「Project status and future updates」(2025-09-12 创建)至今 open,维护者零回复; - 结论口径要说准:仓库未归档、未发停维声明、2026 年 2–5 月仍有版本发布,但已连续约 16 周零提交、零 PR 合并、对活跃度询问零回应——是「未归档但无维护活动」,不是「官方宣布死亡」。引用时别把话说死。
D. 避坑区:曾经很火,现在别新上
这一节是我最想提醒的,因为它直接改变选型结论。star 数是存量指标,pushed_at 才是增量指标。
11. Langchain-Chatchat —— 38.6k star,但带着无补丁的高危漏洞
- 实测:38,644 star,Apache-2.0,最后提交 2025-11-10,最新 release 仍是 v0.3.1(2024-07-12),无新 tag;
- 仓库未被归档(
archived: false),所以乍看是活的——这点最容易误判; - README 的「项目里程碑」止于「2024 年 6 月:0.3.0 发布」,随后一句「让我们一起期待未来 Chatchat 的故事」;
- ⚠️ 最要命的是漏洞:CVE-2026-30617(未认证 RCE,经 MCP STDIO server 配置,CVSS 8.6)公告明确写 "Fixed versions: None published";CVE-2026-7847 被标为影响全部版本且 "There is no fixed version"。根因在于代码库冻结在 2024-07,而这些 CVE 是 2026 年公布的——根本不存在一个能修掉它们的升级目标;
- 官方后继项目是 LangGraph-Chatchat(同团队),保留知识库目录格式便于迁移。
12. QAnything(网易有道)—— 默认分支已经是 AGPL-3.0
- 实测:14,176 star,最后 release v2.0.0(2024-08-30),距今约两年;
- ⚠️ 协议这条最容易写错,我逐分支核对过:默认分支
qanything-v2是 AGPL-3.0(34,523 字节 AGPLv3 全文,GitHub 徽章也是AGPL-3.0);只有老的master分支是 Apache-2.0。很多二手资料写「Apache-2.0」引用的是历史快照; - 对中小企业的含义:AGPL-3.0 有网络条款——把它作为 Web 服务暴露(哪怕只是内部),需向使用者提供对应源码。这比 MaxKB 的 GPLv3 更严格;
- 部署负担重:compose 实测 6 个服务(Elasticsearch + Milvus + etcd + MinIO + MySQL + 应用),要运维 ES 和 Milvus 才能拥有一个知识库;v2.0 最低 20GB 内存;项目自己的 FAQ 开头就是「报错大概率是因为内存不足」。
13. R2R —— 文档站已下线,2026 年新增多条未修复安全 issue
- 实测:7,999 star,MIT,最后提交 2025-11-07,GitHub 最新 Release 停在 v3.6.5(2025-06-06);
- ⚠️ 一个容易写错的版本口径:PyPI 上有 3.6.6(2025-08-17),但该版本没有对应的 GitHub tag / Release。写「最新 Release 3.6.6」是错的;
- 旁证:官方文档站
r2r-docs.sciphi.ai实测返回 404,云入口app.sciphi.ai返回 402,仓库 commit 历史里有一条 release note 直接写 "Remove SciPhi Cloud references";创始人现已转任另一家公司 CEO; - ⚠️ 2026 年新增 6 条未修复安全 issue,均处 open 状态,标题自称包含 CRITICAL 认证绕过、跨用户 IDOR、多处 SQL 注入——结合「约 10.4 个月无推送」,「没修」是合理推断(各条技术细节我未逐条验证,不当作已确认漏洞,但足以说明维护状态)。
14. Khoj —— 云版已关停,公司转向新产品
- 实测:37,407 star,AGPL-3.0,最新 Release 是 2.0.0-beta.28(2026-03-26),2.0.0 至今未发正式稳定版;最后提交 2026-08-02;
- 官方 Sunset 页面明确:「Khoj Cloud Has Been Sunset / April 15, 2026」,自述失败原因原文提到「multiple (6!) clients」让规模化变得困难,并称「Khoj remains fully open-source. You can continue to self-host it」;
- 公司重心转向 Open Paper 与 Pipali 两个新产品;
- ⚠️ 文档没同步:README 仍宣传 Khoj Cloud / Khoj Enterprise,并链向已 404 的
khoj.dev/teams。看到 README 说「有企业版」时,去点一下那个链接——这是识别项目健康状况最快的办法。
三、横评表
表 1:实测基础数据(2026-09-19,全部来自 GitHub API 与仓库原文)
| 平台 | Star | 协议(实测) | 最新版(日期) | 最后提交 | 维护判断 |
|---|---|---|---|---|---|
| Dify | 156,363 | 改版 Apache-2.0 | 1.17.1(09-10) | 09-18 | 极活跃 |
| Open WebUI | 152,504 | 自定义(BSD-3 + 50 人品牌条款) | 0.11.3(08-31) | 09-18 | 高度活跃 |
| RAGFlow | 90,966 | Apache-2.0(纯净) | 0.27.2(09-10) | 09-18 | 极活跃 |
| AnythingLLM | 66,195 | MIT | 1.16.1(08-27) | 09-19 | 活跃 |
| LightRAG | 39,756 | MIT | 1.5.7(09-02) | 09-19 | 高度活跃 |
| Langchain-Chatchat | 38,644 | Apache-2.0 | v0.3.1(2024-07) | 2025-11-10 | 停更 + 漏洞无补丁 |
| Khoj | 37,407 | AGPL-3.0 | 2.0.0-beta.28(03-26) | 2026-08-02 | 降速(云版已关停) |
| Onyx | 32,162 | MIT + ee/ 企业协议 | 4.7.7(09-16) | 09-19 | 高度活跃 |
| FastGPT | 29,690 | 改版 Apache-2.0 | 4.17.0(09-11) | 09-18 | 活跃 |
| WeKnora | 27,024 | MIT(含第三方声明) | 0.8.0(09-03) | 09-18 | 高度活跃 |
| Kotaemon | 25,775 | Apache-2.0 | 0.12.0(05-31) | 07-14(main 停 05-30) | 未归档但无维护活动 |
| MaxKB | 22,838 | GPL-3.0(纯净) | 2.10.6-lts(09-03) | 09-18 | 活跃 |
| QAnything | 14,176 | AGPL-3.0(默认分支) | 2.0.0(2024-08) | 09-03 | 停更 |
| R2R | 7,999 | MIT | 3.6.5(2025-06) | 2025-11-07 | 实质停更 + 安全 issue 未修 |
表 2:选型维度(单位:本地实测 compose / 官方文档)
| Dify | FastGPT | MaxKB | RAGFlow | WeKnora | AnythingLLM | Open WebUI | Onyx | |
|---|---|---|---|---|---|---|---|---|
| 默认容器数(实测) | 16 | 多(有状态) | 1 | 5 | 5 | 1 | 1–2 | 4(Lite)/ 多(Std) |
| 默认向量库 | Weaviate | PgVector | pgvector | ES | ParadeDB | LanceDB | ChromaDB | OpenSearch |
| 需外部服务 | 否 | 是(Mongo 副本集) | 否 | 否 | 否 | 否 | 否 | 否(Lite) |
| 知识图谱 | ❌ | ❌ | ❌ | ❌(有 Agentic) | ✅ Neo4j | ❌ | ❌ | ✅ 可选 |
| MCP | ✅ | ✅ | ✅ | ✅ | ✅ | ✅(仅 Tools) | ✅(仅 HTTP) | ✅ 双向 |
| 社区版 RBAC/SSO/审计 | ❌ 全在付费版 | ❌ 全在付费版 | ❌ 全在付费版 | ❌ | ✅ 全有 | ⚠️ 仅 Simple SSO | ✅ 全有 | ❌ 在 ee/ |
| 官方最低配置 | 2C/4GiB | 2c4g | 4C/8GB | — | 4C/8GB | 2GB/2核 | 未证实 | 2vCPU/2GB(Lite) |
表中「默认容器数」是我实际解析各家 compose 文件的
image/build服务并套用默认 profile 得出的,不是文档转述。Dify 的 16 = 13 个常驻服务 + 默认 profile(weaviate,postgresql,collaboration)带出的 3 个;Dify 另有 26 个可选 profile 服务(MySQL/ES/Qdrant/Milvus/Oracle 等)。WeKnora 的 5 是常驻数,另有 18 个可选 profile。
四、三个必须读 LICENSE 原文的坑
开源 ≠ 无条件可用。 我逐份读了这几家的 LICENSE 原文,有三条是选型会上一定会被问到的:
坑 1:Dify 和 FastGPT 不是 Apache-2.0,是「改版」
两家的 LICENSE 都写了同一句话:licensed under a modified version of the Apache License 2.0, with the following additional conditions。附加的是两条:
- 多租户限制:Dify 是「不得用其源码运营多租户环境(一个 tenant = 一个 workspace)」;FastGPT 是「不得运营与 FastGPT 类似的 multi-tenant SaaS」。都要书面授权。
- LOGO 条款:不得移除或修改控制台及应用的 LOGO/版权信息。Dify 还补了一句「交互设计受外观专利保护」。
对中小企业的实际含义:内部自托管、当自有产品的后端,都不触发商业许可——受限的只是「拿它开 SaaS 转卖给多客户」。Dify 的协议已被第三方 license 数据库收录为独立标识 dify-exception-apache-2.0,即被认定为非标准 Apache。
坑 2:Open WebUI 的品牌条款有个精确数字:50 人 / 30 天
不是「不能商用」,也不是「随便改」——阈值是 30 天滚动周期内直接终端用户不超过 50 人。低于这个规模可以去掉品牌;超过就必须保留标识、拿到书面许可,或买企业许可。内部工具通常无感,做对客产品必须逐字看。
另外它是三段协议并存:a76068d 之前是 MIT、到 60d84a3 之间是 BSD-3、之后是 Open WebUI License。官方 FAQ 说「可以零限制 fork v0.6.5」——如果你的合规部门只认 MIT,这条路存在,但那是很老的版本。
坑 3:AGPL 和 GPL 的差别,在网络服务场景是实质性的
- MaxKB 是 GPL-3.0:强 copyleft,但没有网络条款——纯内部自托管不触发分发义务;
- QAnything 默认分支是 AGPL-3.0、Khoj 是 AGPL-3.0:有网络条款——把修改后的版本作为 Web 服务暴露,需向使用者提供对应源码。哪怕只是内部访问,合规上也要走一遍。
**所以「都是开源」这句话在选型会上一文不值。**读原文,读原文,读原文。
五、部署成本:三类平台的真实体感
实测容器数说完了,落到中小企业最关心的钱和运维:
最省心的一档(MaxKB、AnythingLLM):单容器,不用运维任何外部中间件。MaxKB 官方 4C/8GB + 100GB 盘;AnythingLLM 官方 2GB/2 核。但省心是有代价的——MaxKB 的检索能力有天花板(pgvector + 分数相加式「混合检索」),AnythingLLM 的多用户和 SSO 很薄。适合「先把知识问答跑起来」。
中间一档(RAGFlow、WeKnora):默认 5 个容器,需要理解 profile 组合。WeKnora 官方建议 4C/8GB(docreader 吃内存);RAGFlow 因为 ES 与 DeepDoc 更重。这一档是「检索质量明显上一个台阶」的性价比拐点。
最重的一档(Dify):默认 16 个容器。官方最低 2C/4GiB,但这个数字和「可用」差距很大——有公开压测显示 4C8G 单实例约 10qps 就把 CPU 打满,应用与管理端同时不可用;内网离线部署要拉约 30 个镜像、几十 GB。如果你只是要一个知识库,Dify 是过度配置。
关于自建 GPU:这是另一个容易算错的账。多个来源的结论一致——低并发、偶发使用场景直接调 API 更划算;自建的盈亏平衡点取决于利用率而非规模,有实验显示自建 GPU 只有在利用率达到 22–48% 时才比 serverless 便宜,在 5–10% 利用率下反而贵 2–4 倍。中小企业做 RAG 知识库,先不要买卡。
六、怎么验证:别靠 demo,靠评测集
选型会上最容易糊弄过去的一步,也是最该做扎实的一步。用你自己的最烂文档去测——扫描件、合并单元格的 Excel、截图——而不是干净的 PDF。
成熟的评测体系已经收敛到四个指标(RAGAS 提出,现在几乎所有框架都用):
| 指标 | 测什么 | 对应故障 |
|---|---|---|
| Faithfulness(忠实度) | 答案是否完全基于检索到的上下文 | 幻觉 |
| Answer Relevancy(答案相关性) | 答案是否直接回应问题 | 答非所问 |
| Context Precision(上下文精度) | 相关文档排序质量 | 检索噪声大 |
| Context Recall(上下文召回率) | 是否覆盖标准答案所需关键信息 | 检索遗漏 |
中文场景有两个可用的公开基准:
- CRUD-RAG(中科大等):按 CRUD 四类操作划分,覆盖文本续写、单/双/三文档问答、幻觉修改、多文档摘要,并自带 86,834 条检索库——它的价值在于把「检索库构建」也纳入评测,而不只是问答;
- RGB:中英双语,专门测四项能力——噪声鲁棒性、否定拒绝、信息集成、反事实鲁棒性。它的著名发现是 RAG 系统在「否定拒绝」上普遍很差,证据不足时倾向强行生成。
规模上的工程标准(综合多份实践):PoC 50–100 条;内部工具上线 200–500 条;面向用户 1000+ 条。建议加入 5%–15% 的「拒答题」和「干扰题」——从 10% 开始验证。
⚠️ 三个必设的对照基线,否则「Recall@5 = 0.81」这个数字没有意义:纯 BM25 关键词检索(检验向量检索的增益)、纯 LLM 无检索(检验 RAG 本身值不值)、人类表现(上限参考)。
落地节奏(可直接抄的做法):把线上 Trace 一键转测试用例(Langfuse 等可做),差评 Case 优先入集;接进 CI 做质量门禁——提测 50 条 / 阈值 0.70(faithfulness + precision),预发 200 条 / 0.75(全四指标),生产 200 条 / 0.80。
一个常被忽略的第五维度:上面四个指标都默认检索索引本身是可信的。有分析指出,一个系统可以在所有标准指标上接近满分,却在「忠实地引用一条业务上已经过时的错误定义」。所以还要监控索引的可信度——文档新鲜度、责任归属、版本时效。这比调参重要。
七、选型决策
如果你只想记三句话:
- 先问「我买的是什么」——Dify 卖编排,RAGFlow 卖解析,MaxKB 卖省心,LightRAG 卖图检索,Onyx 卖连接器。没有一个卖「全都好」。
pushed_at比 star 重要。这篇里 38.6k star 的 Langchain-Chatchat 已停更且漏洞无补丁,14.2k star 的 QAnything 停在两年前。选型表里必须有「最后提交」这一列。- 协议要读原文。Dify/FastGPT 是改版 Apache、Open WebUI 有 50 人品牌阈值、QAnything 是 AGPL。「开源」两个字在法务那里不构成任何结论。
下一篇(高 ROI Agent 场景盘点)会接着这篇的底座往上走:智能客服、商业尽调这些被讲烂了的场景,真实 ROI 到底是多少,以及哪些数字是厂商编的。
参考
实测数据来源(2026-09-19):
- GitHub REST API:
/repos/{owner}/{repo}(star/license/pushed_at/language)、/releases/latest、/languages - LICENSE 原文经
raw.githubusercontent.com直读:Dify、FastGPT、MaxKB、Open WebUI、Onyx、WeKnora、QAnything(逐分支) - 部署数据经解析仓库内
docker-compose*.yml与.env.example得出
官方文档与项目内文件:
- Dify 知识库索引方式|Dify 企业版定价
- FastGPT 自部署|FastGPT
document/content/guide/version/commercial.mdx - MaxKB 定价页|MaxKB 知识库 FAQ
- RAGFlow 仓库|Onyx Enterprise Edition
- Open WebUI License|Open WebUI 协议说明
- LightRAG 论文|WeKnora 分块文档
- Khoj Sunset 页|Kotaemon issue #786
评测:
- CRUD-RAG 论文|RAGAS(arXiv:2309.15217)|RAGVUE (EACL 2026)|RAG 评估体系实践
- Atlan: RAG Evaluation 的「上下文可信度」缺口
本站相关:
声明:本文无厂商合作。star 数、版本号、协议条款均为 2026-09-19 实测快照,各项目迭代快,选型前请以官方仓库与最新 LICENSE 为准。凡我未能从一手来源核实的,文中已标注「未证实」;「适不适合」是基于公开事实与社区经验的判断,欢迎讨论。
