FastGPT 开源实践:基于 LLM 的知识库与 AI Agent 构建平台,Docker 快速部署指南
2026/9/10 1:29:10 网站建设 项目流程

FastGPT 开源实践:基于 LLM 的知识库与 AI Agent 构建平台,Docker 快速部署指南

【免费下载链接】FastGPTFastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and visual AI workflow orchestration, letting you easily develop and deploy complex question-answering systems without the need for extensive setup or configuration.项目地址: https://gitcode.com/GitHub_Trending/fa/FastGPT

FastGPT 是一个基于大语言模型(LLM)的 AI Agent 构建平台,提供开箱即用的数据处理与模型调用能力,并通过 Flow 可视化编排工作流,从而支撑复杂的问答与自动化应用场景。本文以仓库官方 README 为骨架,结合部署脚本、docker-compose 模板与源码结构,系统讲解 FastGPT 的定位、Docker 快速部署流程、容器化架构、五大核心能力及安装后的初始化要点,帮助读者在十几分钟内从零跑通一个可用的 FastGPT 实例,并理解其底层工程实现。

一、FastGPT 是什么:一个开箱即用的 AI Agent 构建平台

根据 README_vi.md(越南语版 README,与 README.md 内容一致)的项目定位,FastGPT 是:

一个 AI Agent 构建平台,提供开箱即用的数据处理、模型调用等能力,同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的应用场景。

围绕这一核心定位,项目提供三种使用形态:

  • 云服务版本:无需私有化部署,直接使用官方托管的在线服务;
  • 社区自托管版本:通过 Docker 快速部署,或使用 Sealos Cloud 一键部署;
  • 商业版本:提供更完整的功能与深度服务支持,并附带场景落地辅导。

从仓库工程结构看,这是一个典型的 monorepo(参见根目录 package.json、pnpm-workspace.yaml),核心代码按职责划分为:

  • packages/service:后端业务逻辑(common/core/support/worker);
  • packages/web:前端 UI 组件、hooks 与国际化;
  • packages/global:跨端共享的类型、工具与 OpenAPI 定义;
  • packages/dal:Redis 等数据访问层;
  • projects/app:FastGPT 主站应用;
  • projects/code-sandbox、projects/agent-sandbox 等:代码沙箱与 Agent 沙箱运行时;
  • document:官方文档站(MDX 内容与部署资源)。

二、快速开始:两条命令完成 Docker 部署

README 提供了一条极简的快速启动路径:在终端执行脚本拉取配置,再用docker compose启动即可。

# 输入命令拉取配置文件 bash <(curl -fsSL https://doc.fastgpt.io/deploy/install.sh) # 启动 docker compose up -d

完全启动后,通过http://localhost:3000访问 FastGPT,默认账号为root,密码为1234

这条命令所对应的安装脚本实体就保存在仓库中:document/public/deploy/install.sh。它是纯 bash 实现,行为完全可审计:

  • 提供方向键(↑↓)交互式单选菜单(radio_select),用于选择部署版本、镜像源、向量数据库等;
  • 支持通过环境变量实现非交互式安装FASTGPT_NON_INTERACTIVE=true时,所有选择均可通过FASTGPT_DEPLOY_VERSIONFASTGPT_REGIONFASTGPT_VECTORFASTGPT_AUTO_GENERATE_CREDENTIALSFASTGPT_FE_DOMAIN等变量预先指定;
  • 会下载官方生成的docker-compose.yml(必要时同时下载旧版所需的config.json),并对文件做合法性校验(校验services:关键字、拒绝 HTML 页面与空文件);
  • 自动探测宿主机 IP 与 Docker socket 路径,并改写 compose 中的端口映射与挂载路径。

安装完成后,脚本会提示后续操作:

  1. 预拉取镜像:docker compose --profile prepull pull(若 compose 中存在沙箱镜像定义);
  2. 启动服务:docker compose up -d
  3. 按映射配置防火墙或反向代理;
  4. 访问http://localhost:3000(以实际 FE 地址为准);
  5. 使用默认账号root及脚本回显的密码登录;
  6. 在「账号-模型提供商」页面配置模型。

提示:README 中默认密码1234仅在未启用自动密钥生成时有效。安装脚本支持选择「自动生成(推荐)」,此时会通过random_hex()随机化 root 登录密码、系统密钥(x-system-key)、FILE_TOKEN_KEYAES256_SECRET_KEYINVOKE_TOKEN_SECRET、MongoDB/Redis/MinIO 等组件密码,并在结尾回显 root 密码,务必妥善保存生成的docker-compose.yml

三、容器化架构:一张 docker-compose 看懂整个系统

官方部署模板位于 deploy/version/main/docker-compose.template.yml(本地开发版见 deploy/dev/docker-compose.yml),公开下载产物按版本/区域/向量库组合生成在 document/public/deploy/docker/main(含pgmilvuszillizoceanbaseseekdbopengauss六种向量库组合)。以 main 稳定版为例,完整的服务组成如下:

服务端口映射职责
fastgpt-app3000:3000FastGPT 主应用(前端 + API)
fastgpt-mongo内网MongoDB 5.0,主业务数据库(以副本集模式启动)
fastgpt-redis内网Redis 7.2,缓存与队列
fastgpt-minio9000/9001对象存储,用于文件资源
fastgpt-vector(PG 等)内网向量数据库,随所选向量库方案变化
fastgpt-code-sandbox3002代码沙箱(JS/Python)
fastgpt-plugin3004插件服务(系统工具)
fastgpt-opensandbox-server8090Agent 沙盒控制器(管理容器生命周期)
fastgpt-volume-manager3005卷管理微服务(幂等创建/删除命名卷或 PVC)
fastgpt-agent-sandbox-proxy3006:1006浏览器与 OpenSandbox 之间的 WebSocket 鉴权代理
fastgpt-aiproxy/fastgpt-aiproxy-pg3010AI Proxy 模型聚合网关及其数据库

模板中大量使用 YAML anchor 复用配置块,理解这些 anchor 是自定义部署的关键:

  • x-share-db-config:数据库与对象存储连接配置,包括MONGODB_URIREDIS_URL,以及对象存储系列变量(STORAGE_VENDOR: minioSTORAGE_REGIONSTORAGE_ACCESS_KEY_IDSTORAGE_SECRET_ACCESS_KEYSTORAGE_PUBLIC_BUCKETSTORAGE_PRIVATE_BUCKETSTORAGE_S3_ENDPOINTSTORAGE_S3_FORCE_PATH_STYLE等),STORAGE_VENDOR支持minio | aws-s3 | cos | oss
  • x-log-config:日志配置,可开关控制台输出与 OpenTelemetry(OTEL)上报;
  • x-no-proxy-config:显式绕过 compose 内部服务的代理,避免内部请求被HTTP_PROXY/HTTPS_PROXY劫持;
  • x-agent-sandbox-config:Agent 沙盒相关配置,如AGENT_SANDBOX_PROXY_URLAGENT_SANDBOX_PROXY_SECRETAGENT_SANDBOX_CPU_COUNTAGENT_SANDBOX_MEMORY_MIBAGENT_SANDBOX_SUSPEND_MINUTES等;
  • 基础安全变量:FE_DOMAIN(客户端访问地址,用于补全文件资源路径)、ROOT_KEY(最高权限密钥)、DEFAULT_ROOT_PSW(root 密码,重启后强制重置为环境变量值)、AES256_SECRET_KEYINVOKE_TOKEN_SECRET(至少 32 位)。

向量库的选择逻辑由 deploy/templates/vector/config.json 定义,deploy/init.mjs 会在构建阶段把各向量库的db/config/extra片段注入到${{vec.*}}占位符中,生成按版本/区域/向量库排列的成品 compose 文件,镜像 tag 则来自 deploy/version/main/args.json(如fastgpt: v4.16.2mongo: 5.0.32redis: 7.2-alpine,并区分阿里云cnglobal两套镜像仓库)。

四、五大核心能力详解

README 以功能清单形式列出了 FastGPT 的核心能力,可分为五大板块:

1. 应用编排能力

  • Agent Skill 编排:将能力封装为可复用的 Skill,支持组合调用;
  • 对话工作流、插件工作流:可视化 Flow 编排,包含基础的RPA 节点
  • 用户交互:工作流中支持与用户进行多轮交互;
  • 双向 MCP:支持 MCP(Model Context Protocol)的双向集成;
  • 规划中:辅助生成工作流(未勾选,表示尚未完成)。

2. 应用调试能力

  • 知识库单点搜索测试:对单个知识库进行检索效果验证;
  • 对话时反馈引用并可修改与删除:回答附带的引用来源支持编辑与删除;
  • 完整调用链路日志:可追踪一次对话的完整调用链;
  • 应用评测:对应用整体效果进行评测;
  • 规划中:高级编排 DeBug 调试模式、应用节点日志。

3. 知识库能力

  • 多库复用、混用:单个应用可同时关联多个知识库;
  • chunk 记录修改和删除:对切片记录进行细粒度维护;
  • 多种导入方式:手动输入、直接分段、QA 拆分导入;
  • 多格式文件支持:TXT、MD、HTML、PDF、Docx、PPTX、CSV、XLSX(更多 File Loader 可通过 PR 补充),并支持URL 读取CSV 批量导入
  • 混合检索 & 重排:组合多种检索方式并做 rerank;
  • API 知识库:以 API 方式对接外部知识库。

4. 插件能力

  • 系统工具热更新:工具类插件支持不重启服务的热更新;
  • 规划中:RAG 模块热更新、Agent-loop 热更新、AI 实时生成插件。

5. 运营能力

  • 免登录分享窗口:无需登录即可分享对话应用;
  • iframe 一键嵌入:将应用嵌入自有网站;
  • 统一查阅对话记录,并对数据进行标注:集中管理对话日志与标注;
  • 应用运营日志:记录应用的运行与使用情况。

五、从 README 到源码:能力背后的工程支撑

FastGPT 的功能声明并非空谈,仓库源码为其提供了可验证的实现支撑:

  • 主业务逻辑集中在 packages/service/core(441 个.ts文件,覆盖知识库、对话、工作流编排等)与 projects/app/src(主站前后端);
  • 前端工作流编排交互位于 packages/web/components,知识库相关操作可在 packages/service/core/dataset(从目录结构推断)中定位到导入、切片、检索等模块;
  • 插件系统由独立的fastgpt-plugin服务承载,与主站通过PLUGIN_BASE_URL/PLUGIN_TOKEN对接;
  • 沙箱与 RPA 能力依赖code-sandboxopensandbox-serveragent-sandbox-proxyvolume-manager四个独立服务协同,这解释了为什么新版 docker-compose 的依赖链如此之长;
  • 单元测试与集成测试覆盖核心逻辑,见 packages/service/test、test 与各包的vitest.config.ts

也就是说,README 描述的"数据处理、RAG 检索、可视化工作流编排"在工程上分别对应着 Mongo/PG 数据层、packages/service的检索链路,以及前端 Flow 编辑器 + 后端工作流执行引擎。

六、部署后的初始化与使用要点

完成docker compose up -d之后,建议按以下顺序初始化:

  1. 确认服务健康docker compose ps观察各服务健康状态(compose 中为关键服务定义了 healthcheck);
  2. 登录系统:使用root账号与安装脚本回显的密码登录(若未启用自动密钥生成,则为1234);
  3. 配置模型:在「账号-模型提供商」页面配置 LLM、向量化与重排模型(这也是 FastGPT 运行对话与知识库检索的前提);
  4. 创建知识库与应用:导入文档构建知识库,再通过 Flow 编排应用;
  5. 对外发布:根据实际网络环境,通过防火墙放行端口或将3000(主站)、3006(Sandbox Proxy)置于反向代理之后。

需要注意的适用前提与限制:

  • 模板中 MongoDB 使用副本集(--replSet rs0)模式,这是事务能力的前提,不要以单机模式启动;
  • 若宿主机 CPU 不支持 AVX 指令集,README 与 compose 注释均提示可切换到旧版镜像(如 Mongo 4.4.29、MinIO cpuv1 版本);
  • 若遇到部署问题,可查阅仓库内 document/content/self-host/troubleshooting 下的故障排查文档(10 个 MDX 文件),以及完整的 Docker 部署教程(document/content/self-host/deploy)。

七、开源协议与合规要点

本仓库遵循 FastGPT Open Source License,README 明确列出的三条核心约定:

  1. 允许作为后台服务直接商用,但不允许提供 SaaS 服务;
  2. 未经商业授权,任何形式的商用服务均需保留相关版权信息;
  3. 完整条款以 LICENSE 文件为准,商业授权可联系官方获取定价说明。

结语

FastGPT 以"开箱即用"为设计主线:Docker 两条命令即可拉起完整服务栈,Flow 可视化让复杂工作流编排变得直观,知识库的多样导入与混合检索覆盖了 RAG 的主流落地形态。结合 deploy 目录下的模板生成机制与 packages/service 的模块化实现,无论是快速搭建演示环境、深度定制业务逻辑,还是研究 AI Agent 平台工程化方案,这个仓库都提供了完整且可验证的参考。上手第一步,就是执行 README 中的两条 Docker 命令。

【免费下载链接】FastGPTFastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and visual AI workflow orchestration, letting you easily develop and deploy complex question-answering systems without the need for extensive setup or configuration.项目地址: https://gitcode.com/GitHub_Trending/fa/FastGPT

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询