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


fastGPT

参考文档

1 、下载最新版本

        git clone https://github.com/labring/FastGPT

2、安装数据库

  1. mongoDB 6.0.12

  2. 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


浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报