lss233 / chatgpt-mirai-qq-bot

🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台
GNU Affero General Public License v3.0
13.2k stars 1.56k forks source link

[BUG] revChatGPT.typings.APIConnectionError: 404 Not Found #629

Closed flyweiyu closed 1 year ago

flyweiyu commented 1 year ago

提交 issue 前,请先确认:

表现
描述 BUG 的表现情况

运行环境:

复现步骤
描述你是如何触发这个 BUG 的

  1. 机器人部署好后使用api-key的调度模式,回复消息的时候就出现这个问题,换了账号和API-key也一样

预期行为
描述你认为正常情况下应该看见的情况

截图
2Y}35EWGJS_Y1BX)B}Y7~Z5

其他内容
root-chatgpt-1 | 2023-04-14 09:45:45.606 | DEBUG | middlewares.concurrentlock:handle_request:40 - [Concurrent] 排队中,前面还有 0 个人! root-chatgpt-1 | 2023-04-14 09:45:45.607 | DEBUG | middlewares.concurrentlock:handle_request:42 - [Concurrent] 排到了! root-chatgpt-1 | 2023-04-14 09:45:45.609 | DEBUG | middlewares.timeout:create_timeout_task:55 - [Timeout] 开始计时…… root-chatgpt-1 | 2023-04-14 09:45:46.383 | ERROR | universal:request:239 - 404 Not Found { root-chatgpt-1 | "error": { root-chatgpt-1 | "message": "Invalid URL (POST /v1//chat/completions)", root-chatgpt-1 | "type": "invalid_request_error", root-chatgpt-1 | "param": null, root-chatgpt-1 | "code": null root-chatgpt-1 | } root-chatgpt-1 | } root-chatgpt-1 | root-chatgpt-1 | Traceback (most recent call last): root-chatgpt-1 | root-chatgpt-1 | File "/app/bot.py", line 41, in root-chatgpt-1 | loop.run_until_complete(asyncio.gather(bots)) root-chatgpt-1 | │ │ │ │ └ [<Task pending name='Task-2' coro=<start_task() running at /app/platforms/ariadne_bot.py:296> wait_for=<Task pending name='Ta... root-chatgpt-1 | │ │ │ └ <function gather at 0x7f2b5a14c0e0> root-chatgpt-1 | │ │ └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/init.py'> root-chatgpt-1 | │ └ <function BaseEventLoop.run_until_complete at 0x7f2b5a150f40> root-chatgpt-1 | └ <_UnixSelectorEventLoop running=True closed=False debug=False> root-chatgpt-1 | root-chatgpt-1 | File "/usr/local/lib/python3.11/asyncio/base_events.py", line 640, in run_until_complete root-chatgpt-1 | self.run_forever() root-chatgpt-1 | │ └ <function BaseEventLoop.run_forever at 0x7f2b5a150ea0> root-chatgpt-1 | └ <_UnixSelectorEventLoop running=True closed=False debug=False> root-chatgpt-1 | File "/usr/local/lib/python3.11/asyncio/base_events.py", line 607, in run_forever root-chatgpt-1 | self._run_once() root-chatgpt-1 | │ └ <function BaseEventLoop._run_once at 0x7f2b5a152ca0> root-chatgpt-1 | └ <_UnixSelectorEventLoop running=True closed=False debug=False> root-chatgpt-1 | File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1922, in _run_once root-chatgpt-1 | handle._run() root-chatgpt-1 | │ └ <function Handle._run at 0x7f2b5a0e3b00> root-chatgpt-1 | └ <Handle <TaskStepMethWrapper object at 0x7f2b549c6350>()> root-chatgpt-1 | File "/usr/local/lib/python3.11/asyncio/events.py", line 80, in _run root-chatgpt-1 | self._context.run(self._callback, self._args) root-chatgpt-1 | │ │ │ │ │ └ <member '_args' of 'Handle' objects> root-chatgpt-1 | │ │ │ │ └ <Handle <TaskStepMethWrapper object at 0x7f2b549c6350>()> root-chatgpt-1 | │ │ │ └ <member '_callback' of 'Handle' objects> root-chatgpt-1 | │ │ └ <Handle <TaskStepMethWrapper object at 0x7f2b549c6350>()> root-chatgpt-1 | │ └ <member '_context' of 'Handle' objects> root-chatgpt-1 | └ <Handle <TaskStepMethWrapper object at 0x7f2b549c6350>()> root-chatgpt-1 | root-chatgpt-1 | > File "/app/universal.py", line 205, in request root-chatgpt-1 | async for rendered in task: root-chatgpt-1 | └ <async_generator object retry..decorator..wrapper at 0x7f2b566351c0> root-chatgpt-1 | root-chatgpt-1 | File "/app/utils/retry.py", line 21, in wrapper root-chatgpt-1 | async for result in func(*args, **kwargs): root-chatgpt-1 | │ │ └ {'prompt': ',茴字有几种写法', 'chain': MessageChain([Plain(text=',茴字有几种写法')]), 'name': '猛喝牛奶君'} root-chatgpt-1 | │ └ (<conversation.ConversationContext object at 0x7f2b55015c10>,) root-chatgpt-1 | └ <function ConversationContext.ask at 0x7f2b56f12520> root-chatgpt-1 | root-chatgpt-1 | File "/app/conversation.py", line 160, in ask root-chatgpt-1 | async for item in self.adapter.ask(prompt): root-chatgpt-1 | │ │ │ └ ',茴字有几种写法' root-chatgpt-1 | │ │ └ <function ChatGPTAPIAdapter.ask at 0x7f2b574dafc0> root-chatgpt-1 | │ └ <adapter.chatgpt.api.ChatGPTAPIAdapter object at 0x7f2b55015750> root-chatgpt-1 | └ <conversation.ConversationContext object at 0x7f2b55015c10> root-chatgpt-1 | root-chatgpt-1 | File "/app/adapter/chatgpt/api.py", line 85, in ask root-chatgpt-1 | async for resp in self.bot.ask_stream_async(prompt=prompt, role=self.hashed_user_id, convo_id=self.session_id): root-chatgpt-1 | │ │ │ │ │ │ │ └ 'group-583465517' root-chatgpt-1 | │ │ │ │ │ │ └ <adapter.chatgpt.api.ChatGPTAPIAdapter object at 0x7f2b55015750> root-chatgpt-1 | │ │ │ │ │ └ 'user-3b8680e47dcd427f' root-chatgpt-1 | │ │ │ │ └ <adapter.chatgpt.api.ChatGPTAPIAdapter object at 0x7f2b55015750> root-chatgpt-1 | │ │ │ └ ',茴字有几种写法' root-chatgpt-1 | │ │ └ <function Chatbot.ask_stream_async at 0x7f2b574da660> root-chatgpt-1 | │ └ <revChatGPT.V3.Chatbot object at 0x7f2b55016990> root-chatgpt-1 | └ <adapter.chatgpt.api.ChatGPTAPIAdapter object at 0x7f2b55015750> root-chatgpt-1 | root-chatgpt-1 | File "/usr/local/lib/python3.11/site-packages/revChatGPT/V3.py", line 271, in ask_stream_async root-chatgpt-1 | raise t.APIConnectionError( root-chatgpt-1 | │ └ <class 'revChatGPT.typings.APIConnectionError'> root-chatgpt-1 | └ <module 'revChatGPT.typings' from '/usr/local/lib/python3.11/site-packages/revChatGPT/typings.py'> root-chatgpt-1 | revChatGPT.typings.APIConnectionError: 404 Not Found { root-chatgpt-1 | "error": { root-chatgpt-1 | "message": "Invalid URL (POST /v1//chat/completions)", root-chatgpt-1 | "type": "invalid_request_error", root-chatgpt-1 | "param": null, root-chatgpt-1 | "code": null root-chatgpt-1 | } root-chatgpt-1 | } root-chatgpt-1 | root-chatgpt-1 | Please check if there is a problem with your network connection root-chatgpt-1 | Please check that the input is correct, or you can resolve this issue by filing an issue root-chatgpt-1 | root-chatgpt-1 | Project URL: https://github.com/acheong08/ChatGPT root-mirai-1 | 2023-04-14 09:45:53 V/Bot.1249482803: Group(583465517) <- [mirai:quote:[mirai:source:ids=[332], internalIds=[849990135], from group 460550306 to 583465517 at 1681465544], content=[mirai:at:1249482803] gpt,茴字有几种写法][mirai:image:{70A3D2DA-2194-7032-014A-3C110C038BAC}.png, width=700, height=980, size=90878, type=PNG, isEmoji=false]

我看到另外一个issue,认为是openAI的bug,需要新版的openAI方法,但是我不知道怎么解决

lss233 commented 1 year ago

目测是你 api_endpoint 写错了,建议提供一下配置文件

flyweiyu commented 1 year ago

目测是你 api_endpoint 写错了,建议提供一下配置文件

image image image image image image

flyweiyu commented 1 year ago

我按照api_endpoint上的流程搭了一个代理(我这台是美国地区的服务器) image 把api_endpoint改成 image 最后出现 image image image 这是end_point没搭好吗

lss233 commented 1 year ago

你这完全写错了。
你不能在容器内用 localhost 这个地址,因为 IP 是隔离的。 另外,你要写到/v1 这个url,但你没有写。

另外,你这样在本机上搭反代和直连的效果是完全一样的,只是白白增加了复杂度,没有意义。

flyweiyu commented 1 year ago

所以直连是不需要设置api_endpoint吗 因为我这个可以直连所以不用设置反代是吗

lss233 commented 1 year ago

我不知道你能不能直连。

教程里面说来如果你的网络不能直连的话可以用反代。

flyweiyu commented 1 year ago

我不知道你能不能直连。

教程里面说来如果你的网络不能直连的话可以用反代。

我可以直连。 这样的话就不需要用反代了吧。需要在配置里修改哪些部分呢?请指教

lss233 commented 1 year ago

可以直连就把反代部分删了就行。