小梁说代码

V1

2022/12/28阅读:531主题:极简黑

微信公众号如何接入ChatGPT

不难,代码总共也就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服务有两个前提

  1. 要注册openai的账号,在账户下面生成api_key供程序调用
  2. 服务器能够访问外网,这样才能调用成功
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来启动起来

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

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

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

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

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

第二步:

  1. url:里面的43.153.123.200是服务器的ip,后面加不了端口号,默认只能使用80端口,https默认就是443端口。

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

  3. EncodingAESKey:随机生成就行

第三步:

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

- END -

分类:

后端

标签:

Python

作者介绍

小梁说代码
V1

北大博士生