fastgpt 本地部署

模型与算力

给想自建知识库的团队一份 FastGPT 本地部署的实操顺序:先盘资源和前置依赖,再决定组件怎么放,最后按清单验收与排障。

想给内部资料做个问答入口,又不想把文档传到别人的服务器上,FastGPT 是很多人会想到的方案。但真到自己动手,卡点往往不在「装不装得上」,而在依赖组件怎么摆、模型走本地还是走接口、向量库和存储放哪台机器。这篇按「准备—部署—验收」的顺序把动作列清楚,具体版本与资源数字到站内模型库和部署测算页核对。

想给内部资料做个问答入口,又不想把文档传到别人的服务器上,FastGPT 是很多人会想到的方案。但真到自己动手,卡点往往不在「装不装得上」,而在依赖组件怎么摆、模型走本地还是走接口、向量库和存储放哪台机器。这篇按「准备—部署—验收」的顺序把动作列清楚,具体版本与资源数字到站内模型库和部署测算页核对。

下面按四步走:先盘资源和前置依赖,再决定组件怎么放,然后接模型,最后按清单验收与排障。每步都给了判断标准和可执行动作,照着做能少走不少弯路。

动手前先盘清楚四件事

别急着敲命令,先花半小时把下面四件事写在纸上。这四件事没定,后面装到一半再改,返工成本比现在高得多。特别是算力和模型来源,直接决定你这台机器能不能跑起来。

要盘的事判断标准什么时候不适用
算力与显存对话、向量、重排三类模型分别跑在哪,本地跑先按参数量和量化档估算显存如果全部走外部接口,本地显存只影响并发和索引速度,不决定能不能回答
前置依赖容器运行时、数据库、对象存储、向量库一个都不能少全托管方案可以跳过部分组件,但自建就别想省
模型来源本地权重、自建推理服务、外部按量接口三条路先定一条团队已有推理服务时混用,但地址和密钥要分开管
网络与端口内网机器确认端口放行、镜像拉取、模型下载三段流量离线环境提前把镜像和权重搬进去,别到装的时候才发现下不动
  • 算力与显存:对话模型、向量模型、重排模型分别跑在哪,本地跑要先按参数量和量化档算显存,别等装完才发现加载不动,参考「部署测算」页的算法;
  • 前置依赖:容器运行时、数据库、对象存储、向量库这几类组件一个都不能少,缺哪个后面都会报错,建议先列一张组件对照表再开装;
  • 模型来源:本地权重、自建推理服务、外部按量接口三条路可以混用,但每条路对应的地址、密钥、超时配置不一样,先定下来再填;
  • 网络与端口:内网机器要考虑端口放行、镜像拉取、模型下载这几段流量,离线环境要提前把镜像和权重搬进去。

组件怎么摆:单机起步与拆开部署的分界

组件摆放没有标准答案,但有明确的分界线。验证阶段怎么省事怎么来,一旦要长期用,就得按数据量和并发来决定拆不拆。下面这张表帮你判断自己现在处在哪个阶段。

阶段摆放方式典型触发条件
验证阶段所有组件挤一台机器只有几个人试用,文档量不大
过渡阶段向量库和对象存储先挪出去文档量变大、上传变慢、索引经常卡
正式使用数据库、向量库、对象存储分别独立并发上来,或者要跟已有数据库和存储复用
  1. 第一步:确定编排方式容器编排用哪个不是重点,重点是配置文件集中管理、数据卷单独挂载,升级时别把数据和镜像混在一起。
  2. 第二步:检查已有资源如果团队已经有内部的模型推理服务,优先复用而不是再起一套,省显存也省维护。
  3. 第三步:规划数据卷数据库、对象存储、向量库的数据各自挂独立卷,容器删了数据还在,迁移时只搬卷不搬容器。

模型接入:对话、向量、重排三段分别接

FastGPT 里模型不是接一次就完事,对话、向量、重排是三段独立的配置,地址、密钥、超时都可以不一样。很多人卡在「上传成功但提问没反应」,基本就是这三段里有一段没接对。

对话模型
负责生成答案,决定回答质量和上下文长度上限
向量模型
把文档和问题转成可比的向量,直接影响召回质量,中文场景尤其要看对比口径
重排模型
把召回结果再筛一遍,可选但开了通常更准,代价是多一次推理开销

中文场景下向量模型的选择直接影响召回质量,挑之前先看「嵌入模型」页的对比口径,别只看维度高低。本地推理服务没起来或者地址填错时,典型表现是上传文档成功、提问却一直转圈或直接报错,先单独用接口测一下再回去查配置。

  • 三段分开配:对话、向量、重排的地址和参数各填各的,别指望填一处全生效;
  • 先单独测:用简单脚本或接口工具分别调通三段,再回 FastGPT 里填地址;
  • 切分看窗口:切分长度别超过模型上下文窗口,否则尾部内容直接丢;
  • 重排可选:文档量小可以先不开,等召回不准了再加,别一上来就堆组件。

上线前的验收清单与常见报错顺序

装完不等于能用。验收要按从小到大的顺序来,先跑通最小闭环,再压并发和长文档。跳过最小闭环直接导全量数据,出了问题你连是哪一环都定位不了。

  1. 第一步:跑通最小闭环上传一份小文档、等索引完成、问一个文档里能直接找到答案的问题,这一步不过就别急着导全量数据。
  2. 第二步:压并发和长文档看响应时间和显存占用是不是稳,接口慢不一定是模型的问题,先用「接口测速」量出基线。
  3. 第三步:按顺序排查报错容器起没起 → 数据库连没连上 → 向量库索引状态 → 模型接口能否单独调通 → 最后才怀疑参数。
  4. 第四步:留一份说明给团队留一份「谁的机器、跑哪些组件、配置在哪」的说明,出问题时不用从头翻。
现象先查什么再查什么
上传卡住容器和网络对象存储和向量库连通性
提问报错模型接口能否单独调通三段模型地址是否填错
回答不准切分长度和召回条数向量模型是否适配中文
越用越慢显存和 IO 占用是否该把组件拆开部署
下一步想对比不同模型和中转方案的实际表现,或者查当时的价格与测速数字,去这几个页面核对,比在群里问快得多。

常见问题

FastGPT 本地部署一定要有显卡吗?

不一定。对话和向量模型都可以调外部按量接口,本地只跑应用和存储组件,普通服务器也能搭起来。但如果要求数据完全不出内网,模型也得本地跑,那就得按参数量和量化档算显存,具体配置到站内「部署测算」页对一遍,再决定买还是租。

能不能只用容器一键起,不折腾数据库和向量库?

验证阶段可以,很多部署包会把这些组件一起带起来。但用于正式业务时不建议:数据卷、备份、升级路径都绑在一起,出问题不好拆。等文档量和并发上来,还是要按「拆开部署」的思路把存储和向量库独立出去,迁移前先确认数据能导出。

部署好了但回答不准,是模型不行吗?

先别怪模型。按顺序查三件事:文档切分是不是把完整语义切断了;向量模型是不是跟中文语料不匹配,可以去「嵌入模型」页看选型口径;召回条数是不是设得太少,导致答案原文根本没进上下文。这三项调完再考虑换对话模型。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。