DB-GPT使用

一、源码安装

安装

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

1. Hardware Requirements

DB-GPT使用_第1张图片
如果你的显存不够,DB-GPT支持8-bit和4-bit量化版本
DB-GPT使用_第2张图片

2. Install

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

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

conda create -n dbgpt_env python=3.10
conda activate dbgpt_env
pip install -e .

在使用知识库之前

python -m spacy download zh_core_web_sm

如果你已经安装好了环境需要创建models, 然后到huggingface官网下载模型
DB-GPT使用_第3张图片

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

配置.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

On windows platform:

.\scripts\examples\load_examples.bat

1.Run db-gpt server

python pilot/server/dbgpt_server.py

打开浏览器访问http://localhost:5000
DB-GPT使用_第4张图片
如果你想了解web-ui, 请访问https://github./csunny/DB-GPT/tree/new-page-framework/datacenter

python pilot/server/dbgpt_server.py --light

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

同时你可以通过在.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"

你也可以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

可以指定命令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

打开浏览器访问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, 你也可以替换成你自己的模型.

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

docker logs dbgpt -f

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

打开浏览器访问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, 你也可以替换成你自己的模型.

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

docker logs db-gpt-allinone -f

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
-e LLM_MODEL=proxyllm, 通过设置模型为第三方模型服务API, 可以是openai, 也可以是fastchat interface…

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

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

3、AutoDL部署

创建实例

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

终端构建过程

1.安装环境依赖

设置加速

source /etc/network_turbo
conda activate dbgpt_env

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

3.启动数据库

service mysql start

如果遇到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

4.启动DBGPT服务

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


访问服务
DB-GPT使用_第7张图片DB-GPT使用_第8张图片
使用其他模型
chatgpt
1.申请openai API_KEY
DB-GPT使用_第9张图片
2.修改/root/DB-GPT/.env配置文件
DB-GPT使用_第10张图片
chatglm-6b2
1.下载chatglm-6b2模型(确保你的数据盘足够,chatglm-6b 24G)

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

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

DB-GPT使用_第11张图片
vicunna-13b
1.下载vicuna-13b模型(确保你的数据盘足够,vicunna-13b有50G)

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

2.修改/root/DB-GPT/.env配置文件
DB-GPT使用_第12张图片

你可能感兴趣的:(数据库,gpt)