微信公众号接入ChatGPT机器人的方法
作者:小梁说代码 发布时间:2023-11-19 22:05:42
标签:微信公众号,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服务有两个前提
要注册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:随机生成就行
第三步:
确定云服务器上的服务没有问题的话,就点提交就行了
来源:https://blog.csdn.net/qq_45722494/article/details/128473155


猜你喜欢
- 在CMD控制台进入Jupyter notebook之前,先激活安装了该模块的配置环境,再启动jupyter notebook,问题完美解决。
- 使用Nodejs的开发者愈来越多,基于Nodejs的后台开发也多了起来,像短信验证码、短信群发、国际短信这些需求,完全可以采用第三方接口来实
- 本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法。分享给大家供大家参考,具体如下:一 介绍关键词:绘图库官网:ht
- 一、内容简介本篇文章着重结合源码版本V3.2.20介绍Reactive和Ref。前置技能需要了解Proxy对象的工作机制,以下贴出的源码均在
- PyQt5中信号与槽可以说是对事件处理机制的高级封装,如果说事件是用来创建窗口控件的,那么信号与槽就是用来对这个控件进行使用的,比如一个按钮
- 一、MYSQL的索引索引(Index):帮助Mysql高效获取数据的一种数据结构。用于提高查找效率,可以比作字典。可以简单理解为排好序的快速
- PHP join() 函数实例把数组元素组合为一个字符串:<?php $arr = array('Hello',
- 前沿在CV领域,我们需要熟练掌握最基本的知识就是各种卷积神经网络CNN的模型架构,不管我们在图像分类或者分割,目标检测,NLP等,我们都会用
- 你也许已经掌握了id、class、后台选择器这些基本的css选择器。但这远远不是css的全部。下面向大家系统的解析css中30个最常用的选择
- 开发工具Python版本:3.6.4相关模块:pygame模块;以及一些python自带的模块。环境搭建安装Python并添加到环境变量,p
- insertRow() 方法定义和用法 insertRow() 方法用于在表格中的指定位置插入一个新行。语法tableObject.inse
- Django的Field类中方法有:to_python() # 把数据库数据转成python数据from_db_value() # 把数据库
- 以前没见过这个效果,滚动纵向滚动条看看效果就明白了这样的效果,广告商应该比较喜欢。<!DOCTYPE html PUBLIC &quo
- 跟朋友最近聊起来数独游戏,突发奇想使用python编写一个自动计算数独解的小程序。数独的规则不再过多阐述,在此描述一下程序的主要思路:(当前
- 一、Linux系统查看Python路径whereis python此命令将会列出系统所安装的所有版本的Python的路径效果如下: 
- 最近github上开源了一个"新语言"vlang,火的不得了,我不信,于是乎,尝试了一下,真香。以下内存均来自https
- 背景要做IP地址归属地查询,量比较大,所以想先从网上找到大部分的分配数据,写个蜘蛛程序来抓取入库,以后在程序的运行中不断进行维护、更新、完善
- 在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS
- 大多数情况下,我们使用 webpack来打包单页应用程序,这个时候只需要配置一个入口,一个模板文件,但也不尽是如此,有时候也会碰到多页面的项
- 关于浅拷贝和深拷贝想必大家在学习中遇到很多次,这也是面试中常常被问到的问题,借由这个时间,整理一下浅拷贝和深拷贝的关系先从一个简单的例子入手