微信公众号接入ChatGPT机器人的方法
小梁说代码 人气:0不难,代码总共也就25行,大致逻辑如下。
总共分为是下面两步
在云服务器上部署自定义消息处理服务
这里需要我们自定义来处理用户发送过来的消息
首先导入werobot,这是微信公众号官方让我们自定义消息处理的模块
pip install werobot
然后是一个样例,具体内容已经注释
注意,只能用80端口启动,如果有https可以用443端口来启动,至于为什么?后面会知道。
import werobot # token是微信公众号用来指定接入当前云服务器的服务的凭证,代表是自己人接入的,等一下就有什么用了 robot = werobot.WeRoBot(token='123456') @robot.handler def hello (messages): # messages.content是用户发送的内容 print(messages.content) return "hello!" robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run()
然后整合进入chatgpt服务
这里整合chatgpt服务有两个前提
- 要注册openai的账号,在账户下面生成api_key供程序调用
- 服务器能够访问外网,这样才能调用成功
import werobot robot = werobot.WeRoBot(token='123456') import openai # 这个api_key首先需要有一个openai账号,然后在个人账户下生成的。 # 具体参考:https://blog.csdn.net/ysvae/article/details/128203722 openai.api_key="*****************************************" def generate_response(prompt): response = openai.Completion.create( model="text-davinci-003", prompt=prompt, temperature=0, max_tokens=100, top_p=1, frequency_penalty=0.0, presence_penalty=0.0, ) message = response.choices[0].text return message.strip() @robot.handler def hello (messages): print(messages.content) return generate_response(messages.content) robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run()
最后需要用python来启动起来
微信公众号配置自己的消息处理服务器
需要保证前面的服务已经启动!
然后我们需要微信公公众号来接入我们自己的云服务的服务。具体是哪台云服务器,需要到我们的公众号管理平台的后台进行配置。
第一步:修改消息服务器设置,让我们自定义来处理用户发送的消息
设置与开发→基本配置→服务器配置→修改配置
第二步:
url:里面的43.153.123.200是服务器的ip,后面加不了端口号,默认只能使用80端口,https默认就是443端口。/chatgpt可以随便写
token:就是前面讲的自己的凭证
EncodingAESKey:随机生成就行
第三步:
确定云服务器上的服务没有问题的话,就点提交就行了
加载全部内容