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.1GBeosphorosai/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配置
:::
