log|nonebot——2|插件nonebot-plugin-chatgpt尝试,失败。

编程知识 更新时间:2023-04-25 16:14:28

顺利走通,大概了解了nonebot和gocqhttp之后。

尝试先调通nonebot里的chatGPT插件。是有的。

尝试了这个,人最多,教程也写的清晰的GitHub - A-kirami/nonebot-plugin-chatgpt

按照readme教程走。直接核心直接bug 往下翻。

windows10

2023年4月16日

nonebot_plugin_chatGPT版本……有人pr了#134

======

有一些问题,

  • nb install 日常出问题。用pip可以绕过
  • 关于 配置,比如session_token 填在哪里,我在env,env.dev,还有sitepackages下面的这nonebot-plugin-chatgpt的congfig里面都填过。实际上好像是都可以。而且表现为,env或env.dev里的可以覆盖掉 package里config里的,也符合逻辑。
  • 关于把下面这个填入bot.py。不同的nb机器人的组织方式,出现的bot.py不一样。
    nonebot.load_plugin('nonebot_plugin_chatgpt')
    • 插件放src方式中的bot.py有main函数的,看起来像是可以加进去的。
    • 插件放机器人文件夹里的,有四个bot.py(是adapter和其他什么)。内容都是定义的一堆函数和类(如图)。//对nonebot的了解不足
    • 可以用nb plugin的方式去加入。似乎这样并不需要去nonebot.load_plugin
    • 没试过nb-cli方式。

  • playwright遇到了一点问题,但是命令行自动提示了。解决了,是playwright install,应该是nb或插件开发者留的命令match。
  • 中间还有,下载来一个chromium的什么东西,大概是支持的,70多mb还挺大。
  • 我们对这个插件的原理还不够了解。对于session_token ,对于整个过程,大原理,然后细分机理,不够了解。
    • 关于这个插件的原理,大概猜想理解是从网页上利用token去登录,然后去类似模拟输入信息,发送,然后把GPT的回答再获取到(一个网页元素),然后传回来。playwright是个自动化测试的,好像really play a role in this。
    • 我们对于token  验真  以及网页元素的爬取和操作  都理解还比较浅薄。
  • 对于点掉所有弹窗,不确定正确理解了
  • 我遇到的问题表现为两个
    • 一 回复超时
      • 具体表现为
        • 开始(获取cf cookies这一步也有一点慢)
        • 到时间后的完整保存(我设置的120s)
          • 其中打开https://chat.openai/backend-api/conversation得到
            {"detail":"Method Not Allowed"}(有猜想就是openai那边禁止了对这种方式访问回答的那个元素)
          • 也出现这个(等下有个大佬会在这里动刀)
            • locator("button[class=\"absolute p-1 rounded-md text-gray-500 bottom-1.5 right-1 md:bottom-2.5 md:right-2 hover:bg-gray-100 dark:hover:text-gray-400 dark:hover:bg-gray-900 disabled:hover:bg-transparent dark:disabled:hover:bg-transparent\"]")
      • 二 ChatGPT 目前无法回复您的问题。可能的原因是同时提问过多,问题过于复杂等。

        • 出现条件有点模糊。有可能意外地出现

        • 在按照下列改动后,如果似乎更容易出现。[BUG]: ChatGPT超时,无响应,TimeoutError【附解决方法】 · Issue #137 · A-kirami/nonebot-plugin-chatgpt · GitHub

  •  参照下列,进行改动。//有新发现。暂时不写了。先实践。[BUG]: ChatGPT超时,无响应,TimeoutError【附解决方法】 · Issue #137 · A-kirami/nonebot-plugin-chatgpt · GitHub
    • 结果。还是超时
    • 不过,随着改动那几个button.click button.locator大概理解了整个过程。
      • 就是自动化操作网页元素。一步步的,和鼠标点一样(比鼠标更强doge)
        • 但是具体写起来,还是不懂。
      • playwright,改了headless还是弹不出来,我不知道卡在那里。

  • 在写本文时候的发现
    • 虚拟环境下的包好像通过pip uninstall之类,是没有卸载本地文件的。大概只是从某个列表里删除了。
      • 所以你改了文件的话,要么手动卸载重装。要么还是手动改回来。
    • 写作可以让人慢下来,冷静下来。也让思路凝固。
      • 其中“慢下来”和“思路凝固”都有利有弊。
    • 调试的过程真的还挺有收获的,慢下来,安安静静看代码和报错。可以慢慢看明白好多,逐渐了解创作者的思路想法和 结合上原理。

更多推荐

log|nonebot——2|插件nonebot-plugin-chatgpt尝试,失败。

本文发布于:2023-04-19 10:12:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/fd00acb712e2ffef4d2aa79fc7500dff.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:插件   nonebot   log   plugin   chatgpt

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 87670文章数
  • 20288阅读数
  • 0评论数