FastGPT:开源知识库问答系统安装与使用指南
官方信息
| 项目名称 | FastGPT |
| 仓库地址 | https://github.com/labring/FastGPT |
| 官方网站 | https://fastgpt.run |
| 最新更新时间 | 2026-10-25 |
| Star 数 | 22k+ |
| 项目定位 | 开源的知识库问答系统,专注 RAG 场景,开箱即用 |
项目背景
FastGPT 是由 labring 团队开发的开源知识库问答系统,国内团队维护,中文生态友好。它的核心思路非常聚焦:帮你把公司文档、产品手册、FAQ 喂进去,然后做一个"基于自家资料回答问题"的客服机器人。和 Dify 这种全功能平台不同,FastGPT 在知识库这一件事上做到了极致优化。
很多企业上 AI 的第一个需求就是:"我有 500 份产品文档,能不能做个机器人,客户问问题直接从文档里找答案?"这个问题看似简单,实际涉及文档解析、切分策略、向量检索、Prompt 编排、多轮对话、引用溯源等一堆环节。FastGPT 把这些全部封装成了可视化界面,运营人员自己上传文档、点按钮、就能用。
FastGPT 在国内中小团队中非常流行,因为它:部署简单(一条 docker compose)、中文优化好、支持接入企业微信/飞书/钉钉客服、价格比商用方案低很多。
核心特性
- 可视化知识库管理:上传文件自动切分,支持手动调整分段、添加问题优化、设置相似度阈值。
- 多种检索模式:向量检索、全文检索、混合检索、语义重排,支持实验对比。
- 工作流编排:可视化工作流,支持问题分类、知识库检索、HTTP 请求、代码执行等节点。
- 多渠道发布:嵌入网页、API、企业微信、飞书、钉钉、微信公众号。
- 对话日志:完整的聊天记录、反馈标注、未答问题统计,可回流优化知识库。
- 权限管理:团队空间、成员协作、应用级权限。
- 价格亲民:自部署完全免费,只有调 LLM API 的费用。
环境要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Ubuntu 20.04+ | Ubuntu 22.04 LTS |
| Docker | 20.10+ | 24.0+ |
| CPU | 2 核 | 4 核+ |
| 内存 | 4 GB | 8 GB+ |
| 磁盘 | 20 GB | 50 GB+ SSD |
详细部署步骤
第一步:安装 Docker
curl -fsSL https://get.docker.com | bash
systemctl start docker && systemctl enable docker
第二步:创建部署目录
mkdir -p /opt/fastgpt/data
cd /opt/fastgpt
第三步:编写 docker-compose.yml
vim docker-compose.yml
填入以下内容:
version: '3.3'
services:
fastgpt:
container_name: fastgpt
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.4
ports:
- "3000:3000"
volumes:
- ./data:/app/data
environment:
- DEFAULT_ROOT_KEY=root123123
- MONGODB_URI=mongodb://fastgpt:fastgpt@mongo:27017/fastgpt
- PG_URI=postgresql://fastgpt:fastgpt@pg:5432/fastgpt
- DATA_BASE=/app/data
- TZ=Asia/Shanghai
depends_on:
- mongo
- pg
restart: always
mongo:
container_name: fastgpt-mongo
image: mongo:7.0
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=fastgpt
- MONGO_INITDB_ROOT_PASSWORD=fastgpt
volumes:
- ./mongo_data:/data/db
pg:
container_name: fastgpt-pg
image: pgvector/pgvector:pg16
restart: always
environment:
- POSTGRES_USER=fastgpt
- POSTGRES_PASSWORD=fastgpt
- POSTGRES_DB=fastgpt
volumes:
- ./pg_data:/var/lib/postgresql/data
第四步:启动服务
docker compose up -d
# 查看日志
docker compose logs -f fastgpt
首次启动需要初始化数据库,等待 1-2 分钟。
第五步:登录
浏览器访问 http://你的服务器IP:3000:
- 初始账号:
root - 初始密码:
docker-compose 中 DEFAULT_ROOT_KEY 的值,即 root123123 - 登录后立即修改密码
第六步:配置模型
右上角头像 → 账号设置 → 模型配置,添加 OpenAI / DeepSeek / 通义等模型:
# 以 DeepSeek 为例,添加配置:
# 模型名:deepseek-chat
# 接口地址:https://api.deepseek.com/v1
# API Key:sk-xxxxxxxx
# 模型类型:对话
# 最大 token:4096
同时需要配置 Embedding 模型(用于知识库向量化),推荐:
- OpenAI:text-embedding-3-small
- 本地:bge-large-zh-v1.5(通过 Ollama 或 Xinference)
第七步:创建知识库
- 左侧"知识库" → 新建知识库
- 选择索引模式:
- 混合索引:向量 + 全文,推荐
- 向量索引:纯语义检索
- 全文索引:关键词检索
- 上传文档,选择分段方式:
- 通用模板:自动按标点分段
- 按 Markdown 标题分段
- 自定义分段符
- 等待索引完成
第八步:创建应用并关联知识库
- 左侧"应用" → 新建应用 → 选择"知识库问答"
- 设置应用名称和图标
- 在"知识库"模块添加刚才创建的知识库
- 设置检索参数:
- 相似度阈值:0.5(根据实测调整)
- 搜索数量:3-5 段
- 重排开关:开启
- 在"AI 对话"模块选择模型,设置系统提示词
- 右侧调试窗口测试效果
第九步:发布
- 点击右上角"发布"
- 选择发布方式:
- 嵌入网页:复制 iframe 代码
- API 访问:获取 API Key
- 二维码:扫码在手机上用
常见坑与解决
- 登录不上:检查 DEFAULT_ROOT_KEY 是否和登录密码一致;MongoDB 容器是否正常启动。
- Embedding 失败:确认 Embedding 模型配置正确,网络能访问对应 API。
- 检索效果差:降低相似度阈值到 0.3-0.5,增加搜索段数,尝试混合索引。
- 内存不够:MongoDB + PG + FastGPT 至少 4GB,建议 8GB。
使用方法示例
API 调用示例:
curl -X POST 'http://your-server:3000/api/v1/chat/completions' \
-H 'Authorization: Bearer FastGPT-Api-Key-xxxx' \
-H 'Content-Type: application/json' \
-d '{
"chatId": "test-session",
"stream": false,
"detail": false,
"messages": [{"role": "user", "content": "你们的产品怎么退款?"}]
}'
常见问题 FAQ
Q1:FastGPT 和 Dify 怎么选?
A:只做知识库客服问答选 FastGPT,简单专注;要工作流、Agent、多渠道复杂场景选 Dify。
Q2:支持多少并发用户?
A:默认配置支持几十个并发,瓶颈在 LLM API 而不是 FastGPT 本身。生产环境建议加 Nginx 反代。
Q3:数据存在哪?
A:MongoDB 存对话记录和配置,PostgreSQL + pgvector 存知识库向量。
Q4:能商用吗?
A:FastGPT 是自定义开源协议,自部署免费商用,但不能转售为 SaaS。
Q5:和 FastGPT Cloud 有什么区别?
A:开源自部署版功能和云版基本一致,数据在自己服务器上;云版不用自己运维。
跳转链接
- GitHub 仓库:https://github.com/labring/FastGPT
- 官方文档:https://doc.fastgpt.run
- 在线 Demo:https://fastg.run