当前位置:   article > 正文

DB-GPT介绍及代码实践

db-gpt

一、源码安装

安装

请按照以下步骤安装DB-GPT

1. Hardware Requirements

在这里插入图片描述
如果你的显存不够,DB-GPT支持8-bit和4-bit量化版本
在这里插入图片描述

2. Install

git clone https://github.com/eosphoros-ai/DB-GPT.git
  • 1

目前使用Sqlite作为默认数据库,因此DB-GPT快速部署不需要部署相关数据库服务。如果你想使用其他数据库,需要先部署相关数据库服务。目前使用Miniconda进行python环境和包依赖管理安装 Miniconda

conda create -n dbgpt_env python=3.10
conda activate dbgpt_env
pip install -e .
  • 1
  • 2
  • 3

在使用知识库之前

python -m spacy download zh_core_web_sm
  • 1

如果你已经安装好了环境需要创建models, 然后到huggingface官网下载模型
在这里插入图片描述

cd DB-GPT
mkdir models and cd models
#### llm model
git clone https://huggingface.co/lmsys/vicuna-13b-v1.5
or
git clone https://huggingface.co/THUDM/chatglm2-6b

#### embedding model
git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese
or
git clone https://huggingface.co/moka-ai/m3e-large
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

配置.env文件,它需要从。env.template中复制和创建。

如果想使用openai大模型服务, 可以参考LLM Use FAQ

可以在.env文件中配置基本参数,例如将LLM_MODEL设置为要使用的模型。

可以在.env文件中配置基本参数,例如将LLM_MODEL设置为要使用的模型。(Vicuna-v1.5, 目前Vicuna-v1.5模型(基于llama2)已经开源了,推荐使用这个模型通过设置LLM_MODEL=vicuna-13b-v1.5

3. Run

(Optional) load examples into SQLlite

bash ./scripts/examples/load_examples.sh
  • 1

On windows platform:

.\scripts\examples\load_examples.bat
  • 1

1.Run db-gpt server

python pilot/server/dbgpt_server.py
  • 1

打开浏览器访问http://localhost:5000
在这里插入图片描述
如果你想了解web-ui, 请访问https://github./csunny/DB-GPT/tree/new-page-framework/datacenter

python pilot/server/dbgpt_server.py --light
  • 1

Multiple GPUs

DB-GPT默认加载可利用的gpu,你也可以通过修改 在.env文件 CUDA_VISIBLE_DEVICES=0,1来指定gpu IDs

你也可以指定gpu ID启动

# Specify 1 gpu
CUDA_VISIBLE_DEVICES=0 python3 pilot/server/dbgpt_server.py

# Specify 4 gpus
CUDA_VISIBLE_DEVICES=3,4,5,6 python3 pilot/server/dbgpt_server.py
  • 1
  • 2
  • 3
  • 4
  • 5

同时你可以通过在.env文件设置MAX_GPU_MEMORY=xxGib修改每个GPU的最大使用内存

Not Enough Memory

DB-GPT 支持 8-bit quantization 和 4-bit quantization.

你可以通过在.env文件设置QUANTIZE_8bit=True or QUANTIZE_4bit=True

Llama-2-70b with 8-bit quantization 可以运行在80GB VRAM机器, 4-bit quantization可以运行在 48 GB VRAM

二、docker安装

1、安装docker镜像

docker pull eosphorosai/dbgpt:latest
bash docker/build_all_images.sh
docker images|grep "eosphorosai/dbgpt"
  • 1
  • 2
  • 3

你也可以docker/build_all_images.sh构建的时候指定参数

bash docker/build_all_images.sh \
--base-image nvidia/cuda:11.8.0-runtime-ubuntu22.04 \
--pip-index-url https://pypi.tuna.tsinghua.edu.cn/simple \
--language zh
  • 1
  • 2
  • 3
  • 4

可以指定命令bash docker/build_all_images.sh --help查看如何使用

2、运行容器

Run with local model and SQLite database

docker run --gpus all -d \
    -p 5000:5000 \
    -e LOCAL_DB_TYPE=sqlite \
    -e LOCAL_DB_PATH=data/default_sqlite.db \
    -e LLM_MODEL=vicuna-13b-v1.5 \
    -e LANGUAGE=zh \
    -v /data/models:/app/models \
    --name dbgpt \
    eosphorosai/dbgpt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

打开浏览器访问http://localhost:5000

-e LLM_MODEL=vicuna-13b-v1.5, means we use vicuna-13b-v1.5 as llm model, see /pilot/configs/model_config.LLM_MODEL_CONFIG

-v /data/models:/app/models, 指定挂载的模型文件 directory /data/models to the docker container directory /app/models, 你也可以替换成你自己的模型.
  • 1
  • 2
  • 3

你也可以通过命令查看日志

docker logs dbgpt -f
  • 1

Run with local model and MySQL database

docker run --gpus all -d -p 3306:3306 \
    -p 5000:5000 \
    -e LOCAL_DB_HOST=127.0.0.1 \
    -e LOCAL_DB_PASSWORD=aa123456 \
    -e MYSQL_ROOT_PASSWORD=aa123456 \
    -e LLM_MODEL=vicuna-13b-v1.5 \
    -e LANGUAGE=zh \
    -v /data/models:/app/models \
    --name db-gpt-allinone \
    db-gpt-allinone
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

打开浏览器访问http://localhost:5000

-e LLM_MODEL=vicuna-13b-v1.5, means we use vicuna-13b-v1.5 as llm model, see /pilot/configs/model_config.LLM_MODEL_CONFIG

-v /data/models:/app/models, 指定挂载的模型文件 directory /data/models to the docker container directory /app/models, 你也可以替换成你自己的模型.
  • 1
  • 2
  • 3

你也可以通过命令查看日志

docker logs db-gpt-allinone -f
  • 1

Run with openai interface

PROXY_API_KEY="You api key"
PROXY_SERVER_URL="https://api.openai.com/v1/chat/completions"
docker run --gpus all -d -p 3306:3306 \
    -p 5000:5000 \
    -e LOCAL_DB_HOST=127.0.0.1 \
    -e LOCAL_DB_PASSWORD=aa123456 \
    -e MYSQL_ROOT_PASSWORD=aa123456 \
    -e LLM_MODEL=proxyllm \
    -e PROXY_API_KEY=$PROXY_API_KEY \
    -e PROXY_SERVER_URL=$PROXY_SERVER_URL \
    -e LANGUAGE=zh \
    -v /data/models/text2vec-large-chinese:/app/models/text2vec-large-chinese \
    --name db-gpt-allinone \
    db-gpt-allinone
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
-e LLM_MODEL=proxyllm, 通过设置模型为第三方模型服务API, 可以是openai, 也可以是fastchat interface…

-v /data/models/text2vec-large-chinese:/app/models/text2vec-large-chinese, 设置知识库embedding模型为text2vec. container.”
  • 1
  • 2
  • 3

打开浏览器访问http://localhost:5000

3、AutoDL部署

创建实例

1、选择右侧镜像AutoDL创建实例
2、选择主机环境,GPU环境,这里CPU类型选择Xeon®Platnum8336C,GPU根据情况,建议4090
在这里插入图片描述
3、开机
在这里插入图片描述
4、打开jupyterLab
在这里插入图片描述5、选择终端
在这里插入图片描述

终端构建过程

1.安装环境依赖

设置加速

source /etc/network_turbo
conda activate dbgpt_env
  • 1
  • 2

2.模型准备(这里已经准备好了chatglm2-6b-int4)

3.启动数据库

service mysql start
  • 1

如果遇到mysql实例启动问题,需要卸载重装下
在这里插入图片描述

#卸载
sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common

sudo apt update
sudo apt install mysql-server

service mysql start
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.启动DBGPT服务

python /root/DB-GPT/pilot/server/dbgpt_server.py --port 6006
  • 1

在这里插入图片描述
访问服务
在这里插入图片描述在这里插入图片描述
使用其他模型
chatgpt
1.申请openai API_KEY
在这里插入图片描述
2.修改/root/DB-GPT/.env配置文件
在这里插入图片描述
chatglm-6b2
1.下载chatglm-6b2模型(确保你的数据盘足够,chatglm-6b 24G)

cd /root/autodl-tmp/models
git lfs clone https://huggingface.co/THUDM/chatglm2-6b
  • 1
  • 2

2.修改/root/DB-GPT/.env配置文件

在这里插入图片描述
vicunna-13b
1.下载vicuna-13b模型(确保你的数据盘足够,vicunna-13b有50G)

cd /root/autodl-tmp/models
git lfs clone https://huggingface.co/Tribbiani/vicuna-13b
  • 1
  • 2

2.修改/root/DB-GPT/.env配置文件
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/137104?site
推荐阅读
相关标签
  

闽ICP备14008679号