全部文章 笔记与思考

FastGPT 深度指南:RAG、工作流与私有部署

一篇讲透 FastGPT 定位、RAG 检索、可视化工作流、私有部署、API 接入、生产调优与选型边界的实战指南。

FastGPT 深度指南:RAG、工作流与私有部署

FastGPT 不是一个“换皮聊天框”,也不只是一个向量数据库管理界面。它把模型接入、文档处理、RAG 检索、流程编排、调试、发布和运营放进同一个平台,让团队可以用较低的工程成本,把一段 AI Demo 变成真正可交付的应用。

如果你准备做企业知识库、客服助手、制度问答、内容审核、数据分析 Agent,通常会很快遇到几件麻烦事:模型供应商不止一家;文档格式五花八门;检索效果要持续调;业务流程不可能只靠一段 Prompt;上线后还要做权限、日志、配额和渠道接入。

FastGPT 正是试图把这些重复的基础设施收拢起来。官方把它定义为 AI Agent 构建平台,社区版面向个人开发者和小型交付团队,核心覆盖 Agent、工作流与知识库。本文不只告诉你按钮在哪里,而是从系统设计出发,讲清它解决了什么、内部怎样协作、如何跑通一个项目,以及什么时候不该用它。

FastGPT 把模型、知识、流程和发布渠道组织成一套应用平台


先给结论:FastGPT 到底是什么

可以把 FastGPT 理解为位于 基础模型之上的 AI 应用层。模型负责理解与生成,向量数据库负责相似内容查找,而 FastGPT 负责把两者和业务流程组合成一个可配置、可调试、可发布的应用。

层次 它解决的问题 FastGPT 提供的能力
模型层 调哪个聊天、Embedding、Rerank 或视觉模型 统一配置模型提供商,通过 AI Proxy 转发与管理
知识层 文档怎样切分、索引、检索与引用 Dataset、数据处理、向量/全文/混合检索、Rerank
编排层 多步任务怎样串起来 可视化节点、变量传递、条件分支、插件与 Agent
应用层 如何调试、复用和交付 应用配置、调试日志、分享链接、API、嵌入与 MCP
运维层 谁在用、花了多少、哪里失败 团队空间、调用记录、配额、日志和数据标注

它最适合两类人:一类是希望快速交付 AI 应用、但不想从零搭 RAG 与编排后台的开发者;另一类是懂业务、能理解流程节点,但不准备手写整套后端的产品或实施团队。

FastGPT 也不是“安装后立刻拥有高质量答案”的魔法盒。它把工程链路搭好了,但答案质量仍取决于原始资料、分块策略、Embedding、检索参数、Rerank、Prompt 和模型能力。平台降低的是系统建设成本,不会自动消除数据问题。


核心能力怎样协作

FastGPT 的价值不在某个孤立功能,而在于知识库、工作流和发布渠道能使用同一套应用上下文。

知识库:不只是“文档转向量”

一份文档进入知识库后,通常经历解析、清洗、分块、索引生成和入库。查询时也不只是做一次向量 Top-K。根据官方检索说明,FastGPT 可以先做 Query Rewrite,再从语义检索、全文检索乃至图像检索等路径召回候选,用 RRF 融合多路排序,随后通过 Rerank 精排,并根据相关度与引用 Token 上限筛选最终上下文。

FastGPT 知识库从入库到生成回答的完整链路

这里有四个容易被忽略的设计点:

  1. Dataset、Collection、Data 是三层结构。 Dataset 是可检索的知识库,Collection 类似一个文件或一组资料,Data 是最终参与问答的数据条目。
  2. 一条数据可以映射多个向量。 长文本可以保留完整答案,同时用多个更短、更聚焦的索引提高召回概率。
  3. 混合检索比单路向量检索更稳。 产品型号、错误码、人名等精确词更依赖全文检索;自然语言问题更依赖语义检索,RRF 用于融合排名。
  4. 引用上限用 Token 而非只用 Top-K。 因为不同分块长度差异很大,固定取 5 条可能有时太少、有时又塞爆上下文。

MongoDB 保存向量之外的大部分业务数据;向量数据可以放在 PostgreSQL/PGVector、Milvus、OceanBase、SeekDB 等后端。使用 PGVector 时,官方文档说明向量 ID 会再关联回 MongoDB 中的原始数据,这也是为什么备份时不能只备向量库。

工作流:把 Prompt 变成可观察的程序

最简单的聊天应用只有“用户问题 → AI 对话”两个节点;真实业务往往还需要分类、查库、调用 HTTP 接口、条件判断、格式化和兜底。FastGPT 的节点很像函数:有输入、输出和触发关系,前一个节点的输出可以成为后一个节点的变量。

一个典型的客服工作流如何分流、检索与调用工具

官方工作流采用连接线状态推动执行:节点看到活跃前驱才执行,等待中的前驱会让它继续等待,没有可执行前驱则跳过。这个模型带来两个好处:一是分支与汇合能画出来,二是每次运行都可以检查节点输入输出,而不是只看到最后一段模型回答。

实际项目中,我更建议把职责拆开:

节点 只负责什么 不要塞进去什么
问题分类 判断咨询、投诉、查询或闲聊 大段业务回答
Query Rewrite 补全指代,生成适合检索的完整问题 修改订单号、型号等精确实体
知识库搜索 召回可引用资料 直接替用户下结论
HTTP / 插件 查询实时数据或执行动作 隐藏不可审计的复杂规则
AI 对话 综合上下文,按格式生成答案 持久化关键业务状态
指定回复 错误、拒答、转人工等确定性输出 需要模型推理的开放问题

Agent、插件与发布

工作流适合路径相对确定的流程;Agent 更适合让模型根据目标自行选择工具和步骤。插件把搜索、数据库、消息通知、文档处理等外部能力封装成可复用工具。两者并非互相替代:一个可靠的生产 Agent,通常仍会把高风险动作约束在结构清晰的工具与子流程中。

应用完成后可以通过分享链接、嵌入页面、OpenAI 风格 API 或 MCP Server 暴露。API Key 现在是成员级 OpenAPI 凭据,调用 chat/completions 时推荐在请求体中传 appId;只支持传统 OpenAI Key 配置的客户端,可以使用官方提供的兼容格式。发布不等于安全:公开分享链接会消耗应用所属团队的额度,API Key 应配置过期时间与配额,写操作工具还应做二次授权。


从零做一个“员工制度助手”

下面用一个常见场景把整条链路串起来。目标不是让模型自由聊天,而是做到:答案基于公司制度、带来源、资料缺失时明确拒答,涉及个人数据时转到内部接口查询。

1. 先定义验收问题

不要先上传几百份文件。先写 20~50 个代表性问题,其中至少包括:

  • 可直接命中的事实题:“试用期员工有几天年假?”
  • 需要跨段落理解的问题:“出差遇到周末,调休和报销分别怎么处理?”
  • 精确词问题:“OA-TRAVEL-017 表单在哪里?”
  • 多轮追问:“那海外出差呢?”
  • 应拒答的问题:“帮我查张三今年还剩多少年假。”
  • 资料中根本没有的问题,用来检查模型是否会编造。

这组题既是调参基线,也是后续升级模型、修改分块时的回归测试。没有固定测试集,所谓“感觉回答更好了”通常不可复现。

2. 整理与导入资料

优先处理文档质量,而不是立刻调相似度阈值:删除重复版本;保留标题层级;把扫描 PDF 做 OCR;给文件加版本、部门、生效日期等元数据;把已经失效的制度移出生产知识库。

分块应保持“语义完整且主题单一”。一条规则的条件、例外和结论最好放在同一个块里;表格不要被机械切成互不相关的行。对于制度问答,可以为同一原文补充多种问题式索引,例如“年假有几天”“年假额度”“试用期能否休年假”,它们都指向同一段完整制度。

3. 先用最小工作流跑通

初版只需要:

1
2
3
4
5
用户问题
  → Query Rewrite(仅多轮或指代不清时启用)
  → 知识库搜索(混合检索 + Rerank)
  → AI 对话(只依据引用回答)
  → 返回答案与来源

系统提示词可以从这个约束开始,而不是堆几十条“角色设定”:

1
2
3
4
你是公司制度助手。只根据“引用资料”回答。
资料不足时明确说“现有制度资料中没有找到答案”,不要自行补充。
若问题涉及个人余额、审批状态或其他员工隐私,不要猜测,提示用户授权后查询内部系统。
回答先给结论,再列适用条件;引用制度名称与生效日期。

如果召回错误码和表单编号不稳定,先打开全文或混合检索;如果自然语言追问召回差,再启用 Query Rewrite;如果候选内容正确但顺序差,再检查 Rerank。一次只改一个变量并重跑测试集,否则你很难知道改进来自哪里。

4. 再增加实时接口分支

将“还剩多少年假”识别为个人数据查询,先检查登录身份与授权,再调用内部 HR API。制度解释仍走知识库,个人余额走实时系统。不要把每天变化的数据定期塞进向量库,也不要让 LLM 直接拼数据库 SQL。

5. 发布前做四类测试

测试 重点观察 合格标准示例
检索测试 目标片段是否进入候选、排名是否合理 Top 候选包含正确制度,引用无过期版本
生成测试 是否忠于引用、是否正确拒答 无资料时不补写;数字与原文一致
流程测试 分支、变量、异常与超时 API 失败进入兜底,不泄露内部错误
安全测试 越权、Prompt 注入、密钥与隐私 非授权用户无法调用个人查询工具

私有部署:组件、命令与生产注意事项

FastGPT 私有部署的主要组件与数据流

官方 Docker Compose 架构至少包含 FastGPT 主服务、MongoDB、向量数据库和 AI Proxy。启用 Agent/Skill 沙箱、对象存储、MCP 或更复杂的解析能力后,还会出现额外服务。测试环境可以单机起步,生产环境则应把“能启动”和“可运营”分开看。

官方当前提供交互式安装脚本,在 Linux、macOS 或 Windows WSL 中运行:

1
2
3
4
5
FASTGPT_DEPLOY_BASE_URL=https://doc.fastgpt.cn \
  bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)

docker compose --profile prepull pull
docker compose up -d

脚本会选择向量数据库方案、下载 Compose 配置并生成随机凭据。生产环境执行远程脚本前,应先下载并审阅内容;保存生成后的 docker-compose.yml 与凭据;把镜像标签固定到明确版本,不要长期依赖 latest。

部署后首先做三件事:配置对外访问的 FE_DOMAIN;在管理后台配置聊天模型与 Embedding 模型;按需安装系统插件。主服务默认映射到 3000 端口,但生产环境应放在 HTTPS 反向代理之后,并只对外开放必要入口。

生产检查项 建议
数据持久化 MongoDB、向量库、对象存储分别使用持久卷;验证恢复而不只是“做过备份”
凭据 替换默认密码;API Key、数据库密码和模型密钥进入 Secret 管理,不写入仓库
网络 数据库不暴露公网;限制容器出站范围;上传与抓取功能设置大小、类型和域名白名单
升级 阅读跨版本迁移说明,小步升级;先备份并在预发布环境回放核心测试集
观测 记录节点耗时、模型错误、Token 消耗、检索命中与拒答率;为外部 API 设置超时和重试
容量 关注向量条数、索引构建时间、MongoDB 容量、并发请求和模型限流,而不只看 CPU

向量库选型不必一开始就追求最大规模。官方建议中,PGVector 方案更轻量,适合中小规模;达到非常大的向量规模或需要更强分布式能力时再评估 Milvus 等方案。迁移成本不仅是搬向量,还包括索引重建、停机窗口、性能回归与备份策略。


API 接入与应用边界

FastGPT 可以作为独立聊天页使用,也可以隐藏在你自己的 Web、企业微信、飞书或业务系统之后。OpenAI 风格接口降低了接入成本,但“兼容”不意味着每个扩展字段都完全等同于 OpenAI;应以当前实例的 OpenAPI 文档为准。

一个便于理解的请求示例如下,实际 Key 和 App ID 从“发布渠道 → API”获得:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
curl https://fastgpt.example.com/api/v1/chat/completions \
  -H "Authorization: Bearer $FASTGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "appId": "your-app-id",
    "stream": false,
    "messages": [
      {"role": "user", "content": "试用期员工有几天年假?"}
    ]
  }'

在应用架构里,建议把 FastGPT 当成“AI 决策与生成服务”,而不是主业务数据库:订单状态、余额、审批结果等事实仍由业务系统保存;FastGPT 通过只读或受控工具查询它们。涉及扣款、发送通知、删除数据等副作用操作时,要加入幂等键、权限校验、参数校验和人工确认,不能只相信模型生成的参数。


适合谁,也不适合谁

场景 适配度 原因
企业文档问答、客服知识助手 高 知识库、引用、工作流、发布链路齐全
内部流程助手、表单审核、内容处理 高 可视化编排方便连接模型、规则和 HTTP 工具
快速交付多个垂直 AI 应用 高 模型、知识库、插件和应用模板可复用
纯聊天模型体验页 中 能做,但如果没有知识与流程需求,平台可能偏重
超低延迟、高吞吐推理网关 低 更适合由专门模型网关和推理服务承担
强事务、强一致性的核心业务流程 低 LLM 与可视化编排不能替代事务系统和确定性服务
想直接运营同类多租户 SaaS 需谨慎 许可证对同类多租户 SaaS 和品牌信息有额外条件

与 Dify、Coze、Langflow、Flowise、LangChain/LlamaIndex 自研方案相比,FastGPT 的鲜明重心是 知识库问答 + 可视化工作流 + 私有部署交付。平台类工具更快、更统一;代码框架则更自由、更容易做深度定制。正确选择通常不是问“谁功能最多”,而是问:团队最想省掉哪部分工程工作,又愿意承担哪部分平台约束。

许可证尤其值得单独阅读。FastGPT 使用带附加条件的 FastGPT Open Source License:其文本以 Apache License 2.0 为基础,但对运营类似 FastGPT 的多租户 SaaS、移除或修改控制台 Logo 与版权信息等情形有额外要求。本文不是法律意见,商业化前应以仓库中的最新 LICENSE为准,必要时联系项目方取得授权。


真正决定效果的,是持续评估

FastGPT 最有价值的地方,是让一条 AI 应用链路变得可搭建、可观察、可复用;它最容易被误用的地方,是让人以为拖完节点就等于完成系统。

一个可长期运行的项目,至少应持续观察这些指标:

  • 检索命中率:正确资料是否进入候选,以及最终是否被引用;
  • 忠实度:答案中的事实能否由引用支持;
  • 任务成功率:流程是否真正完成业务目标,而不是只生成了流畅文本;
  • 拒答与转人工率:过高说明覆盖不足,过低可能意味着模型在冒险回答;
  • P50 / P95 延迟:拆到 Query Rewrite、检索、Rerank、模型和外部工具;
  • 单次成功任务成本:只看 Token 单价会忽略失败重试和无效调用;
  • 版本回归:模型、Prompt、知识、工作流任一变化都应跑固定测试集。

如果只记住一句话:把 FastGPT 当成 AI 应用工程平台,而不是答案质量的替代品。 先用最小流程证明价值,再用评测集迭代检索和 Prompt,最后才增加 Agent、插件与自动化动作。这样做出来的系统,通常比一开始就画满整张工作流画布更可靠。

本文依据 2026 年 10 月可见的官方资料整理。FastGPT 更新较快,部署变量、版本依赖与接口字段请在实施前再次核对。

官方资料: GitHub 仓库 · 社区版说明 · 工作流原理 · 知识库检索 · Docker Compose 部署 · API 发布