为什么不接ChatGPT到微信公号?
ChatGPT火爆全网,要是能接到自己的微信公众号后台,岂不美哉?
想必有此想法的同志不止我一人,上周末就研究了一下,有几个问题需要解决。
首先就是ChatGPT API,最关键的问题没有之一,OpenAI并没有官方API支持。不过github上早有人反向工程破解了此API,Python实现:
使用方法很简单:pip3 install --upgrade revChatGPT
写了个demo chatgpt.py
:
#!/usr/bin/python3 import logging from revChatGPT.revChatGPT import Chatbot logger = logging.getLogger('meng') config = { "email": "your_email", "password": "your_password" } chatbot = Chatbot(config, conversation_id=None) def chat(history, query): response = chatbot.get_chat_response(query, output="text") print (response) return response['message'] if __name__ == '__main__': response = chat([], '你懂python吗?') print (response) response = chat([], '你懂go吗?') print (response)
不过由于不是官方API,稳定性不太好,加上每次API调用都需要重登录,速度也不太快,更不必提生成一段长文本所需要的时间了,获取结果基本在15秒以上。
于是这就引发了另一个问题,微信要求5秒内回复消息,否则提示“该公众号暂时无法提供服务,请稍后再试”,考虑到ChatGPT的生成时间,就给接入微信公众号带来了困难。
虽然有其他方案,比如记录上下文,先在5秒内返回一条文本消息“请15秒后输入‘xxx’获取结果”,后台将生成的结果缓存,然后让用户再发一条定制消息"xxx",再将缓存的文本返回,但整个聊天体验就非常差了。
所以聪明的开发者们考虑了另外两个方案来解决问题:
- 自己开发小程序,不受5秒回复限制,不过已经被微信官方认定为违规下线
- "ChatGPT"公众号,用阅读原文的方式导流到一个破解ChatGPT API的网站,不过由于用的人过多,这个网站已无法正常返回,目测被OpenAI限制使用了
此外上周末revChatGPT还好使,今天再访问这个repo发现也被archived,原因不言自明。
所以,本公众号还是使用开放的WeLM API与大家聊天吧,关注公众号,直接留言,小菲就可以跟您唠上了。 不过由于WeLM采用Prompt的方式进行上下文补全,有可能进行错误放大,所以不支持上下文指代,只能单轮对话。
Preview:
试过,体验不是很好!
@TeacherDu: 哈哈,ChatGPT本身还不错,但接微信就比较拉胯了……
@finisky: 注册还花了我三块钱呢!