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

目前使用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官网下载模型
在这里插入图片描述

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
在这里插入图片描述
如果你想了解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
在这里插入图片描述
3、开机
在这里插入图片描述
4、打开jupyterLab
在这里插入图片描述5、选择终端
在这里插入图片描述

终端构建过程

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-commonsudo apt update
sudo apt install mysql-serverservice mysql start

4.启动DBGPT服务

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

在这里插入图片描述
访问服务
在这里插入图片描述在这里插入图片描述
使用其他模型
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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/96165.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows环境搭建ELK

目录 资源下载(8.9.1) ES安装、注册、使用 Kibana安装、注册、使用 Logstash安装、注册、使用 Filebeat安装、使用(如果只有一个数据流,则不需要使用filebeat,直接上logstash即可) 资源下载&#xff0…

java对象的组成部分

在 HotSpot 虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding) 对象头主要由两部分组成: 第一部分存…

如何中mac上安装多版本python并配置PATH

摘要 mac 默认安装的python是 python3,但是如果我们需要其他python版本时,该怎么办呢? 例如:需要python2 版本,如果使用homebrew安装会提示没有python2。同时使用python --version 会发现commond not found。 所以本…

【数据结构】树和二叉树的概念及结构(一)

目录 一,树的概念及结构 1,树的定义 2,树结点的分类及关系 3,树的表示 二,二叉树的概念及结构 1,二叉树的定义 2,特殊的二叉树 3,二叉树的性质 4,二叉树的存储结构 1&…

腾讯云、阿里云、华为云便宜云服务器活动整理汇总

云服务器的选择是一个很重要的事情,避免产生不必要的麻烦,建议选择互联网大厂提供的云计算服务,腾讯云、阿里云、华为云就是一个很不错的选择,云服务器稳定性、安全性以及售后各方面都更受用户认可,下面小编给大家整理…

Python小知识 - 一个简单的Python爬虫实例

一个简单的Python爬虫实例 这是一个简单的Python爬虫实例,我们将使用urllib库来下载一个网页并解析它。 首先,我们需要安装urllib库: pip install urllib接下来,我们来看看如何使用urllib库来下载一个网页: import url…

C++:日期类

学习目标: 加深对四个默认构造函数的理解: 1.构造函数 2.析构函数 3.拷贝构造 4.运算符重载 实现功能 1.比较日期的大小 2.日期-天数 3.前/后置,-- 这里基本会使用运算符重载 定义一个日期类 class Date { public://1.全缺省参数的构造函数Da…

C# NetTopologySuite+ProjNet 任意图形类型坐标转换

添加引用:NetTopologySuite、ProjNet、ProjNet.SRID Program.cs文件: using ProjNet.CoordinateSystems; using ProjNet.CoordinateSystems.Transformations; using ProjNet.SRID; using System; using System.Collections.Generic; using System.Linq;…

程序员自由创业周记#2:前期准备

感恩 上次公开了创业的决定后,得到了很多亲朋好友和陌生朋友的鼓励或支持,以不同的形式,感动之情溢于言表。这些都会记在心里,大恩不言谢~ 创业方向 笔者是一名资质平平的iOS开发程序猿,创业项目也就是开发App卖&am…

WPF工控机textbox获得焦点自动打开软键盘

1.通过nuget安装 osklib.wpf 2.在textbox getFoucs中敲入如下代码即可实现获得焦点弹出软键盘 private void txtPLC_IP_GotFocus(object sender, RoutedEventArgs e){try{// Osklib.OnScreenKeyboard.Close();Osklib.OnScreenKeyboard.Show();}catch (Exception ex){MessageB…

Open3D(C++) 点云格网分块

目录 一、算法概述二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法概述 点云格网分块是点云二维格网化的一个具体应用案例,与Open3D (C++) 使用点云创建数字高程模型DEM类似,对每个格…

Linux中的基础IO

目录 1、关于C语言中的文件操作符 1.1 C语言中写文件 1.2 C语言读文件 1.3 往显示器上输出信息 1.4 stdin & stdout & stderr 1.5 打开文件的方式 2、系统文件IO 2.1 写操作文件 2.2 读操作文件、 2.3 open open函数的返回值 2.4 文件描述符 0 & 1 &a…