Docker镜像准备
准备Docker镜像有两种方式。1. 从官方镜像拉取 2. 本地构建, 在实际使用过程中任意选择一种即可。
- 从官方镜像仓库拉取, Eosphoros AI Docker Hub
docker pull eosphorosai/dbgpt:latest
- (可选) 本地构建
bash docker/build_all_images.sh
检查Docker镜像
eosphorosai/dbgpt是基础镜像,其中包含项目依赖以及sqlite数据库, eosphorosai/dbgpt-allinone镜像是构建自eosphorosai/dbgpt,其中包含一个MySQL数据库。当然除了拉取Docker镜像之外,项目也提供了Dockerfile文件,可以直接通过DB-GPT中的脚本进行构建。下面是构建命令: :::color2 docker/build_all_images.sh
docker images | grep "eosphorosai/dbgpt"
--------------------------------------------------------------------------------------
eosphorosai/dbgpt-allinone latest 349d49726588 27 seconds ago 15.1GB
eosphorosai/dbgpt latest eb3cdc5b4ead About a minute ago 14.5GB
:::
在使用时,需要指定具体的参数,如下是一个指定参数构建的样例:
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
:::warning 可以通过命令bash docker/build_all_images.sh —help来查看具体的使用方法
:::
运行Docker容器
通过Sqlite数据库运行
打开浏览器访问 http://localhost:5000 + -e LLM_MODEL=vicuna-13b-v1.5, 意思是基座模型使用 vicuna-13b-v1.5, 更多模型使用可以查看/pilot/configs/model_config.LLM_MODEL_CONFIG 中的配置。 + -v /data/models:/app/models, 指定挂载的模型文件,目录 /data/models 挂在到容器的 /app/models, 当然可以替换到其他路径。 :::success 容器启动之后,可以通过如下命令查看日志 :::
docker run --ipc host --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
python
docker logs dbgpt -f
通过MySQL数据库运行
docker run --ipc host --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, 意思是基座模型使用 vicuna-13b-v1.5, 更多模型使用可以查看/pilot/configs/model_config.LLM_MODEL_CONFIG 中的配置。
- -v /data/models:/app/models, 指定挂载的模型文件,目录 /data/models 挂在到容器的 /app/models, 当然可以替换到其他路径。
:::success 容器启动之后,可以通过如下命令查看日志
:::
docker logs db-gpt-allinone -f
通过OpenAI代理模型运行
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
:::success 打开浏览器访问: http://localhost:5670
注⚠️: v0.5.4之前版本端口为5000, http://localhost:5000
具体端口配置查看.env
文件中WEB_SERVER_PORT=5670
配置
:::