人工智能-WSL-Ubuntu20.04下Docker方式部署DB-GPT
0 环境及说明
环境项 | 说明 |
---|---|
测试机型号 | 联想拯救者Y9000P |
Windows版本 | Windows 11 专业版 23H2 |
Linux版本 | Ubuntu20.04.6 LTS(基于WSL) |
Docker版本 | 28.0.2 |
当前 hub.docker.com 镜像仓库中的 dbgpt 镜像有一些问题,在使用 docker run 时指定的
- -e DEEPSEEK_MODEL_VERSION
- -e DEEPSEEK_MODEL_VERSION
- -e DEEPSEEK_API_KEY
等参数是无效的,默认容器启动使用的配置文件为dbgpt-proxy-siliconflow.toml,可以通过以下关联命令指定启动容器时使用那个配置文件:
dbgpt start webserver --config /app/configs/dbgpt-proxy-deepseek.toml
由于个人电脑GPU算力有限,因此本文是以代理模型方式进行部署。下面介绍一下部署DB-GPT的关键步骤。
1 安装相关依赖
# git大文件下载支持
sudo apt-get install git-lfs
2 docker下载dbgpt镜像
因为需要从 hub.docker.com 镜像仓库中下载镜像,目前需要配置科学上网才能下载。也可以配置docker镜像站下载,比如 毫秒镜像
docker pull eosphorosai/dbgpt:latest
下载后如下图:
可以看到dbgpt的镜像文件还是很大的。
3 下载向量模型
mkdir -p /opt/dbgpt/data/models
cd /opt/dbgpt/data/models
#dbgpt-proxy-deepseek.toml中的默认EMBEDDING_MODEL
git clone https://www.modelscope.cn/BAAI/bge-large-zh-v1.5.git
# 可以改为以下向量模型,需要修改 dbgpt-proxy-deepseek.toml 中向量模型的配置
git clone https://www.modelscope.cn/Jerry0/text2vec-large-chinese.git
# 可以改为以下向量模型,需要修改 dbgpt-proxy-deepseek.toml 中向量模型的配置
git clone https://www.modelscope.cn/AI-ModelScope/m3e-large.git
我下载了bge-large-zh-v1.5和text2vec-large-chinese向量模型,只下载1个就可以,要与后面toml配置文件中向量模型的配置对应。向量模型如下:
## 4 下载配置文件
toml配置文件可以从github或者gitee的DB-GPT项目处获得:
mkdir -p /opt/dbgpt/configs
# 把下载的toml配置文件放到/opt/dbgpt/configs目录下
把下载的toml配置文件放到/opt/dbgpt/configs目录下
如下图:
## 5 修改配置文件
由于docker运行dbgpt容器时通过以下命令指定采用的配置文件:
- dbgpt start webserver --config /app/configs/dbgpt-proxy-deepseek.toml
因此我们要对dbgpt-proxy-deepseek.toml配置文件进行修改。如果指定的是dbgpt-proxy-openai.toml,那就修改dbgpt-proxy-openai.toml。
dbgpt-proxy-deepseek.toml的原始内容如下:
[system]
# Load language from environment variable(It is set by the hook)
language = "${env:DBGPT_LANG:-zh}"
api_keys = []
encrypt_key = "your_secret_key"
# Server Configurations
[service.web]
host = "0.0.0.0"
port = 5670
[service.web.database]
type = "sqlite"
path = "pilot/meta_data/dbgpt.db"
[service.model.worker]
host = "127.0.0.1"
[rag.storage]
[rag.storage.vector]
type = "chroma"
persist_path = "pilot/data"
# Model Configurations
[models]
[[models.llms]]
name = "deepseek-reasoner"
# name = "deepseek-chat"
provider = "proxy/deepseek"
api_key = "your_deepseek_api_key"
[[models.embeddings]]
name = "BAAI/bge-large-zh-v1.5"
provider = "hf"
# If not provided, the model will be downloaded from the Hugging Face model hub
# uncomment the following line to specify the model path in the local file system
# path = "the-model-path-in-the-local-file-system"
path = "models/bge-large-zh-v1.5"
我们主要修改[models]配置节下的[[models.llms]]和[[models.embeddings]]。
- [[models.llms]](大语言模型) 修改说明:
- name = “deepseek-reasoner” 表示推理模型,即DeepSeek-R1。
- name = “deepseek-chat” 表示指令模型,即DeepSeek-V3。
- api_key = “your_deepseek_api_key”,这是必须要改的,要改为自己在DeepSeek官网申请的api_key。
- [[models.embeddings]](向量模型)修改说明:
- name = “BAAI/bge-large-zh-v1.5” 表示向量模型的名称。
- provider = “hf” 表示模型提供者为huggingface。
- path = “models/bge-large-zh-v1.5” 表示向量模型文件的路径。
比如把向量模型改为text2vec-large-chinese为例,配置文件修改如下:
[[models.embeddings]]
name = "Jerry0/text2vec-large-chinese"
provider = "hf"
# If not provided, the model will be downloaded from the Hugging Face model hub
# uncomment the following line to specify the model path in the local file system
# path = "the-model-path-in-the-local-file-system"
path = "models/text2vec-large-chinese"
6 运行dbgpt容器并指定配置文件
docker run -d \
--restart unless-stopped \
--name dbgpt \
-p 5670:5670 \
-v /opt/dbgpt/configs:/app/configs \
-v /opt/dbgpt/data/models:/app/models \
-e LOCAL_DB_TYPE=sqlite \
-e LOCAL_DB_PATH=data/default_sqlite.db \
-e LANGUAGE=zh \
eosphorosai/dbgpt:latest \
dbgpt start webserver --config /app/configs/dbgpt-proxy-deepseek.toml
参数说明:
- -p 5670:5670 为端口映射,冒号前面为宿主机的端口,冒号后面为docker容器的端口。
- -v /opt/dbgpt/configs:/app/configs 为配置文件目录映射。
- -v /opt/dbgpt/data/models:/app/models 为向量模型目录映射。
- -e LOCAL_DB_TYPE=sqlite 指定环境变量 LOCAL_DB_TYPE 的值,这里表示本地数据库类型为sqlite。
- -e LOCAL_DB_PATH=data/default_sqlite.db 指定本地数据库的路径。
- -e LANGUAGE=zh 指定语言为中文。
- dbgpt start webserver --config 后面跟具体的toml配置文件路径,设置关联的命令,表示容器启动后会这行这条命令。
可以通过以下命令查看运行日志:
docker logs dbgpt
可以通过以下命令查看容器运行状态
docker ps
7 访问dbgpt
容器启动如果没有报错,可以在Windows宿主机浏览器地址栏输入: http://localhost:5679 进行访问,如下图:
点击 Chat Excel 应用,在对话区域就能看到你采用的大语言模型,如下图:
也可以直接点击左侧菜单的[在线对话],进行直接对话,如下图: