DB-GPT 基于阿里云 GPU 实例的本地化部署指南
DB-GPT 是一款基于 FastChat 的开源应用,支持 SQL 生成及数据库问答。详述了在阿里云上创建 GPU 实例、配置环境、下载 Vicuna-13B 模型并启动服务的完整流程。涵盖实例选购、Docker 依赖安装、Conda 环境配置、服务启动及安全组开放步骤,并提供常见报错处理建议,旨在帮助用户快速实现私有化部署。

DB-GPT 是一款基于 FastChat 的开源应用,支持 SQL 生成及数据库问答。详述了在阿里云上创建 GPU 实例、配置环境、下载 Vicuna-13B 模型并启动服务的完整流程。涵盖实例选购、Docker 依赖安装、Conda 环境配置、服务启动及安全组开放步骤,并提供常见报错处理建议,旨在帮助用户快速实现私有化部署。

DB-GPT 是一个实验性的开源应用,它基于 FastChat,并使用 vicuna-13b 作为基础模型。模型与数据全部本地化部署,绝对保障数据的隐私安全。同时此 GPT 项目可以直接本地部署连接到私有数据库,进行私有数据处理,目前已支持 SQL 生成、SQL 诊断、数据库知识问答、数据处理等一系列的工作。
DB-GPT 从发布第一个可运行版本以来,引起了广泛关注。由于 DB-GPT 使用 Vicuna-13B 的模型作为 Base Model,在消费级 GPU 上即可完成部署,但配置过程较为复杂。具体部署的硬件说明如下:
| GPU 型号 | 显存大小 | 性能 |
|---|---|---|
| RTX4090 | 24G | 可以流畅的进行对话推理,无卡顿 |
| RTX3090 | 24G | 可以流畅进行对话推理,有轻微卡顿感,优于 V100 |
| V100 | 16G | 可以进行对话推理,有明显卡顿 |
本文旨在提供一套完整的阿里云部署教程,帮助用户快速搭建测试环境。请注意,因项目主要处于实验性质,不建议直接用于生产环境。

登录实例后,首先确认 GPU 驱动已正确安装。随后安装必要的系统依赖包:
yum -y install git
yum install git-lfs
yum install g++
yum install docker
安装完成后,验证 Docker 是否正常运行:
docker --version
部署流程主要分为三步:模型准备、依赖服务启动、DB-GPT 服务启动。
我们需要下载两个基础模型:vicuna-13b 以及 sentence-transformers。由于 HuggingFace 访问可能受限,建议使用国内镜像源或代理。
git clone https://github.com/csunny/DB-GPT.git
cd DB-GPT
# 克隆模型仓库
git clone https://huggingface.co/Tribbiani/vicuna-13b
# 下载 sentence-transformer 模型
wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/config.json
模型下载完成后,将模型文件放置到代码路径下:
DB-GPT/models/
注意:确保目录结构符合 DB-GPT 的预期路径,否则可能导致加载失败。
项目需要连接数据库,这里以 MySQL 为例。利用已安装的 Docker 启动 MySQL 容器:
docker run --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=aa12345678 -dit mysql:latest
向量数据库默认使用 Chroma 内存数据库,无需额外安装。如需连接其他向量库,请参考官方文档进行配置。
Python 环境要求大于 3.9,推荐使用 3.10。我们使用 Miniconda3 进行管理。
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
sh Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
source /root/.bashrc
conda create -n dbgpt_env python=3.10
conda activate dbgpt_env
激活环境后,安装 pip 依赖:
pip install -r requirements.txt
运行过程中可能会遇到路径识别问题,可以通过添加 .pth 文件指定环境路径:
echo "/root/workspace/DB-GPT" > /root/miniconda3/env/dbgpt_env/lib/python3.10/site-packages/dbgpt.pth
运行命令启动后端服务:
python pilot/server/vicuna_server.py
服务启动成功后,终端会显示监听地址和端口信息。
运行命令启动前端 Web 服务:
python pilot/server/webserver.py
如果报错提示 MySQL 容器未创建成功,请检查容器状态:
docker ps
确保密码与代码配置一致。若不一致,可重新创建容器或修改配置文件。
服务启动后,默认无法通过公网访问。需要在阿里云控制台配置安全组规则,开放相应端口。

完成配置后,即可通过浏览器访问服务器公网 IP 及端口号。
显存不足 (OOM): 如果遇到 Out Of Memory 错误,尝试减小 batch size 或使用量化版本模型。确保选择的 GPU 显存满足模型需求。
模型加载慢: 首次加载模型可能需要较长时间下载权重。建议提前下载好模型文件并放置在本地磁盘,避免每次启动都从网络拉取。
端口冲突:
如果启动报错端口被占用,可使用 netstat -tunlp 查看占用进程,并修改配置文件中的端口号。
Docker 网络问题: 确保 Docker 容器与宿主机网络互通,特别是当数据库和 DB-GPT 服务分离部署时。
通过服务器公网 IP,可以在浏览器打开服务页面。基本功能包括原生回答和基于知识库的问答。

本教程介绍了如何在阿里云上申请 GPU 实例并部署 DB-GPT 服务。通过本地化部署,可以有效保障数据隐私,同时利用云服务器的弹性算力降低硬件门槛。建议在测试结束后及时释放实例以节省成本,并定期更新模型版本以获得更好的效果。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online