FastGPT 是基于大语言模型的私有知识库问答系统,支持私有部署、多模型接入、向量检索增强(RAG)等核心功能。对于注重数据安全的企业和团队,本地部署 FastGPT 是构建内部 AI 知识助手的第一步。
典型部署场景包括:
部署 FastGPT 最低要求:2核 CPU / 4GB 内存 / 50GB 硬盘。生产环境建议 4核8G起步。操作系统以 Ubuntu 22.04 或 CentOS Stream 9 为佳。
## 卸载旧版本(如已安装)
sudo apt-get remove docker docker-engine docker.io containerd runc 2>/dev/null
## 安装必要依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
## 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
## 添加源并安装
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
## 验证安装
docker --version # 应输出 Docker version 24+
docker compose version # 应输出 Docker Compose v2+
/etc/docker/daemon.json,添加阿里云或DaoCloud镜像地址后执行 sudo systemctl restart docker。
## 调整文件描述符上限(FastGPT 需要较多并发连接)
echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 65535" | sudo tee -a /etc/security/limits.conf
## 开启 IPv4 转发(容器网络必需)
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
## 创建工作目录
mkdir -p /opt/fastgpt && cd /opt/fastgpt
## 下载官方 docker-compose.yml 配置文件
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/docker-compose-getstarted.yaml
## 启动所有服务(4个容器:fastgpt、mongo、one-api、ragflow)
sudo docker compose up -d
## 查看运行状态
sudo docker compose ps
# 期望输出:所有容器状态为 "Up" 或 "running"
docker-compose-getstarted.yaml 主要涉及四个容器:
| 容器名 | 功能 | 默认端口 |
|---|---|---|
| fastgpt | 主应用服务 | 3000 |
| mongo | 主数据库(用户/应用数据) | 27017 |
| one-api | API 密钥管理层 | 3001 |
| ragflow | 文档解析与向量化 | 9380 |
## 检查端口是否监听
ss -tlnp | grep 3000
# 应看到:LISTEN 0 4096 *:3000 *:* users:(("node",pid=...))
## 测试响应(首次访问可能需要等待30秒)
curl -s http://localhost:3000 | head -5
# 期望看到 HTML 输出,包含 "FastGPT" 字样
## 检查所有容器健康状态
sudo docker compose ps --format "table {{.Name}}\t{{.Status}}"
## 首次打开 http://你的IP:3000 时创建账号
## 系统会自动创建初始管理员账户
## 建议初始密码立即修改
# 进入 OneAPI 配置界面:http://你的IP:3001
# 1. 在"渠道"中添加模型
# 2. 渠道名称:OpenAI兼容接口
# 3. 模型列表:gpt-4o, gpt-4o-mini, text-embedding-3-large
# 4. Base URL:http://fastgpt:3000/api/proxy/oneapi
# 5. 填入你的 OpenAI API Key 或 Azure Key
# 或在 FastGPT 界面直接配置:设置 → 模型供应商
https://api.deepseek.com/v1https://open.bigmodel.cn/api/paas/v4
# 在 FastGPT Web 界面操作流程:
# 1. 点击"知识库" → "创建知识库"
# 2. 输入知识库名称(如"产品手册知识库")
# 3. 选择数据格式:PDF/Word/Markdown/TXT
# 4. 批量上传文档或选择在线同步
# 5. 系统自动解析、切片、向量化(ragflow 负责)
# 系统支持的文档格式
# PDF: 需 UTF-8 编码,图片型 PDF 需额外 OCR
# Word: .docx 格式,支持表格
# Markdown: .md 最佳,保留结构清晰
# TXT: 纯文本,默认 chunk_size 500 tokens
## 查看失败日志
sudo docker compose logs fastgpt
sudo docker compose logs ragflow
## 常见原因:
# 1. 磁盘不足 → df -h 检查,free up space
# 2. 端口被占用 → ss -tlnp | grep 3000
# 3. 内存不足 → swapoff -a 或扩容
## 强制重建(修改配置后)
sudo docker compose down
sudo docker compose up -d --force-recreate
# FastGPT V2 后支持在 API 层调整参数
# POST /api/v1/chat/completions
{
"model": "gpt-4o",
"messages": [...],
"rag": {
"enabled": true,
"topN": 8,
"scoreThreshold": 0.8,
"rerank": {
"model": "BAAI/bge-reranker-v2-m3",
"topN": 5
}
}
}
| 优化项 | 低配方案 | 推荐方案 |
|---|---|---|
| Embedding 模型 | bge-m3-big(慢) | bge-m3(ColPali) |
| 向量数据库 | MongoDB(随用随写) | Milvus/Zilliz(专用向量) |
| 并发控制 | 无限制 | 限制 10-50 QPS,降级排队 |
| 缓存策略 | 每次查询都向量化 | 热门问题 Redis 缓存 24h |
docker compose pull 再 up -d,务必保持数据卷映射路径不变,否则会丢失知识库数据。
FastGPT 提供了一条从数据上传、向量化到智能问答的完整闭环。私有部署虽然初始成本较高,但在数据合规、定制化程度和长期稳定性方面,远优于纯 SaaS 方案。
关键成功指标:RAG 检索准确率 ≥ 85%,用户满意度(Thumbs Up 率)≥ 75%,平均响应时间 < 5s。持续优化切片策略和重排序模型,是提升知识库效果的核心手段。