fix: support set_openai_api_key for all channels
parent
beb7bda243
commit
45b89218de
|
|
@ -48,6 +48,8 @@ class ChatChannel(Channel):
|
||||||
if first_in: # context首次传入时,receiver是None,根据类型设置receiver
|
if first_in: # context首次传入时,receiver是None,根据类型设置receiver
|
||||||
config = conf()
|
config = conf()
|
||||||
cmsg = context["msg"]
|
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):
|
if context.get("isgroup", False):
|
||||||
group_name = cmsg.other_user_nickname
|
group_name = cmsg.other_user_nickname
|
||||||
group_id = cmsg.other_user_id
|
group_id = cmsg.other_user_id
|
||||||
|
|
|
||||||
|
|
@ -55,10 +55,6 @@ class Query:
|
||||||
else:
|
else:
|
||||||
context = channel._compose_context(wechatmp_msg.ctype, content, isgroup=False, msg=wechatmp_msg)
|
context = channel._compose_context(wechatmp_msg.ctype, content, isgroup=False, msg=wechatmp_msg)
|
||||||
if context:
|
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)
|
channel.produce(context)
|
||||||
# The reply will be sent by channel.send() in another thread
|
# The reply will be sent by channel.send() in another thread
|
||||||
return "success"
|
return "success"
|
||||||
|
|
|
||||||
|
|
@ -62,10 +62,6 @@ class Query:
|
||||||
logger.debug("[wechatmp] context: {} {} {}".format(context, wechatmp_msg, supported))
|
logger.debug("[wechatmp] context: {} {} {}".format(context, wechatmp_msg, supported))
|
||||||
|
|
||||||
if supported and context:
|
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.running.add(from_user)
|
||||||
channel.produce(context)
|
channel.produce(context)
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,9 @@ if [ "$CHATGPT_ON_WECHAT_EXEC" == "" ] ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# modify content in config.json
|
# modify content in config.json
|
||||||
if [ "$OPEN_AI_API_KEY" == "YOUR API KEY" ] || [ "$OPEN_AI_API_KEY" == "" ]; then
|
# 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"
|
# echo -e "\033[31m[Warning] You need to set OPEN_AI_API_KEY before running!\033[0m"
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
|
|
||||||
# go to prefix dir
|
# go to prefix dir
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@ providers = ['python']
|
||||||
|
|
||||||
[phases.setup]
|
[phases.setup]
|
||||||
nixPkgs = ['python310']
|
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]
|
[start]
|
||||||
cmd = "python ./app.py"
|
cmd = "python ./app.py"
|
||||||
Loading…
Reference in New Issue