学会部署FastGPT,赚钱赚到手软
本文详细介绍了在Windows WSL(Ubuntu 22)中部署FastGPT知识库问答系统的完整流程,包括OneApi统一模型接口的安装配置、对接Azure OpenAI和讯飞星火3.5模型的方法。通过Docker Compose编排服务,实现了FastGPT与OneApi、MongoDB、PostgreSQL的集成部署,并解决了常见连接问题。该方案支持多模型统一管理,保障数据隐私,适用于构建
一、前言
FastGPT是一款基于大语言模型(LLM)的知识库问答系统,具备开箱即用的数据处理和模型调用能力。其核心依赖OneApi开源项目实现对各类大语言模型的统一接入,解决了不同模型接口规范不兼容的问题。本文将详细介绍在Windows系统的WSL子系统(Ubuntu 22)中部署OneApi和FastGPT的完整流程,并演示如何配置Azure OpenAI和讯飞星火3.5这两款在线大语言模型。
二、环境准备
- 操作系统:Windows 10/11 专业版(需开启WSL功能)
- WSL子系统:Ubuntu 22.04 LTS
- 依赖工具:Docker、Docker Compose(需提前在WSL中安装)
- 网络环境:需保证能正常访问GitHub及模型服务接口
三、部署OneApi
OneApi作为大模型接口的统一代理层,是FastGPT对接各类模型的关键组件。
3.1 安装步骤
- 创建工作目录
cd /opt
mkdir oneapi
cd oneapi
- 编写docker-compose.yml配置文件
version: '3.8'
services:
oneapi:
container_name: oneapi
image: justsong/one-api:latest
restart: unless-stopped
ports:
- 3001:3000
networks:
- fastgpt
volumes:
- ./data:/data
environment:
- TZ=Asia/Shanghai
networks:
fastgpt:
external: true
- 创建专用Docker网络
docker network create fastgpt
- 启动OneApi服务
docker compose up -d
3.2 配置Azure OpenAI渠道
-
访问OneApi管理界面:http://localhost:3001,默认账号密码为root/123456
-
点击"渠道管理"→"添加渠道",选择类型为"Azure OpenAI"
-
关键配置项说明:
- 名称:需与Azure上的部署名称完全一致
- API密钥:填写Azure OpenAI的密钥
- 接口地址:填写Azure OpenAI的endpoint
- 模型版本:选择对应部署的模型版本(如gpt-35-turbo-0301)
-
测试渠道连接:添加完成后点击"测试"按钮,显示测试成功即配置生效
3.3 创建访问令牌
- 进入"令牌管理"→"创建令牌"
- 填写令牌名称(如fastgpt-test),设置额度(测试阶段可设为无限额度)
- 保存后复制生成的令牌值,后续部署FastGPT时需用到
四、部署FastGPT
4.1 安装步骤
- 创建工作目录
cd /opt
mkdir fastgpt
cd fastgpt
- 下载配置文件
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
- 编辑docker-compose.yml文件
version: '3.8'
services:
pg:
image: ankane/pgvector:v0.5.0
container_name: pg
restart: always
ports:
- 5432:5432
networks:
- fastgpt
environment:
- POSTGRES_USER=fastgpt
- POSTGRES_PASSWORD=123456
- POSTGRES_DB=fastgpt
volumes:
- ./pg/data:/var/lib/postgresql/data
mongo:
image: mongo:5.0.18
container_name: mongo
ports:
- 27017:27017
networks:
- fastgpt
command: mongod --keyFile /data/mongodb.key --replSet rs0
environment:
- MONGO_INITDB_ROOT_USERNAME=fastgpt
- MONGO_INITDB_ROOT_PASSWORD=123456
volumes:
- ./mongo/data:/data/db
- ./mongodb.key:/data/mongodb.key
fastgpt:
container_name: fastgpt
image: ghcr.io/labring/fastgpt:latest
ports:
- 3002:3000
networks:
- fastgpt
depends_on:
- mongo
- pg
restart: always
environment:
- DEFAULT_ROOT_PSW=123456
- OPENAI_BASE_URL=http://[本机IP]:3001/v1 # 替换为实际IP
- CHAT_API_KEY=sk-XXXXX # 填写OneApi中创建的令牌
- DB_MAX_LINK=5
- TOKEN_KEY=any
- ROOT_KEY=root_key
- FILE_TOKEN_KEY=filetoken
- MONGODB_URI=mongodb://fastgpt:123456@mongo:27017/fastgpt?authSource=admin
- PG_URL=postgresql://fastgpt:123456@pg:5432/fastgpt
volumes:
- ./config.json:/app/data/config.json
networks:
fastgpt:
external: true
注意:OPENAI_BASE_URL需使用本机IP而非容器名,因同网络访问可能存在兼容性问题
- 配置MongoDB副本集
# 进入mongo容器
docker exec -it mongo bash
# 连接数据库
mongo -u fastgpt -p 123456 --authenticationDatabase admin
# 初始化副本集
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
# 验证配置
rs.status() # 显示rs0状态即成功
- 启动FastGPT服务
docker compose up -d
五、配置讯飞星火3.5模型
5.1 准备工作
- 访问讯飞开放平台,注册账号并领取星火认知大模型v3.5免费试用额度
- 创建应用,获取APPID、APISecret、APIKey三个关键参数
5.2 配置步骤
-
在OneApi中添加讯飞星火渠道:
- 渠道类型选择"讯飞星火认知"
- 名称填写"spark3.5"
- 版本选择"v3.5"
- 填写获取到的APPID、APISecret、APIKey
-
修改FastGPT的config.json文件,添加星火模型配置:
"llmModels": [
{
"model": "SparkDesk",
"name": "spark3.5",
"maxContext": 16000,
"maxResponse": 4000,
"quoteMaxToken": 13000,
"maxTemperature": 1.2,
"charsPointsPrice": 0,
"censor": false,
"vision": false,
"datasetProcess": false,
"toolChoice": true,
"functionCall": false,
"defaultSystemChatPrompt": ""
},
// 保留原有模型配置...
]
- 重启FastGPT服务使配置生效
docker compose restart fastgpt
六、功能测试
- 访问FastGPT界面:http://localhost:3002,默认密码123456
- 进入"应用配置",在模型选择中切换至"spark3.5"
- 创建测试对话,验证模型响应是否正常
七、常见问题解决
- 404错误:检查OPENAI_BASE_URL是否包含多余的v1路径,根据实际接口路径调整
- 连接超时:确认WSL防火墙设置,确保3001、3002端口已开放
- 模型无响应:查看OneApi日志(
docker logs oneapi
)排查接口调用问题 - 数据库连接失败:检查MongoDB和PostgreSQL的账号密码是否与配置一致
八、总结
通过本文的步骤,我们成功部署了FastGPT和OneApi,并实现了与Azure OpenAI及讯飞星火3.5模型的对接。这种架构的优势在于:
- 统一接口管理,简化多模型集成复杂度
- 本地部署保障数据隐私性
- 灵活切换不同模型以适应多样化需求
后续可根据实际需求扩展更多模型,或通过FastGPT的知识库功能构建专属问答系统。
更多推荐
所有评论(0)