一、基础
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')