基于FastGPT + oneAPI、自主模型搭建知识库问答机器人

基于FastGPT + oneAPI、自主模型搭建知识库问答机器人

兰涛 lands

环境

Ubuntu、docker-compose、mysql

安装 mysql

mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1.安装MySQL服务器软件包
sudo apt install mysql-server # 对于基于Debian/Ubuntu的系统
sudo yum install mysql-server # 对于基于CentOS/RHEL的系统

# 2.启动MySQL服务
sudo systemctl start mysql # 启动MySQL服务
# 3.配置MySQL安全性
sudo mysql_secure_installation
# 4.验证MySQL服务是否运行
sudo systemctl status mysql # 检查MySQL服务状态
# 5.登录MySQL
mysql -u root -p
# 6.设置mysql密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'passwordChar';

一定设置可访问性,否则 oneAPI 找不到

安装 oneApi

项目地址

https://github.com/songquanpeng/one-api

安装命令

将下面的命令替换为 mySql 的 IP 地址

mysql
1
docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(mySq1IP:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

注:如果安装失败,请查看 docker 的日志,是否是 mysql 远程连接报错

添加令牌

令牌会用于 FastGPT 的连接
Alt text

安装 FastGPT(docker-compose 安装)

项目地址

https://doc.fastai.site/docs/development/docker/

安装命令

https://doc.fastai.site/docs/development/docker/

FastGPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
mkdir fastgpt
cd fastgpt
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

docker-compose pull
docker-compose up -d

# ## 初始化 Mongo 副本集
# 查看 mongo 容器是否正常运行
docker ps
# 进入容器
docker exec -it mongo bash

# 连接数据库(这里要填Mongo的用户名和密码)
mongo -u myusername -p mypassword --authenticationDatabase admin

# 初始化副本集。如果需要外网访问,mongo:27017 可以改成 ip:27017。但是需要同时修改 FastGPT 连接的参数(MONGODB_URI=mongodb://myname:mypassword@mongo:27017/fastgpt?authSource=admin => MONGODB_URI=mongodb://myname:mypassword@ip:27017/fastgpt?authSource=admin)
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
# 检查状态。如果提示 rs0 状态,则代表运行成功
rs.status()

修改 docker-compose.yml 中的 OPENAI_BASE_URL(API 接口的地址,需要加/v1)、PORT 和 CHAT_API_KEY(API 接口的凭证)。
Alt text

安装 M3E 文本转向量模型

项目地址

https://huggingface.co/moka-ai/m3e-large

安装命令

m3e
1
docker run -d -p 6008:6008 --name=m3e-large-api stawky/m3e-large-api:latest

注:默认密钥对是 sk-aaabbbcccdddeeefffggghhhiiijjjkkk,添加渠道的时候会用

添加模型渠道

进入 oneAPI ip:3000,添加模型的渠道。添加完成后,修改 FastGPT 的 config.json 中的向量模型(vectorModels)和大语言模型(llmModels)
Alt text

向量模型

Alt text

大语言模型

先去讯飞星火 申请一个账号,完成个人认证后送 200 万 token(企业 500 万)
Alt text
Alt text

配置 FastGPT config.json

config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"llmModels": [
{
"model": "SparkDesk-v3.5",
"name": "讯飞SparkDesk-v3.5",
"maxContext": 16000,
"maxResponse": 4000,
"quoteMaxToken": 13000,
"maxTemperature": 1.2,
"charsPointsPrice": 0,
"censor": false,
"vision": true,
"datasetProcess": true,
"usedInClassify": true,
"usedInExtractFields": true,
"usedInToolCall": true,
"usedInQueryExtension": true,
"toolChoice": true,
"functionCall": true,
"customCQPrompt": "",
"customExtractPrompt": "",
"defaultSystemChatPrompt": "",
"defaultConfig": {}
},

],
"vectorModels": [
{
"model": "m3e",
"name": "m3e",
"price": 0.1,
"defaultToken": 500,
"maxToken": 1800
}
],

注:配置介绍

完成

  1. 进入 ip:8000 root 登录,就能使用了
  2. 不建议本地安装大语言模型,太大了,还有就是需要好一点的显卡和科学的网络
  • 标题: 基于FastGPT + oneAPI、自主模型搭建知识库问答机器人
  • 作者: 兰涛
  • 创建于 : 2024-03-13 10:02:20
  • 更新于 : 2024-06-13 09:33:57
  • 链接: https://lands.work/971fab8d/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论