From b204d305a15029d4cacac2d8f2bea6772c812746 Mon Sep 17 00:00:00 2001 From: limccn Date: Mon, 13 Mar 2023 16:07:19 +0800 Subject: [PATCH] feat: container support speech recognition --- docker/docker-compose.yaml | 1 + docker/entrypoint.sh | 27 ++++++++++++++++----------- docker/sample-chatgpt-on-wechat/.env | 1 + 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 4b1443e..e8be4ea 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -15,5 +15,6 @@ services: GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]' IMAGE_CREATE_PREFIX: '["画", "看", "找"]' CONVERSATION_MAX_TOKENS: 1000 + SPEECH_RECOGNITION: 'false' CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。' EXPIRES_IN_SECONDS: 3600 \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 0322966..a114667 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -16,6 +16,7 @@ GROUP_CHAT_PREFIX=${GROUP_CHAT_PREFIX:-""} GROUP_NAME_WHITE_LIST=${GROUP_NAME_WHITE_LIST:-""} IMAGE_CREATE_PREFIX=${IMAGE_CREATE_PREFIX:-""} CONVERSATION_MAX_TOKENS=${CONVERSATION_MAX_TOKENS:-""} +SPEECH_RECOGNITION=${SPEECH_RECOGNITION:-""} CHARACTER_DESC=${CHARACTER_DESC:-""} EXPIRES_IN_SECONDS=${EXPIRES_IN_SECONDS:-""} @@ -36,50 +37,54 @@ fi # modify content in config.json if [ "$OPEN_AI_API_KEY" != "" ] ; then - sed -i "2c \"open_ai_api_key\": \"$OPEN_AI_API_KEY\"," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"open_ai_api_key\".*,$/\"open_ai_api_key\": \"$OPEN_AI_API_KEY\",/" $CHATGPT_ON_WECHAT_CONFIG_PATH else echo -e "\033[31m[Warning] You need to set OPEN_AI_API_KEY before running!\033[0m" fi # use http_proxy as default if [ "$HTTP_PROXY" != "" ] ; then - sed -i "3c \"proxy\": \"$HTTP_PROXY\"," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"proxy\".*,$/\"proxy\": \"$HTTP_PROXY\",/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$OPEN_AI_PROXY" != "" ] ; then - sed -i "3c \"proxy\": \"$OPEN_AI_PROXY\"," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"proxy\".*,$/\"proxy\": \"$OPEN_AI_PROXY\",/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$SINGLE_CHAT_PREFIX" != "" ] ; then - sed -i "4c \"single_chat_prefix\": $SINGLE_CHAT_PREFIX," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"single_chat_prefix\".*,$/\"single_chat_prefix\": $SINGLE_CHAT_PREFIX,/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$SINGLE_CHAT_REPLY_PREFIX" != "" ] ; then - sed -i "5c \"single_chat_reply_prefix\": $SINGLE_CHAT_REPLY_PREFIX," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"single_chat_reply_prefix\".*,$/\"single_chat_reply_prefix\": $SINGLE_CHAT_REPLY_PREFIX,/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$GROUP_CHAT_PREFIX" != "" ] ; then - sed -i "6c \"group_chat_prefix\": $GROUP_CHAT_PREFIX," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"group_chat_prefix\".*,$/\"group_chat_prefix\": $GROUP_CHAT_PREFIX,/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$GROUP_NAME_WHITE_LIST" != "" ] ; then - sed -i "7c \"group_name_white_list\": $GROUP_NAME_WHITE_LIST," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"group_name_white_list\".*,$/\"group_name_white_list\": $GROUP_NAME_WHITE_LIST,/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$IMAGE_CREATE_PREFIX" != "" ] ; then - sed -i "8c \"image_create_prefix\": $IMAGE_CREATE_PREFIX," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"image_create_prefix\".*,$/\"image_create_prefix\": $IMAGE_CREATE_PREFIX,/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$CONVERSATION_MAX_TOKENS" != "" ] ; then - sed -i "9c \"conversation_max_tokens\": $CONVERSATION_MAX_TOKENS," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"conversation_max_tokens\".*,$/\"conversation_max_tokens\": $CONVERSATION_MAX_TOKENS,/" $CHATGPT_ON_WECHAT_CONFIG_PATH +fi + +if [ "$SPEECH_RECOGNITION" != "" ] ; then + sed -i "s/\"speech_recognition\".*,$/\"speech_recognition\": $SPEECH_RECOGNITION,/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$CHARACTER_DESC" != "" ] ; then - sed -i "10c \"character_desc\": \"$CHARACTER_DESC\"," $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"character_desc\".*,$/\"character_desc\": \"$CHARACTER_DESC\",/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi if [ "$EXPIRES_IN_SECONDS" != "" ] ; then - sed -i "11c \"expires_in_seconds\": $EXPIRES_IN_SECONDS" $CHATGPT_ON_WECHAT_CONFIG_PATH + sed -i "s/\"expires_in_seconds\".*$/\"expires_in_seconds\": $EXPIRES_IN_SECONDS/" $CHATGPT_ON_WECHAT_CONFIG_PATH fi # go to prefix dir diff --git a/docker/sample-chatgpt-on-wechat/.env b/docker/sample-chatgpt-on-wechat/.env index a639e1f..9a65cec 100644 --- a/docker/sample-chatgpt-on-wechat/.env +++ b/docker/sample-chatgpt-on-wechat/.env @@ -6,6 +6,7 @@ GROUP_CHAT_PREFIX=["@bot"] GROUP_NAME_WHITE_LIST=["ChatGPT测试群", "ChatGPT测试群2"] IMAGE_CREATE_PREFIX=["画", "看", "找"] CONVERSATION_MAX_TOKENS=1000 +SPEECH_RECOGNITION=false CHARACTER_DESC=你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。 EXPIRES_IN_SECONDS=3600