From 45b89218de5cfcdb4ae2cb1f2ae541566712dc68 Mon Sep 17 00:00:00 2001 From: lanvent Date: Thu, 27 Apr 2023 20:43:12 +0800 Subject: [PATCH] fix: support set_openai_api_key for all channels --- channel/chat_channel.py | 2 ++ channel/wechatmp/active_reply.py | 4 ---- channel/wechatmp/passive_reply.py | 4 ---- docker/entrypoint.sh | 6 +++--- nixpacks.toml | 2 +- 5 files changed, 6 insertions(+), 12 deletions(-) diff --git a/channel/chat_channel.py b/channel/chat_channel.py index d57cdb5..a9b90f2 100644 --- a/channel/chat_channel.py +++ b/channel/chat_channel.py @@ -48,6 +48,8 @@ class ChatChannel(Channel): if first_in: # context首次传入时,receiver是None,根据类型设置receiver config = conf() cmsg = context["msg"] + user_data = conf().get_user_data(cmsg.from_user_id) + context["openai_api_key"] = user_data.get("openai_api_key") if context.get("isgroup", False): group_name = cmsg.other_user_nickname group_id = cmsg.other_user_id diff --git a/channel/wechatmp/active_reply.py b/channel/wechatmp/active_reply.py index 10649cd..f236981 100644 --- a/channel/wechatmp/active_reply.py +++ b/channel/wechatmp/active_reply.py @@ -55,10 +55,6 @@ class Query: else: context = channel._compose_context(wechatmp_msg.ctype, content, isgroup=False, msg=wechatmp_msg) if context: - # set private openai_api_key - # if from_user is not changed in itchat, this can be placed at chat_channel - user_data = conf().get_user_data(from_user) - context["openai_api_key"] = user_data.get("openai_api_key") # None or user openai_api_key channel.produce(context) # The reply will be sent by channel.send() in another thread return "success" diff --git a/channel/wechatmp/passive_reply.py b/channel/wechatmp/passive_reply.py index d926b2a..72e73ad 100644 --- a/channel/wechatmp/passive_reply.py +++ b/channel/wechatmp/passive_reply.py @@ -62,10 +62,6 @@ class Query: logger.debug("[wechatmp] context: {} {} {}".format(context, wechatmp_msg, supported)) if supported and context: - # set private openai_api_key - # if from_user is not changed in itchat, this can be placed at chat_channel - user_data = conf().get_user_data(from_user) - context["openai_api_key"] = user_data.get("openai_api_key") channel.running.add(from_user) channel.produce(context) else: diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 7720e90..f7f4cfa 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -38,9 +38,9 @@ if [ "$CHATGPT_ON_WECHAT_EXEC" == "" ] ; then fi # modify content in config.json -if [ "$OPEN_AI_API_KEY" == "YOUR API KEY" ] || [ "$OPEN_AI_API_KEY" == "" ]; then - echo -e "\033[31m[Warning] You need to set OPEN_AI_API_KEY before running!\033[0m" -fi +# if [ "$OPEN_AI_API_KEY" == "YOUR API KEY" ] || [ "$OPEN_AI_API_KEY" == "" ]; then +# echo -e "\033[31m[Warning] You need to set OPEN_AI_API_KEY before running!\033[0m" +# fi # go to prefix dir diff --git a/nixpacks.toml b/nixpacks.toml index be6ed6f..d64e955 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -2,6 +2,6 @@ providers = ['python'] [phases.setup] nixPkgs = ['python310'] -cmds = ['apt-get update','apt-get install -y --no-install-recommends ffmpeg espeak','python -m venv /opt/venv && . /opt/venv/bin/activate && pip install -r requirements-optional.txt'] +cmds = ['apt-get update','apt-get install -y --no-install-recommends ffmpeg espeak libavcodec-extra','python -m venv /opt/venv && . /opt/venv/bin/activate && pip install -r requirements-optional.txt'] [start] cmd = "python ./app.py" \ No newline at end of file