DB-GPT在Linux服务器上本地模型+多集群部署记录【Qwen】

一、基础

0. 环境说明

  • Ubuntu20.04+CUDA12.1

1. 源码下载

cd ~/project/
git clone https://github.com/eosphoros-ai/DB-GPT.git

2. 模型下载

服务器系统盘空间有限,选择将权重文件存放在了mnt虚拟磁盘中,通过软连接的方式进行映射。

# llm model
cd /mnt/vdb/Qwen/
git clone https://www.modelscope.cn/qwen/Qwen-14B-Chat.git
# embedding model
cd /mnt/vdb/emb/
git clone https://www.modelscope.cn/Jerry0/text2vec-large-chinese.git

# 软连接
ln -s /mnt/vdb/Qwen/Qwen-14B-Chat ~/project/DB-GPT/models/Qwen-14B-Chat/
ln -s /mnt/vdb/emb/text2vec-large-chinese ~/project/DB-GPT/models/text2vec-large-chinese/

3. 创建conda环境

conda create -n dbgpt python=3.10
conda activate dbgpt

4. 安装依赖库

apt-get install git-lfs
pip install -e ".[default]"

5. 启动Model Controller

dbgpt start controller --port 8008

默认情况下,Model Server会启动在8000端口,但防止被占用选择了8008端口

6. 启动Model Worker

  • 查看模型支持列表:dbgpt/configs/model_config.LLM_MODEL_CONFIG
  • 在GPU_2上启动Qwen-14B-Chat模型Worker
cd ~/project/DB-GPT

CUDA_VISIBLE_DEVICES=2 dbgpt start worker \
--model_name qwen-14b-chat \
--model_path ./models/Qwen-14B-Chat \
--port 8018 \
--controller_addr http://127.0.0.1:8008

注意,确保使用您自己的模型名称model_name和模型路径model_path

7. 启动Embedding模型服务

  • 查看模型支持列表:dbgpt/configs/model_config.EMBEDDING_MODEL_CONFIG
cd ~/project/DB-GPT

dbgpt start worker --model_name text2vec \
--model_path ./models/text2vec-large-chinese/ \
--worker_type text2vec \
--port 8028 \
--controller_addr http://127.0.0.1:8008

8. 查看并检查已部署模型

dbgpt model list

在这里插入图片描述

9. 使用模型服务

如上部署好的模型服务,可以通过dbgpt_server来使用。首先修改.env配置文件来更改连接模型地址。

cp .env.template  .env

在这里插入图片描述

10. 启动Webserver

  • 启动Web服务
dbgpt start webserver --light

–light 表示不启动嵌入式模型服务。
在这里插入图片描述
在浏览器输入http://{服务器IP地址}:5000/即可。

二、进阶

1. ChatSQL

按照连接Linux服务器上的MYSQL,并进行对话

  • 按照步骤安装MySQL+ 远程连接
  • 本机测试:mysql -h {服务器IP地址} -u {用户名} -p
    在这里插入图片描述
    显示连接成功
    (待更新)

Q&A

1. 下载autoawq等量化依赖包时总是超时

打开setup.py,分析:
在这里插入图片描述

  • 解决办法
    跳过 quantization,按照以下命令代替pip install -e ".[default]"
    pip install -e ".[framework]"
    pip install -e ".[knowledge]"
    pip install -e ".[torch]"
    pip install -e ".[cache]"
    

2. 启动WebServer时报错:cannot import name ‘URL’ from ‘sqlalchemy’

ImportError: cannot import name ‘URL’ from ‘sqlalchemy’ (/opt/miniconda3/envs/dbgpt/lib/python3.10/site-packages/sqlalchemy/init.py)

pip install flask-sqlalchemy

3. 模型路径与默认不同,如何加载?

  • 分析dbgpt/app/dbgpt_server.py文件:LLM模型的加载信息(模型名和路径)来源于命令行参数或者dbgpt/configs/model_config.py中的定义,Embedding模型的信息均来自配置文件
    在这里插入图片描述
  • dbgpt/configs/model_config.py:如果加载路径与默认配置不同,要修改配置文件,确保LLM模型和Embedding模型能被正确加载。
    在这里插入图片描述
    在这里插入图片描述

4. RuntimeError: Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.

解决方案:

  • 安装pysqlite3-binary
pip install pysqlite3-binary
  • 进入chromadb源码,覆盖原sqlite3 库
# 修改成自己的路径
vim /opt/miniconda3/envs/dbgpt/lib/python3.10/site-packages/chromadb/__init__.py
  • 在开头添加3行代码
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值