FastGPT+ollama+qwen2:7b+oneapi+m3e
环境的搭建就不再赘述了,最关键的是m3e渠道key这个配置,我到现在也是觉得很奇怪有时候可以匹配上有时候不行。这边主要介绍fastgpt的运行,做个记录。

  1. 首先命令行启动ollama,用于后续fastgpt里面配置的模型的使用
    在这里插入图片描述

  2. 右键docker desktop,管理员运行方式
    启动后,docker会自动启动里面的fastGPT容器,这时候直接点击端口号去登录即可。3001是oneapi的端口,3000是fastGPT的端口号,点击之后使用root\1234进行登录。

  3. 后续尽量不要动到3001的令牌或者渠道,因为如果动到没有与本地的fastGPT配置信息相匹配的话就会无法启动m3e向量模型,导致知识库根本无法使用会一直报错404或者401.
    在这里插入图片描述

一般我们可以在这个路径下,在路径那输入cmd或者win+r之后再cd进来这个路径下,可以看到docker-compose这个文件就在这,这时候再命令行直接通过docker-compose stop就可以直接关闭docker上的fastGPT,通过docker-compose up -d就可以通过docker启动。如果命令行不行,那就直接用windows powershell管理员方式到这个路径下去执行。
在这里插入图片描述

  1. config
    // 已使用 json5 进行解析,会自动去掉注释,无需手动去除
    {
    “feConfigs”: {
    “lafEnv”: “https://laf.dev” // laf环境。 https://laf.run (杭州阿里云) ,或者私有化的laf环境。如果使用 Laf openapi 功能,需要最新版的 laf 。
    },
    “systemEnv”: {
    “vectorMaxProcess”: 15, // 向量处理线程数量
    “qaMaxProcess”: 15, // 问答拆分线程数量
    “tokenWorkers”: 50, // Token 计算线程保持数,会持续占用内存,不能设置太大。
    “pgHNSWEfSearch”: 100 // 向量搜索参数。越大,搜索越精确,但是速度越慢。设置为100,有99%+精度。
    },
    “llmModels”: [
    {
    “model”: “qwen2:7b”,
    “name”: “qwen2”,
    “avatar”: “/imgs/model/openai.svg”,
    “maxContext”: 125000,
    “maxResponse”: 4000,
    “quoteMaxToken”: 120000,
    “maxTemperature”: 1.2,
    “charsPointsPrice”: 0,
    “censor”: false,
    “vision”: true,
    “datasetProcess”: false,
    “usedInClassify”: true,
    “usedInExtractFields”: true,
    “usedInToolCall”: true,
    “usedInQueryExtension”: true,
    “toolChoice”: true,
    “functionCall”: false,
    “customCQPrompt”: “”,
    “customExtractPrompt”: “”,
    “defaultSystemChatPrompt”: “”,
    “defaultConfig”: {}
    }
    ],
    “vectorModels”: [
    {
    “model”: “m3e”,
    “name”: “m3e”,
    “price”: 0.2,
    “defaultToken”: 700,
    “maxToken”: 3000
    }
    ],
    “reRankModels”: [],
    “audioSpeechModels”: [
    {
    “model”: “tts-1”,
    “name”: “OpenAI TTS1”,
    “charsPointsPrice”: 0,
    “voices”: [
    { “label”: “Alloy”, “value”: “alloy”, “bufferId”: “openai-Alloy” },
    { “label”: “Echo”, “value”: “echo”, “bufferId”: “openai-Echo” },
    { “label”: “Fable”, “value”: “fable”, “bufferId”: “openai-Fable” },
    { “label”: “Onyx”, “value”: “onyx”, “bufferId”: “openai-Onyx” },
    { “label”: “Nova”, “value”: “nova”, “bufferId”: “openai-Nova” },
    { “label”: “Shimmer”, “value”: “shimmer”, “bufferId”: “openai-Shimmer” }
    ]
    }
    ],
    “whisperModel”: {
    “model”: “whisper-1”,
    “name”: “Whisper1”,
    “charsPointsPrice”: 0
    }
    }

  2. docker-compose全部内容

数据库的默认账号和密码仅首次运行时设置有效

如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~

该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。

如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包)

version: ‘3.3’
services:

db

pg:
image: pgvector/pgvector:0.7.0-pg15 # docker hub
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.7.0 # 阿里云
container_name: pg
restart: always
ports: # 生产环境建议不要暴露
- 5432:5432
networks:
- fastgpt
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
- POSTGRES_DB=postgres
volumes:
- ./pg/data:/var/lib/postgresql/data
mongo:
image: mongo:5.0.18 # dockerhub
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
# image: mongo:4.4.29 # cpu不支持AVX时候使用
container_name: mongo
restart: always
ports:
- 27017:27017
networks:
- fastgpt
command: mongod --keyFile /data/mongodb.key --replSet rs0
environment:
- MONGO_INITDB_ROOT_USERNAME=myusername
- MONGO_INITDB_ROOT_PASSWORD=mypassword
volumes:
- ./mongo/data:/data/db
entrypoint:
- bash
- -c
- |
openssl rand -base64 128 > /data/mongodb.key
chmod 400 /data/mongodb.key
chown 999:999 /data/mongodb.key
echo ‘const isInited = rs.status().ok === 1
if(!isInited){
rs.initiate({
_id: “rs0”,
members: [
{ _id: 0, host: “mongo:27017” }
]
})
}’ > /data/initReplicaSet.js
# 启动MongoDB服务
exec docker-entrypoint.sh “$$@” &

    # 等待MongoDB服务启动
    until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do
      echo "Waiting for MongoDB to start..."
      sleep 2
    done

    # 执行初始化副本集的脚本
    mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js

    # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程
    wait $$!

fastgpt

sandbox:
container_name: sandbox
image: ghcr.io/labring/fastgpt-sandbox:v4.8.11 # git
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.11 # 阿里云
networks:
- fastgpt
restart: always
fastgpt:
container_name: fastgpt
image: ghcr.io/labring/fastgpt:v4.8.11 # git
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.11 # 阿里云
ports:
- 3000:3000
networks:
- fastgpt
depends_on:
- mongo
- pg
- sandbox
restart: always
environment:
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
- DEFAULT_ROOT_PSW=1234
# AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。
- OPENAI_BASE_URL=http://192.168.149.163:3001/v1
# AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改)
- CHAT_API_KEY=sk-ewL6odHB81t9gexW017c3d3dD8Db4175B53bD0AfE304550c
# 数据库最大连接数
- DB_MAX_LINK=30
# 登录凭证密钥
- TOKEN_KEY=any
# root的密钥,常用于升级时候的初始化请求
- ROOT_KEY=root_key
# 文件阅读加密
- FILE_TOKEN_KEY=filetoken
# MongoDB 连接参数. 用户名myusername,密码mypassword。
- MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin
# pg 连接参数
- PG_URL=postgresql://username:password@pg:5432/postgres
# sandbox 地址
- SANDBOX_URL=http://sandbox:3000
# 前端地址: http://localhost:3000
- FE_DOMAIN=
# 日志等级: debug, info, warn, error
- LOG_LEVEL=info
- STORE_LOG_LEVEL=warn
volumes:
- ./config.json:/app/data/config.json

oneapi

mysql:
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mysql:8.0.36 # 阿里云
image: mysql:8.0.36
container_name: mysql
restart: always
ports:
- 3306:3306
networks:
- fastgpt
command: --default-authentication-plugin=mysql_native_password
environment:
# 默认root密码,仅首次运行有效
MYSQL_ROOT_PASSWORD: oneapimmysql
MYSQL_DATABASE: oneapi
volumes:
- ./mysql:/var/lib/mysql
oneapi:
container_name: oneapi
image: ghcr.io/songquanpeng/one-api:v0.6.7
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/one-api:v0.6.6 # 阿里云
ports:
- 3001:3000
depends_on:
- mysql
networks:
- fastgpt
restart: always
environment:
# mysql 连接参数
- SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi
# 登录凭证加密密钥
- SESSION_SECRET=oneapikey
# 内存缓存
- MEMORY_CACHE_ENABLED=true
# 启动聚合更新,减少数据交互频率
- BATCH_UPDATE_ENABLED=true
# 聚合更新时长
- BATCH_UPDATE_INTERVAL=10
# 初始化的 root 密钥(建议部署完后更改,否则容易泄露)
- INITIAL_ROOT_TOKEN=fastgpt
volumes:
- ./oneapi:/data
m3e:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
container_name: m3e
restart: always
ports:
- 6008:6008
networks:
- fastgpt
networks:
fastgpt:

Logo

尧米是由西云算力与CSDN联合运营的AI算力和模型开源社区品牌,为基于DaModel智算平台的AI应用企业和泛AI开发者提供技术交流与成果转化平台。

更多推荐