基于FastGPT、讯飞星火搭建知识库问答机器人

1,088 阅读3分钟

环境

Ubuntu、docker-compose、mysql

安装 mysql

# 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

项目地址

github.com/songquanpen…

安装命令

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

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 安装)

项目地址

doc.fastai.site/docs/develo…

安装命令

doc.fastai.site/docs/develo…

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 文本转向量模型

项目地址

huggingface.co/moka-ai/m3e…

安装命令

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

"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. 不建议本地安装大语言模型,太大了,还有就是需要好一点的显卡和科学的网络