一、前言

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 安装步骤

  1. 创建工作目录
cd /opt
mkdir oneapi
cd oneapi
  1. 编写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
  1. 创建专用Docker网络
docker network create fastgpt
  1. 启动OneApi服务
docker compose up -d

3.2 配置Azure OpenAI渠道

  1. 访问OneApi管理界面:http://localhost:3001,默认账号密码为root/123456

  2. 点击"渠道管理"→"添加渠道",选择类型为"Azure OpenAI"

  3. 关键配置项说明:

    • 名称:需与Azure上的部署名称完全一致
    • API密钥:填写Azure OpenAI的密钥
    • 接口地址:填写Azure OpenAI的endpoint
    • 模型版本:选择对应部署的模型版本(如gpt-35-turbo-0301)
  4. 测试渠道连接:添加完成后点击"测试"按钮,显示测试成功即配置生效

3.3 创建访问令牌

  1. 进入"令牌管理"→"创建令牌"
  2. 填写令牌名称(如fastgpt-test),设置额度(测试阶段可设为无限额度)
  3. 保存后复制生成的令牌值,后续部署FastGPT时需用到

四、部署FastGPT

4.1 安装步骤

  1. 创建工作目录
cd /opt
mkdir fastgpt
cd fastgpt
  1. 下载配置文件
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
  1. 编辑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而非容器名,因同网络访问可能存在兼容性问题

  1. 配置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状态即成功
  1. 启动FastGPT服务
docker compose up -d

五、配置讯飞星火3.5模型

5.1 准备工作

  1. 访问讯飞开放平台,注册账号并领取星火认知大模型v3.5免费试用额度
  2. 创建应用,获取APPID、APISecret、APIKey三个关键参数

5.2 配置步骤

  1. 在OneApi中添加讯飞星火渠道:

    • 渠道类型选择"讯飞星火认知"
    • 名称填写"spark3.5"
    • 版本选择"v3.5"
    • 填写获取到的APPID、APISecret、APIKey
  2. 修改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": ""
  },
  // 保留原有模型配置...
]
  1. 重启FastGPT服务使配置生效
docker compose restart fastgpt

六、功能测试

  1. 访问FastGPT界面:http://localhost:3002,默认密码123456
  2. 进入"应用配置",在模型选择中切换至"spark3.5"
  3. 创建测试对话,验证模型响应是否正常

七、常见问题解决

  1. 404错误:检查OPENAI_BASE_URL是否包含多余的v1路径,根据实际接口路径调整
  2. 连接超时:确认WSL防火墙设置,确保3001、3002端口已开放
  3. 模型无响应:查看OneApi日志(docker logs oneapi)排查接口调用问题
  4. 数据库连接失败:检查MongoDB和PostgreSQL的账号密码是否与配置一致

八、总结

通过本文的步骤,我们成功部署了FastGPT和OneApi,并实现了与Azure OpenAI及讯飞星火3.5模型的对接。这种架构的优势在于:

  • 统一接口管理,简化多模型集成复杂度
  • 本地部署保障数据隐私性
  • 灵活切换不同模型以适应多样化需求

后续可根据实际需求扩展更多模型,或通过FastGPT的知识库功能构建专属问答系统。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐