Open sd3420625 opened 5 months ago
ps:服务器不需要代理,能直接访问官方接口
好的,我晚上排查下
补充,模型换回3.5问题依旧,另外白名单输入加''也一样,是不是wechaty接入逻辑有问题
可以看一下env文件怎么填的吗
我部署docker的时候,也碰到过类似的问题,需要重建docker才会更新env里面的数据,后面我是按作者的docker代码重新部署了下的
初步怀疑是.env文件未正确加载,建议填一下默认服务选择,这样启动服务的时候就知道是否正确加载env文件了
这是我上传的docker镜像,基于最新代码构建的 docker pull queensu/wechat-bot:latest env文件中填写一下默认服务,如果env文件正常加载则不会让你选择,会直接让你扫码,如有问题,需要排查一下引入env文件的方式是否正确,或者在构建时手动添加环境变量 默认服务 ChatGPT、Kimi、Xunfei、deepseek-free 四选一,不填则键盘交互 SERVICE_TYPE=ChatGPT
早晨更新了代码库,重新填写了env文件,包括个人、群聊白名单,apikey,删除了代理api服务器,默认选择ChatGPT;更改了openai设置,模型选择gpt-4o,调整了gpt角色信息。
正常docker打包部署后,可以正常扫码登陆,但没有任何应答,log里也没有任何登陆后的报错信息显示,包括接受到的聊天信息也没有
请问问题出在哪
附图,正常加载env文件并且正确填写SERVICE_TYPE的docker启动日志图
可以看一下env文件怎么填的吗
OPENAI_API_KEY='sk-x****Q' OPENAI_PROXY_URL=''
KIMI_API_KEY=''
XUNFEI_APP_ID='' XUNFEI_API_KEY='' XUNFEI_API_SECRET=''
DEEPSEEK_FREE_URL=https://api.deepseek.com/chat/completions, DEEPSEEK_FREE_TOKEN='' DEEPSEEK_FREE_MODEL=deepseek_chat
BOT_NAME=@Rock
ALIAS_WHITELIST=Kris,臭臭,陈旺
ROOM_WHITELIST=饮食爷们,红蛤蟆越野俱乐部
SERVICE_TYPE='ChatGPT'
我每次变更内容后都docker重建,应该不是重建刷新的问题
我每次变更内容后都docker重建,应该不是重建刷新的问题
可以看一下启动时的docker log吗
> wechat-bot@1.0.0-alpha.1 dev > node ./cli.js
🌸🌸🌸 / type: ChatGPT Start to log in wechat... ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █ ▄▄▄▄▄ █▄▀ ▀ ▄ █▀▀█▄▄█ ▄▄▄▄▄ █ █ █ █ █ █▀▄ ▀ ▄▀█ █ █ █ █ █▄▄▄█ █▄█▀ ▄█▀▄█▀▀ ██ █▄▄▄█ █ █▄▄▄▄▄▄▄█▄█ █ █▄▀ ▀▄▀▄█▄▄▄▄▄▄▄█ █ ▀▀▄▀▄█ ▄ █▄ ▄ ▀█ ▀▀ ▄▄█ █ ██▄▄ ▄ ▄ ▄ ▄▄ ▀█▀█▀█ ▄▄█▀█▄▄▀█ ██▄ ▄█▀▄ █ ▄▀ ▄▄█ ▄█ █▄▀██▄ ▀▀█ █▄ ▄ ▀█▄▄██▀ ██ █▄▄▄▄▄ ▀ █▄ ▄█ █▄▄ █▀▄▄▀▀ ▀█▄▄ █▀▄▄ █ ▄ ▀ ██ █▄█▄▄▀ ▄ ▄█▄▀██▄▄▀▀▀█▀▀▀▄▀█ ███ ██▄█▄▄█▄▄ ▀██▀▀█ ▀▀ ▄▄▄ ▀▀█ █ ▄▄▄▄▄ ██▀█▀▀▀▀███ ▄ █▄█ █▄██ █ █ █ █▀▄ █▀▀ ▄▄█▀ ▄ ▀▄▄ █ █ █▄▄▄█ █ ▄█ ▀▄█▀█ ▄ ██▄▀▀▄▀▄█ █▄▄▄▄▄▄▄█▄█▄▄███▄███▄▄▄██▄██▄██
onScan: https://api.qrserver.com/v1/create-qr-code/?data=https%3A%2F%2Flogin.weixin.qq.com%2Fl%2F4djXO39Wgw%3D%3D Waiting 2 00:15:18 INFO onScan: 3(undefined) Scanned Contact<Rock> has logged in Current time:Tue Jun 25 2024 00:15:31 GMT+0000 (Coordinated Universal Time) Automatic robot chat mode has been activated
我每次变更内容后都docker重建,应该不是重建刷新的问题
可以看一下启动时的docker log吗
楼上发出来了
然后就一直这状态,白名单用户发发信息也没有任何反馈和响应,也没有报错
方便本地代码运行一下 yarn test吗 检测一下openai是否能正常调用
方便本地代码运行一下 yarn test吗 检测一下openai是否能正常调用
要怎么操作?进docker容器测试连接?还是不用docker,而用本地部署?我23日前的代码同样是docker部署可以成功连openai,应该不是key的事
我用curl命令在主机上测试了官方api连通性,结果如下:
ubuntu@instance-20230710-1434:~/wxbot/wechat-bot$ curl -I https://api.openai.com/v1/chat/completions HTTP/2 404 date: Tue, 25 Jun 2024 00:35:09 GMT content-type: application/json; charset=utf-8 content-length: 172 vary: Origin x-request-id: 09df7c2fcfb4384447255bd604da3af8 strict-transport-security: max-age=31536000; includeSubDomains cf-cache-status: DYNAMIC set-cookie: __cf_bm=kLTA.6Moodp60LfBtSNEwVHm1SpaKBX0vSzgUoycFFY-1719275709-1.0.1.1-gHpFyDlwVBQ8NM46Jj8oxlpiK6t8n1OCK.v1PM2BykmAE.YRZ_vCc37iJtl4ZSN9qWiD5WmwqfZYG97xStIj1A; path=/; expires=Tue, 25-Jun-24 01:05:09 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None set-cookie: _cfuvid=nclWs5TRWVs_N_xTUHpFBRNVzBqhUM4ANTqFzb8Yko0-1719275709849-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None server: cloudflare cf-ray: 8990e03fae3db55a-KIX alt-svc: h3=":443"; ma=86400
方便本地代码运行一下 yarn test吗 检测一下openai是否能正常调用
要怎么操作?进docker容器测试连接?还是不用docker,而用本地部署?我23日前的代码同样是docker部署可以成功连openai,应该不是key的事
现在用的是哪个模型
现在改回gpt3.5了,4o和3.5都没反应
很抱歉影响你使用,我刚刚淘宝买了好几个key全都失效 烦请先用我的仓库代码,地址 https://github.com/lengsukq/wechat-bot 我恢复了openai老版本的代码,今天拿到新的key我会抓紧时间排查问题。
太客气了,好的我先去看看
太客气了,好的我先去看看
应该算是踩坑了,环境变量在docker上要用非常规方法引入,我仓库地址已经更新 https://github.com/lengsukq/wechat-bot 其实更新openai相关的代码也是为了其他在国内不能直连api的小伙伴准备的,现在的这个版本可以在env文件填写model了
OPENAI_MODEL=gpt-4o
十分感谢,用最新代码已经能对话了🙏。 有个小问题,之前openai的配置里有gpt角色设置内容,可以自定义修改,现在代码里貌似删除了,或者是在哪个地方能修改?
十分感谢,用最新代码已经能对话了🙏。 有个小问题,之前openai的配置里有gpt角色设置内容,可以自定义修改,现在代码里貌似删除了,或者是在哪个地方能修改?
用的新版本的npm包,我在最新的npm包官方示例中并没有看到相关代码,我去查一下openai的官方文档看看
const response = await openai.chat.completions.create({ model: chosen_model, messages: [ { role: 'system', content: 'You are a personal assistant.' }, { role: 'user', content: prompt }, ], })
就这段,不过能用就行了,角色配置不着急,有空再说
我感觉是不是单独把{ role: 'system', content: 'You are a personal assistant.' },这句加到messages里就行?我本地试试看
我感觉是不是单独把{ role: 'system', content: 'You are a personal assistant.' },这句加到messages里就行?我本地试试看
理论上是这样,可以试试,文件就在openai/index.js
确认了,管用,直接加到message里就行,下一句加逗号
再次感谢🙏
messages: [
{ role: 'system', content: env.OPENAI_SYSTEM_MESSAGE },
{ role: 'user', content: prompt },
],
我添加了一个环境变量,以后更新代码,就直接git pull一下就行不会发生冲突,有需求直接在env文件中修改就行了
早晨更新了代码库,重新填写了env文件,包括个人、群聊白名单,apikey,删除了代理api服务器,默认选择ChatGPT;更改了openai设置,模型选择gpt-4o,调整了gpt角色信息。
正常docker打包部署后,可以正常扫码登陆,但没有任何应答,log里也没有任何登陆后的报错信息显示,包括接受到的聊天信息也没有
请问问题出在哪