基础软件
| 基础软件 | 功能说明 |
| mongo:5.0.18 | fastGPT使用的数据库存储页面数据和知识库数据 |
| pgvector:v0.5.0 | 使用pg的向量数据库模块 |
| one-api | 做模型的管理和api的提供 |
| chatglm3-6b | 本地大模型 |
| m3e-large-api | Embedding 模型提供分词并转成向量数据 |
| fastGPT | 知识库问答系统 |
环境配置:
一、电脑内存至少32G, GPU 8G以上、cpu指令集要支持AVX (二代或以后的i3、i5、i7都支持)
二、无GPU。内存最好64G、cpu指令集要支持AVX

数据库部署
pgvector:v0.5.0+mongo:5.0.18 这里使用dockercompose方式进行部署。这里部署在另外一台机器上。后面也会给出官方的方式
# 非 host 版本, 不使用本机代理 # (不懂 Docker 的,只需要关心 OPENAI_BASE_URL 和 CHAT_API_KEY 即可!) version: '3.3' services: pg: # image: ankane/pgvector:v0.5.0 # git image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0 # 阿里云 container_name: pg # restart: always ports: # 生产环境建议不要暴露 - 5432:5432 environment: # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 - POSTGRES_USER=username - POSTGRES_PASSWORD=password - POSTGRES_DB=postgres volumes: - /app/fastgpt/pg:/var/lib/postgresql/data mongo: # image: mongo:5.0.18 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 container_name: mongo # restart: always ports: # 生产环境建议不要暴露 - 27017:27017 environment: # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 - MONGO_INITDB_ROOT_USERNAME=username - MONGO_INITDB_ROOT_PASSWORD=password volumes: - /app/fastgpt/mongo:/data/db
启动命令
拉取镜像:docker-compose pull
在后台运行容器:docker-compose up -d
启动完成后等待fastgpt链接即可
官方的方式参考
# 非 host 版本, 不使用本机代理 # (不懂 Docker 的,只需要关心 OPENAI_BASE_URL 和 CHAT_API_KEY 即可!) version: '3.3' services: pg: image: ankane/pgvector:v0.5.0 # git # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.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 # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 container_name: mongo restart: always ports: # 生产环境建议不要暴露 - 27017:27017 networks: - fastgpt environment: # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 - MONGO_INITDB_ROOT_USERNAME=username - MONGO_INITDB_ROOT_PASSWORD=password volumes: - ./mongo/data:/data/db fastgpt: container_name: fastgpt image: ghcr.io/labring/fastgpt:latest # git # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云 ports: - 3000:3000 networks: - fastgpt depends_on: - mongo - pg restart: always environment: # root 密码,用户名为: root - DEFAULT_ROOT_PSW=1234 # 中转地址,如果是用官方号,不需要管。务必加 /v1 - OPENAI_BASE_URL=https://api.openai.com/v1 - CHAT_API_KEY=sk-xxxx - DB_MAX_LINK=5 # database max link - TOKEN_KEY=any - ROOT_KEY=root_key - FILE_TOKEN_KEY=filetoken # mongo 配置,不需要改. 如果连不上,可能需要去掉 ?authSource=admin - MONGODB_URI=mongodb://username:password@mongo:27017/fastgpt?authSource=admin # pg配置. 不需要改 - PG_URL=postgresql://username:password@pg:5432/postgres volumes: - ./config.json:/app/data/config.json networks: fastgpt: # host 版本, 不推荐。 # version: '3.3' # services: # pg: # image: ankane/pgvector:v0.5.0 # dockerhub # # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0 # 阿里云 # container_name: pg # restart: always # ports: # 生产环境建议不要暴露 # - 5432:5432 # environment: # # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # - POSTGRES_USER=username # - POSTGRES_PASSWORD=password # - POSTGRES_DB=postgres # volumes: # - ./pg/data:/var/lib/postgresql/data # mongo: # image: mongo:5.0.18 # # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 # container_name: mongo # restart: always # ports: # 生产环境建议不要暴露 # - 27017:27017 # environment: # # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # - MONGO_INITDB_ROOT_USERNAME=username # - MONGO_INITDB_ROOT_PASSWORD=password # volumes: # - ./mongo/data:/data/db # - ./mongo/logs:/var/log/mongodb # fastgpt: # # image: ghcr.io/labring/fastgpt:latest # github # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云 # network_mode: host # restart: always # container_name: fastgpt # environment: # # root 密码,用户名为: root # - DEFAULT_ROOT_PSW=1234 # # 中转地址,如果是用官方号,不需要管 # - OPENAI_BASE_URL=https://api.openai.com/v1 # - CHAT_API_KEY=sk-xxxx # - DB_MAX_LINK=5 # database max link # # token加密凭证(随便填,作为登录凭证) # - TOKEN_KEY=any # # root key, 最高权限,可以内部接口互相调用 # - ROOT_KEY=root_key # # mongo 配置,不需要改 # - MONGODB_URI=mongodb://username:password@0.0.0.0:27017/fastgpt?authSource=admin # # pg配置. 不需要改 # - PG_URL=postgresql://username:password@0.0.0.0:5432/postgres
chatglm3-6b部署
使用chatglm3-6b的一键启动包

m3e-large-api 部署
用docker部署m3e模型,默认用CPU运行:
docker run -d -p 6008:6008 --name=m3e-large-api
registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
使用GPU运行: docker run -d -p 6008:6008 --gpus all --name=m3e-large-api registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
原镜像:
docker run -d -p 6200:6008 --name=m3e-large-api stawky/m3e-large-api:latest
启动完成后测试m3e是否启动成功
测试m3e的api:
curl --location --request POST '
https://localhost:6008/v1/embeddings' \ --header 'Authorization: Bearer sk-aaabbbcccdddeeefffggghhhiiijjjkkk' \ --header 'Content-Type: application/json' \ --data-raw '{ "model": "m3e", "input": ["laf是什么"] }'

启动oneAPI并配置
oneAPI的启动方式有好多种,可以
使用docker部署
源码部署
exe启动
我这里使用exe的方式启动

配置模型渠道
chatglm

m3e

配置令牌

启动fastGPT
配置文件修改
fastgpt 我使用源码的方式启动。这里需要修改几点配置文件
以下文件均在 projects/app 路径下。
环境变量
复制.env.template文件,在同级目录下生成一个.env.local 文件,修改.env.local 里内容才是有效的变量。变量说明见 .env.template
config 配置文件
复制 data/config.json 文件,生成一个 data/config.local.json 配置文件
修改config文件ChatModels:
{
"model": "chatglm3",
"name": "chatglm3",
"maxContext": 4000,
"maxResponse": 4000,
"quoteMaxToken": 2000,
"maxTemperature": 1,
"vision": false,
"defaultSystemChatPrompt": ""
},
ChatGLM3-6B支持的上下文长度为8k,你可以将maxContext和maxResponse改为8000
可以在defaultSystemChatPrompt里设置你的系统默认提示词
修改config文件QAModels:
{
"model": "chatglm3",
"name": "chatglm3",
"maxContext": 4000,
"maxResponse": 4000,
"price": 0
}
修改config文件VectorModels:
{
"model": "m3e",
"name": "m3e",
"price": 0.1,
"defaultToken": 500,
"maxToken": 1800
}
QAModels和VectorModels都添加好后,记得在括号的前面加个英文逗号,不然config文件无法生效具体文件参考
.env.local文件
LOG_DEPTH=3 # 默认用户密码,用户名为 root,每次重启时会自动更新。 DEFAULT_ROOT_PSW=123456 # 数据库最大连接数 DB_MAX_LINK=5 # token TOKEN_KEY=dfdasfdas # 文件阅读时的秘钥 FILE_TOKEN_KEY=filetokenkey # root key, 最高权限 ROOT_KEY=fdafasd # openai 基本地址,可用作中转。 OPENAI_BASE_URL=http://localhost:3000/v1 # oneapi 地址,可以使用 oneapi 来实现多模型接入 # ONEAPI_URL=https://xxxx.cloud.sealos.io/openai/v1 # 通用key。可以是 openai 的也可以是 oneapi 的。 # 此处逻辑:优先走 ONEAPI_URL,如果填写了 ONEAPI_URL,key 也需要是 ONEAPI 的 key CHAT_API_KEY=sk-2Vbi3QisXYDzQyE6D5EfF27f0d08407b868dF6845a7bD9C5 # mongo 数据库连接参数 MONGODB_URI=mongodb://username:password@10.10.0.10:27017/fastgpt?authSource=admin # PG 数据库连接参数 PG_URL=postgresql://username:password@10.10.0.10:5432/postgres # 首页路径 HOME_URL=/ # Loki Log Path # LOKI_LOG_URL=
config.local.json
{
"systemEnv": {
"pluginBaseUrl": "",
"vectorMaxProcess": 15,
"qaMaxProcess": 15,
"pgHNSWEfSearch": 100
},
"chatModels": [
{
"model": "gpt-3.5-turbo",
"name": "GPT35",
"price": 0,
"maxContext": 4000,
"maxResponse": 4000,
"quoteMaxToken": 2000,
"maxTemperature": 1.2,
"censor": false,
"vision": false,
"defaultSystemChatPrompt": ""
},
{
"model": "chatglm3",
"name": "chatglm3",
"maxContext": 4000,
"maxResponse": 4000,
"quoteMaxToken": 2000,
"maxTemperature": 1,
"vision": false,
"defaultSystemChatPrompt": ""
},
{
"model": "gpt-3.5-turbo-16k",
"name": "GPT35-16k",
"maxContext": 16000,
"maxResponse": 16000,
"price": 0,
"quoteMaxToken": 8000,
"maxTemperature": 1.2,
"censor": false,
"vision": false,
"defaultSystemChatPrompt": ""
},
{
"model": "gpt-4",
"name": "GPT4-8k",
"maxContext": 8000,
"maxResponse": 8000,
"price": 0,
"quoteMaxToken": 4000,
"maxTemperature": 1.2,
"censor": false,
"vision": false,
"defaultSystemChatPrompt": ""
},
{
"model": "gpt-4-vision-preview",
"name": "GPT4-Vision",
"maxContext": 128000,
"maxResponse": 4000,
"price": 0,
"quoteMaxToken": 100000,
"maxTemperature": 1.2,
"censor": false,
"vision": true,
"defaultSystemChatPrompt": ""
}
],
"qaModels": [
{
"model": "gpt-3.5-turbo-16k",
"name": "GPT35-16k",
"maxContext": 16000,
"maxResponse": 16000,
"price": 0
},
{
"model": "chatglm3",
"name": "chatglm3",
"maxContext": 4000,
"maxResponse": 4000,
"price": 0
}
],
"cqModels": [
{
"model": "gpt-3.5-turbo",
"name": "GPT35",
"maxContext": 4000,
"maxResponse": 4000,
"price": 0,
"toolChoice": true,
"functionPrompt": ""
},
{
"model": "gpt-4",
"name": "GPT4-8k",
"maxContext": 8000,
"maxResponse": 8000,
"price": 0,
"toolChoice": true,
"functionPrompt": ""
}
],
"extractModels": [
{
"model": "gpt-3.5-turbo-1106",
"name": "GPT35-1106",
"maxContext": 16000,
"maxResponse": 4000,
"price": 0,
"toolChoice": true,
"functionPrompt": ""
}
],
"qgModels": [
{
"model": "gpt-3.5-turbo-1106",
"name": "GPT35-1106",
"maxContext": 1600,
"maxResponse": 4000,
"price": 0
}
],
"vectorModels": [
{
"model": "text-embedding-ada-002",
"name": "Embedding-2",
"price": 0.2,
"defaultToken": 700,
"maxToken": 3000,
"weight": 100
},
{
"model": "m3e",
"name": "m3e",
"price": 0.1,
"defaultToken": 500,
"maxToken": 1800
}
],
"reRankModels": [],
"audioSpeechModels": [
{
"model": "tts-1",
"name": "OpenAI TTS1",
"price": 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",
"price": 0
}
}程序启动
环境要求
Node.js v18.x (LTS) 以上
pnpm 版本 8.x.x 以上
进入到projects/app 目录下
# 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖 pnpm i # 切换到应用目录 cd projects/app # 开发模式运行 pnpm dev
访问http://localhost:3001/ 进行登录 用户 root 密码是123456
创建知识库

导入文件

开始对话

收工
上篇:
fastgpt+oneapi实现大模型整合
下篇:
使用 Docker 快速上手官方版 LLaMA2 开源大模型
1 vLLM + FastAPI:一个高并发、低延迟的Qwen-7B量化服务搭建实录... 2 Vaex :十亿行每秒的 Python 大数据神器,探索与可视化的新标杆 3 大模型无非就这点东西 4 大数据安全架构设计方案 5 一天做出短剧App:我的MCP极速流 6 我用ai员工自动运营Google,登顶并收8k美金 7 controlnet-canny, controlnet-depth 场景介... 8 AI推理: 引导尺度, 采样步数, 采样偏移 9 2025年性价比最高的AI服务器拆解:768GB显存暴打训练慢的痛点 10 AIGC高阶教程:用即梦AI提示词榨干模型创作力 11 7大热门Agent框架盘点:助你轻松构建多智能体AI应用 12 AI写小说的喂饭教程我整理好了!轻轻松松写一篇100万字的小说 !!!