forked from zhayujie/chatgpt-on-wechat
-
Notifications
You must be signed in to change notification settings - Fork 48
Docker部署
limccn edited this page Feb 16, 2023
·
3 revisions
启动容器运行,执行以下命令:
docker-compose up
或
# 本地构建容器Image
chmod +x build.alpine.sh # 构建脚本添加执行权限
./build.alpine.sh # 构建容器,基于alpine
# 启动容器
docker run -it --name sample-chatgpt-on-wechat --env OPEN_AI_API_KEY=sk-YourOpenApiKey zhayujie/chatgpt-on-wechat:1.0.0-alpine
- 直接在Shell中使用
--env
参数覆盖环境变量,实现修改运行参数,参考命令:
docker run -it --name sample-chatgpt-on-wechat --env OPEN_AI_API_KEY=sk-YourOpenApiKey --env CONVERSATION_MAX_TOKENS=1000 zhayujie/chatgpt-on-wechat:1.0.0-alpine
- 或者,使用
--env-file=
配合env文件覆盖环境变量,实现修改运行参数,参考命令:
docker run -it --name sample-chatgpt-on-wechat --env-file=.env zhayujie/chatgpt-on-wechat:1.0.0-alpine
- 或者,使用
-v
替换容器中的config.json
,实现修改运行参数,参考命令:
docker run -it --name sample-chatgpt-on-wechat -v YOUR_PATH_TO_CONFIG:/app/config.json zhayujie/chatgpt-on-wechat:1.0.0-alpine
- 可用环境变量,可以参考示例
.env
文件
OPEN_AI_API_KEY=YOUR API KEY
SINGLE_CHAT_PREFIX=["BOT", "@BOT"]
SINGLE_CHAT_REPLY_PREFIX="[BOT] "
GROUP_CHAT_PREFIX=["@BOT"]
GROUP_NAME_WHITE_LIST=["CHATGPT测试群", "CHATGPT测试群2"]
IMAGE_CREATE_PREFIX=["画", "看", "找"]
CONVERSATION_MAX_TOKENS=1000
CHARACTER_DESC=你是CHATGPT, 一个由OPENAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。
- 构建Image,执行以下命令:
chmod +x build.alpine.sh # 构建脚本添加执行权限
./build.alpine.sh # 构建容器,基于alpine
- 构建Image完成后启动容器,执行以下命令:
docker run -it --name sample-chatgpt-on-wechat zhayujie/chatgpt-on-wechat:1.0.0-alpine
- DockerFile源文件
Dockerfile.debian
, Dockerfile.alpine
- 构建Image并启动, 执行以下命令:
docker-compose up --build
- 示例
docker-compose.yaml
文件内容
version: '2.0' services: chatgpt-on-wechat: build: context: ./ dockerfile: Dockerfile.alpine image: zhayujie/chatgpt-on-wechat:1.0.0-alpine container_name: sample-chatgpt-on-wechat environment: OPEN_AI_API_KEY: 'YOUR API KEY' SINGLE_CHAT_PREFIX: '["BOT", "@BOT"]' SINGLE_CHAT_REPLY_PREFIX: '"[BOT] "' GROUP_CHAT_PREFIX: '["@BOT"]' GROUP_NAME_WHITE_LIST: '["CHATGPT测试群", "CHATGPT测试群2"]' IMAGE_CREATE_PREFIX: '["画", "看", "找"]' CONVERSATION_MAX_TOKENS: 1000 CHARACTER_DESC: '你是CHATGPT, 一个由OPENAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
- 使用构建参数
--build-arg
设置CHATGPT_ON_WECHAT_VER
构建参数,可以指定chatgpt-on-wechat的Tag版本。
docker build -f Dockerfile.alpine \
--build-arg CHATGPT_ON_WECHAT_VER=1.0.0 \
-t zhayujie/chatgpt-on-wechat:1.0.0-alpine .
- 修改 Dockerfile.alpine 或Dockerfile.debian 文件里第9行中 API_KEY 的配置,可以在构建时直接将API_KEY构建进Image。
BUILD_OPEN_AI_API_KEY='YOUR OPEN AI KEY HERE'
我们在 docker/sample-chatgpt-on-wechat
下提供了 Makefile 脚本,方便进入容器:
cd sample-chatgpt-on-wechat # 进入sample-chatgpt-on-wechat目录
make run_i # 使用交互式方式启动容器
命令格式为:
make [echo|stop|rm|run_d|run_i]
# make echo #回显容器名称
# make stop #停止容器
# make rm #删除容器
# make run_d #使用守护式方式启动容器
# make run_i #使用交互式方式启动容器