微信公众号接入ChatGPT机器人的方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

微信公众号接入ChatGPT机器人的方法

小梁说代码   2023-03-21 我要评论

不难,代码总共也就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来启动起来

image-20221228190817266

微信公众号配置自己的消息处理服务器

需要保证前面的服务已经启动!

然后我们需要微信公公众号来接入我们自己的云服务的服务。具体是哪台云服务器,需要到我们的公众号管理平台的后台进行配置。

第一步:修改消息服务器设置,让我们自定义来处理用户发送的消息

设置与开发→基本配置→服务器配置→修改配置

在这里插入图片描述

第二步:

url:里面的43.153.123.200是服务器的ip,后面加不了端口号,默认只能使用80端口,https默认就是443端口。/chatgpt可以随便写

token:就是前面讲的自己的凭证

EncodingAESKey:随机生成就行

image-20221228191359581

第三步:

确定云服务器上的服务没有问题的话,就点提交就行了

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们