基于 Docker 部署 FastGPT 与本地大模型实战指南
概述
随着大语言模型(LLM)技术的快速发展,企业和个人对私有化部署大模型的需求日益增长。本文详细介绍如何搭建一套完整的本地大模型应用环境,包括使用 Docker 容器化技术安装基础组件,配置 FastGPT 作为前端交互界面,利用 OneAPI 作为模型代理网关,以及接入 Ollama 实现本地模型推理和 M3E 向量模型支持知识库检索。
本方案适用于希望在大模型领域进行技术转型、开发 AI 应用或构建企业内部知识库的技术人员。
1. 环境准备与工具介绍
1.1 核心工具链
- Docker: 用于容器化部署所有服务,确保环境一致性。
- OneAPI: 开源的 API 管理网关,统一不同大模型的接口标准,支持多模型路由。
- FastGPT: 基于 LLM 的问答系统框架,提供可视化编排和知识库管理功能。
- Ollama: 本地运行大模型的工具,支持多种量化模型,适合隐私敏感场景。
1.2 系统要求
- 操作系统:Linux (Ubuntu/CentOS) 或 macOS
- 内存:建议至少 8GB RAM(运行本地模型时建议 16GB+)
- 磁盘:预留 50GB 以上空间用于存储镜像和模型文件
2. 安装 Docker 环境
注意:如果系统中已安装 Docker,可跳过此步骤,但请确保版本为 20.10 以上。
2.1 安装 Docker Engine
执行以下命令安装 Docker(建议使用国内镜像源以加速下载):
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
2.2 安装 Docker Compose
Docker Compose 用于管理多容器应用。由于 GitHub 下载可能较慢,可使用镜像站地址:
curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
若 GitHub 访问受限,可替换为镜像地址:
curl -L https://hub.nuaa.cf/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2.3 验证安装
启动 Docker 服务并检查版本号:
sudo systemctl start docker
docker -v
docker-compose -v
若输出版本号信息,说明安装成功。
3. 部署 FastGPT
FastGPT 是一个开源的 LLM 应用开发平台,支持快速构建对话机器人。
3.1 创建部署目录
mkdir -p /usr/local/fastgpt
cd /usr/local/fastgpt/
3.2 下载配置文件
从官方仓库获取 docker-compose.yml 和 config.json:
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
3.3 启动服务
首次启动会拉取所有镜像,请耐心等待:
docker-compose up -d
4. 配置 OneAPI 模型网关
OneAPI 负责将不同的模型接口标准化,便于 FastGPT 调用。
4.1 注册第三方模型账号
为了测试线上模型,我们使用零一万物(Yi-Model)提供的免费额度。
- 访问零一万物官网注册账号。
- 在 API Key 管理页面获取密钥并保存。
4.2 启动 OneAPI
假设 OneAPI 已部署在同一网络环境中,默认访问地址为 http://ip:3001。
首次登录建议修改密码以确保安全。
4.3 添加渠道配置
- 进入导航栏【渠道】。
- 点击【添加新渠道】。
- 填写模型提供商信息,输入之前获取的 API Key。
- 点击【测试】按钮,确认连接状态显示成功。
5. 集成 FastGPT 与 OneAPI
5.1 修改 FastGPT 配置
在 /usr/local/fastgpt/projects/app/data/config.json 文件中找到 llmModels 字段。
复制现有配置项,修改 model 和 name 字段以匹配 OneAPI 中配置的模型名称。
保存后重启服务生效:
docker-compose down
docker-compose up -d
5.2 创建应用
- 浏览器访问 FastGPT 登录页(默认账号 root/1234)。
- 点击【新建应用】。
- 在模型选择下拉框中,选择刚才配置的零一万物模型。
- 点击【保存并预览】即可开始对话。
6. 部署本地大模型 (Ollama)
为了降低 API 成本并保护数据隐私,建议部署本地模型。
6.1 安装 Ollama
在 Linux 服务器上执行官方安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
6.2 配置网络访问
Ollama 默认绑定 127.0.0.1:11434,内网其他机器无法访问。需修改 systemd 服务配置:
- 编辑文件
/etc/systemd/system/ollama.service。
- 修改
Environment 行,设置 OLLAMA_HOST=0.0.0.0。
- 重载配置并重启服务:
systemctl daemon-reload
systemctl restart ollama
6.3 下载模型
访问 Ollama 官网搜索所需模型(如 Qwen),复制下载命令执行:
ollama pull qwen:7b
下载完成后,可通过终端直接对话测试:
ollama run qwen:7b
7. 本地模型接入 OneAPI
7.1 添加 Ollama 渠道
在 OneAPI 后台新建渠道:
- 模型类型:选择
ollama
- 名称:自定义(如 Local-Qwen)
- 模型列表:点击【清除所有模型】,手动输入 Ollama 中下载的模型名称(通过
ollama list 查看)。
- 密钥:固定填写
sk-key
- 代理地址:填写 Ollama 服务地址(如
http://localhost:11434)
7.2 测试与验证
提交配置后,在渠道列表点击【测试】,确认状态为成功。
7.3 更新 FastGPT 配置
重复第 5 步的操作,在 config.json 中添加新的本地模型配置,重启服务后即可在 FastGPT 中选择本地模型进行对话。
8. 构建本地知识库 (RAG)
为了实现基于文档的智能问答,需要引入向量模型。
8.1 安装向量模型服务
使用 Docker 部署 M3E 向量模型 API:
docker run registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
8.2 配置向量通道
在 OneAPI 中新建渠道:
- 类型:OpenAI
- 模型名:
m3e
- 密钥:
sk-aaabbbcccdddeeefffggghhhiiijjjkkk
- 代理地址:向量模型服务的地址
8.3 启用知识库索引
- 在 FastGPT 的
config.json 中,将向量模型配置添加到 vectorModels 字段。
- 确保本地 LLM 模型配置中的
datasetProcess 设置为 true,以便支持知识库处理。
- 重启服务。
8.4 创建知识库与应用关联
- 进入 FastGPT 知识库模块,新建知识库。
- 索引模型选择
m3e,文件处理模型选择本地 Qwen 模型。
- 上传文档或手动录入文本数据。
- 在应用中关联该知识库,提问时将自动检索相关内容。
9. 常见问题与优化建议
9.1 性能优化
- 显存不足:本地模型运行时若显存不足,可选择更小的量化版本(如 4bit)。
- 并发限制:OneAPI 支持限流配置,防止高并发导致服务崩溃。
9.2 安全性加固
- 密码修改:务必修改 OneAPI 和 FastGPT 的默认密码。
- 防火墙策略:仅开放必要的端口(如 3000, 3001),禁止直接暴露数据库端口。
- HTTPS 配置:生产环境建议配置 Nginx 反向代理并启用 SSL 证书。
9.3 故障排查
- 容器无法启动:检查
docker logs <container_id> 查看详细错误日志。
- 模型加载失败:确认 Ollama 服务是否正常运行,且网络可达。
- 向量检索慢:检查服务器磁盘 IO,建议使用 SSD 存储向量索引文件。
10. 总结
本文完整演示了从 Docker 环境搭建到本地大模型知识库落地的全流程。通过 FastGPT + OneAPI + Ollama 的组合,开发者可以低成本地构建具备私有化部署能力的大模型应用。后续可根据业务需求,进一步探索高级编排功能、微调模型或扩展更多垂直领域的模型支持。
对于希望转型至大模型领域的技术人员,掌握上述部署流程是迈向 AI 工程化的重要一步。建议在实际项目中结合 LangChain 等框架深化应用开发能力,提升解决复杂业务问题的水平。