Ch18: FastGPT 架构精读——工作流、QA 对与多租户
Part 3 续:平台专章 前置:Ch17: RAGFlow 后续:Ch19: AnythingLLM 完整精读:精读: FastGPT
结论先行:FastGPT 证明 企业为「能跑通的业务流程」付费——TypeScript 全栈、FlowNode 工作流、QA 对拆分索引增强、4 级 RBAC 多租户。检索深度一般,但 产品化 是 WeKnora 从引擎走向平台的最佳参照。
调研元信息
| 项目 | 值 |
|---|---|
| 仓库 | labring/FastGPT |
| Stars | ~28K+ |
| 栈 | Next.js + MongoDB + PostgreSQL(pgvector) |
| 部署 | Sealos / Helm 一等公民 |
一、设计哲学:工作流驱动一切
瓶颈不在检索算法 3% 提升,而在 检索结果如何嵌入业务:
- 权限、配额、API Key、团队隔离
- 可视化编排降低交付成本
- QA 对拆分缩小「问句 vs 陈述句」语义鸿沟
二、架构五子系统
Workflow Engine (FlowNode DAG)
Knowledge Base (QA 拆分 + pgvector + Mongo 全文)
Plugin Marketplace (工作流子图封装)
Multi-tenant (Team + 4级 RBAC)
Deploy (Sealos/K8s)
三、QA 对拆分:索引时多花、检索时省力
传统:文档 → 段落 chunk → 用户问句 vs 陈述句匹配(鸿沟大)
FastGPT:文档 → LLM 生成多组 (Q, A) → 检索匹配 问题对问题
原文:"支持蓝牙 5.0 和 Wi-Fi 6"
索引:"Q: 支持哪些无线协议? A: 蓝牙5.0和Wi-Fi6"
用户问:"无线协议有哪些?" → 命中 Q → 返回 A
| 优点 | 缺点 |
|---|---|
| FAQ/手册场景召回↑ | 每文档 LLM 成本 |
| 问题-问题距离近 | 覆盖不全(LLM 遗漏知识点) |
WeKnora 借鉴:摄入阶段 并行 生成 QA 索引,不替代三路检索——与 RAGFlow「上游增强」同哲学。
四、多租户与 RBAC
| 角色 | 权限 |
|---|---|
| 平台管理员 | 全租户 |
| Team Owner | 团队资源 |
| Team Admin | 知识库/工作流配置 |
| Member | 使用已发布应用 |
数据隔离:MongoDB 文档级 + API Key scoped。AnythingLLM 无此层;WeKnora 有企业向但可继续加强。
五、检索能力边界
| 能力 | FastGPT | WeKnora |
|---|---|---|
| 向量 | pgvector 核心 | 多后端 |
| 全文 | Mongo 文本索引(弱 BM25) | BM25 专路 |
| 图谱 | 无 | PMI |
| Rerank | 外置可选 | 复合三信号 |
集成:工作流 HTTP 节点 调 WeKnora,保留 FastGPT 壳 + WeKnora 核。
六、章末自检
- 解释 QA 对拆分为何提升 FAQ 召回
- 列出 FastGPT 四角色 RBAC
- 对比 FastGPT 与 WeKnora 在检索路上的三项差异
- 设计:WeKnora 摄入时如何「可选」生成 QA 辅助索引