ubuntu部署fastgpt+oneApi
共 7767字,需浏览 16分钟
·
2024-04-10 16:07
服务器:ubuntu20.04.6
基本环境:nodeJs 18 ,go 1.21.4,mysql 8.0.35
node管理器:nvm(用于管理node版本)
oneAPI参考文档
1、下载最新版one Api
2、ubuntu 安装数据库(my sql 8.0.35)
在mysql中新建oneapi数据库
3、ubuntu安装go 1.21.4环境
4、配置
设置go环境变量“SQL_DSN”为
"<mysql用户名>:<密码>@tcp(localhost:3306)/oneapi",用于onapi连接本地数据库
5、运行
在终端命令行下切换到“<你的oneapi项目>/web/default”路径下
5.1 构建前端
npm install
npm run build
5.2 构建后端(go包安装需要翻墙、以及修改代理)
切换到 “<你的oneapi项目>” 路径下
go mod download
go build -ldflags "-s -w" -o one-api
chmod u+x <你的onapi项目目录> 增加可执行权限
5.3 启动项目(默认启动端口号3001,修改完要修改fastGPT的oneapi的配置)
./<你的onapi项目目录> --port 3001 --log-dir ./logs
参考文档
1 、下载最新版本
git clone https://github.com/labring/FastGPT
2、安装数据库
-
mongoDB 6.0.12
-
postgresql 16 ,以及 安装pgvector 向量扩展
3、配置
前提:在终端命令行下切换到“<你本地的fastGPT项目路径>/projects/app”下
1、复制.env.template文件,在同级目录下生成一个.env.local 文件,修改.env.local 里内容才是有效的变量。变量说明见 .env.template
2、复制 data/config.json 文件,生成一个 data/config.local.json 配置文件,具体配置参数说明,可参考 config以下配置说明(适用于4.6.6-alpha版本以下,我们部署的是4.0.0):
注:配置模型时需要将ChatModels中的配置所有种类的模型
{
"SystemParams": {
"vectorMaxProcess": 15, // 向量生成最大进程,结合数据库性能和 key 来设置
"qaMaxProcess": 15, // QA 生成最大进程,结合数据库性能和 key 来设置
"pgHNSWEfSearch": 100 // pg vector 索引参数,越大精度高但速度慢
},
"ChatModels": [ // 对话模型
{
"model": "gpt-3.5-turbo-1106",
"name": "GPT35-1106",
"price": 0, // 除以 100000 后等于1个token的价格
"maxContext": 16000, // 最大上下文长度
"maxResponse": 4000, // 最大回复长度
"quoteMaxToken": 2000, // 最大引用内容长度
"maxTemperature": 1.2, // 最大温度值
"censor": false, // 是否开启敏感词过滤(商业版)
"vision": false, // 支持图片输入
"defaultSystemChatPrompt": ""
},
],
"QAModels": [ // QA 生成模型
{
"model": "gpt-3.5-turbo-16k",
"name": "GPT35-16k",
"maxContext": 16000,
"maxResponse": 16000,
"price": 0
}
],
"CQModels": [ // 问题分类模型
{
"model": "gpt-3.5-turbo-1106",
"name": "GPT35-1106",
"maxContext": 16000,
"maxResponse": 4000,
"price": 0,
"toolChoice": true, // 是否支持openai的 toolChoice, 不支持的模型需要设置为 false,会走提示词生成
"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
}
],
"ReRankModels": [], // 重排模型,暂时填空数组
"AudioSpeechModels": [
{
"model": "tts-1",
"name": "OpenAI TTS1",
"price": 0,
"baseUrl": "",
"key": "",
"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
}
}
4、修改配置 . e nv.local 文件(本地环境变量)
主要修改数据库连接的变量
4.1 fastGPT配置
# mongo 数据库连接参数,连不上就去掉?authSource=admin,mongo用于存储我们的账号以及材料信息
MONGODB_URI=mongodb://127.0.0.1:27017/?authSource=admin
# PG 数据库连接参数,(用于存储向量信息)
PG_URL=postgresql://username:password@host:port/postgres
4.2 oneApi配置(通过oneApi中转我们对大模型的请求)
oneApi基本地址,v1必须加上
OPENAI_BASE_URL=http://<你的oneApi地址>/v1
CHAT_API_KEY=<oneApi生成的令牌>
5、启动
在终端命令行下切换到“<你本地的fastGPT项目路径>”下
5.1给脚本代码执行权限
chmod -R +x ./scripts/
5.2代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
pnpm i
5.3切换到应用目录
cd projects/app
5.4开发模式运行
pnpm dev