BG5 commited on
Commit
b5213a1
·
1 Parent(s): 1921089

Upload 4 files

Browse files
docker/Dockerfile ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim-bullseye
2
+
3
+ LABEL maintainer="foo@bar.com"
4
+ ARG TZ='Asia/Shanghai'
5
+
6
+ ARG CHATGPT_ON_WECHAT_VER
7
+
8
+ RUN echo /etc/apt/sources.list
9
+ # RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
10
+ ENV BUILD_PREFIX=/app
11
+
12
+ ADD . ${BUILD_PREFIX}
13
+
14
+ RUN apt-get update \
15
+ &&apt-get install -y --no-install-recommends bash ffmpeg espeak libavcodec-extra\
16
+ && cd ${BUILD_PREFIX} \
17
+ && cp config-template.json config.json \
18
+ && /usr/local/bin/python -m pip install --no-cache --upgrade pip \
19
+ && pip install --no-cache -r requirements.txt \
20
+ && pip install --no-cache -r requirements-optional.txt \
21
+ && pip install azure-cognitiveservices-speech
22
+
23
+ WORKDIR ${BUILD_PREFIX}
24
+
25
+ ADD docker/entrypoint.sh /entrypoint.sh
26
+
27
+ RUN chmod +x /entrypoint.sh \
28
+ && mkdir -p /home/noroot \
29
+ && groupadd -r noroot \
30
+ && useradd -r -g noroot -s /bin/bash -d /home/noroot noroot \
31
+ && chown -R noroot:noroot /home/noroot ${BUILD_PREFIX} /usr/local/lib
32
+
33
+ USER noroot
34
+
35
+ ENTRYPOINT ["/entrypoint.sh"]
docker/build.sh ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ unset KUBECONFIG
4
+
5
+ cd .. && docker build -f docker/Dockerfile.latest \
6
+ -t zhayujie/chatgpt-on-wechat .
7
+
8
+ docker tag zhayujie/chatgpt-on-wechat zhayujie/chatgpt-on-wechat:$(date +%y%m%d)
docker/docker-compose.yml ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '2.0'
2
+ services:
3
+ chatgpt-on-wechat:
4
+ image: zhayujie/chatgpt-on-wechat
5
+ container_name: chatgpt-on-wechat
6
+ security_opt:
7
+ - seccomp:unconfined
8
+ environment:
9
+ OPEN_AI_API_KEY: 'fk-Z34sxodzWW_c6kziSaKIMtQOSzbIObAiNKHVVAQlElg'
10
+ MODEL: 'gpt-3.5-turbo'
11
+ PROXY: ''
12
+ SINGLE_CHAT_PREFIX: '["bot", "@bot"]'
13
+ SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
14
+ GROUP_CHAT_PREFIX: '["@bot"]'
15
+ GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
16
+ IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
17
+ CONVERSATION_MAX_TOKENS: 1000
18
+ SPEECH_RECOGNITION: 'False'
19
+ CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
20
+ EXPIRES_IN_SECONDS: 3600
21
+ USE_GLOBAL_PLUGIN_CONFIG: 'True'
22
+ USE_LINKAI: 'False'
23
+ LINKAI_API_KEY: ''
24
+ LINKAI_APP_CODE: ''
docker/entrypoint.sh ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # build prefix
5
+ CHATGPT_ON_WECHAT_PREFIX=${CHATGPT_ON_WECHAT_PREFIX:-""}
6
+ # path to config.json
7
+ CHATGPT_ON_WECHAT_CONFIG_PATH=${CHATGPT_ON_WECHAT_CONFIG_PATH:-""}
8
+ # execution command line
9
+ CHATGPT_ON_WECHAT_EXEC=${CHATGPT_ON_WECHAT_EXEC:-""}
10
+
11
+ # use environment variables to pass parameters
12
+ # if you have not defined environment variables, set them below
13
+ # export OPEN_AI_API_KEY=${OPEN_AI_API_KEY:-'YOUR API KEY'}
14
+ # export OPEN_AI_PROXY=${OPEN_AI_PROXY:-""}
15
+ # export SINGLE_CHAT_PREFIX=${SINGLE_CHAT_PREFIX:-'["bot", "@bot"]'}
16
+ # export SINGLE_CHAT_REPLY_PREFIX=${SINGLE_CHAT_REPLY_PREFIX:-'"[bot] "'}
17
+ # export GROUP_CHAT_PREFIX=${GROUP_CHAT_PREFIX:-'["@bot"]'}
18
+ # export GROUP_NAME_WHITE_LIST=${GROUP_NAME_WHITE_LIST:-'["ChatGPT测试群", "ChatGPT测试群2"]'}
19
+ # export IMAGE_CREATE_PREFIX=${IMAGE_CREATE_PREFIX:-'["画", "看", "找"]'}
20
+ # export CONVERSATION_MAX_TOKENS=${CONVERSATION_MAX_TOKENS:-"1000"}
21
+ # export SPEECH_RECOGNITION=${SPEECH_RECOGNITION:-"False"}
22
+ # export CHARACTER_DESC=${CHARACTER_DESC:-"你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。"}
23
+ # export EXPIRES_IN_SECONDS=${EXPIRES_IN_SECONDS:-"3600"}
24
+
25
+ # CHATGPT_ON_WECHAT_PREFIX is empty, use /app
26
+ if [ "$CHATGPT_ON_WECHAT_PREFIX" == "" ] ; then
27
+ CHATGPT_ON_WECHAT_PREFIX=/app
28
+ fi
29
+
30
+ # CHATGPT_ON_WECHAT_CONFIG_PATH is empty, use '/app/config.json'
31
+ if [ "$CHATGPT_ON_WECHAT_CONFIG_PATH" == "" ] ; then
32
+ CHATGPT_ON_WECHAT_CONFIG_PATH=$CHATGPT_ON_WECHAT_PREFIX/config.json
33
+ fi
34
+
35
+ # CHATGPT_ON_WECHAT_EXEC is empty, use ‘python app.py’
36
+ if [ "$CHATGPT_ON_WECHAT_EXEC" == "" ] ; then
37
+ CHATGPT_ON_WECHAT_EXEC="python app.py"
38
+ fi
39
+
40
+ # modify content in config.json
41
+ # if [ "$OPEN_AI_API_KEY" == "YOUR API KEY" ] || [ "$OPEN_AI_API_KEY" == "" ]; then
42
+ # echo -e "\033[31m[Warning] You need to set OPEN_AI_API_KEY before running!\033[0m"
43
+ # fi
44
+
45
+
46
+ # go to prefix dir
47
+ cd $CHATGPT_ON_WECHAT_PREFIX
48
+ # excute
49
+ $CHATGPT_ON_WECHAT_EXEC
50
+
51
+