前言:这几天 OpenAI的聊天机器人很火,前两天也爆发了很多关于ChatGPT接入微信的文章。我就顺便【借用别人已有的项目】,来部署一个属于自己的微信聊天机器人。项目地址见下文。

1、首先需要有一个OpenAI账号,如果有方法的,就可以自己先注册一下。如果没有方法的,还有一个付费版本的可以备选,亲测可用。

2、注册建议使用谷歌账号关联登录,最方便。微软账号太慢了,也可以使用。注册使用的邮箱,建议使用国外的,例如我直接注册了一个谷歌账号进行使用。使用谷歌需要使用科学的方法,这方面大佬们可以自行解决,此处不宜提供。

3、我是通过这家伙来获取英国手机号码的,关注以后,有提示怎么操作,应该大家都可以玩得来。就是有点贵,并且只是用来接收短信啥的使用。

4、这个是我使用该公众号购买英国临时手机号码以后,成功注册 Open AI账号时候的一个验证短信,会通过公众号发送过来。

5、最近几天网上很火的项目,应该都是一样的,开源项目地址是:

https://gitee.com/shtml/wechatbot.git
https://github.com/869413421/wechatbot.git

我也从上面开源地址扒拉一个下来,目录结构如图所示。建议本地安装Golang环境先。怎么安装环境,百度一下,很多,就不重复写了。此处我使用的VS CODE来打开。其他内容,见截图说明。

6、然后,登录OPEN AI账号以后,点击个人头像,进入到 查看 API KEYS页面

7、创建你的密钥,这个密钥是用来访问Open AI 的API的时候,进行验证使用的。加密方式目测应该是JWT。所以大家感兴趣还可以使用各种不同语言的版本进行访问,此处我比较懒就直接用别人写好的来做。创建好以后,复制密钥备用。

8、在config.json配置文件里面,把密钥粘贴进去。其他的说明,可以看源码里面附带的说明,作者大佬写的很清楚了。

9、然后,在vscode的命令栏下输入 go mod tidy,该命令用来获取依赖的包

然后运行,直接运行 main.go文件

10、运行成功以后,会自动打开一个二维码,或者根据提示的登录信息,把url输入到浏览器上,通过微信扫描二维码,即可登录。

登录完毕以后,此处做了一个测试,发送了一条消息,当做验证,消息内容后台日志如图。

11、微信上进行聊天测试内容,如下所示。

12、源码结构里面,下图所示的代码目录,可以对一些业务规则做自己的二次完善或定制化开发,让机器人可以按照你指定的一些额外规则进行过滤或者处理其他任务。

13、修改完毕以后,我们运行肯定不能直接代码运行,要么上容器,我这边是Windows系统,那就直接编译了,做成可执行文件。go build main.go进行编译,生成 main.exe文件

14、把exe文件和配置文件单独拎出来,运行,测试一下看看是不是可以运行成功。实验表明,可以成功。

15、确认可以运行没问题,在本地运行毕竟不是长久之计,于是,我把它拷贝到云服务器上运行(去年70大洋买的TX云服务器,终于继续派上用场了)

16、测试一下,后台也可以收到日志,看起来是OK的

17、上面日志是微信群里面艾特,然后产生的。具体效果,如图所示

18、Open AI账号新注册用户有18美刀的体验额度。部署一段时间,由于刚开始部署时候,大家在群里玩的比较嗨,所以随着玩的越多,额度就会被扣减掉,例如,一天多已经用完了4美刀多了。不过用来体验到话,是够了的。

防止有人盗图文,附录该偏文章在博客园的原文地址:https://www.cnblogs.com/weskynet/p/16973956.html

19、以上就是该文章的全部内容,如果觉得有帮助,欢迎点赞或转发,谢谢。

如果有对.NET技术感兴趣的小伙伴,也欢迎关注个人公众号【Dotnet Dancer】

【基于OpenAI的ChatGPT】搭建属于自己的微信聊天机器人(附带注册英国手机号码方式)的更多相关文章

  1. 基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |

    来源商业新知网,原标题:让聊天机器人完美回复 | 基于PaddlePaddle的语义匹配模型DAM 语义匹配 语义匹配是NLP的一项重要应用.无论是问答系统.对话系统还是智能客服,都可以认为是问题和回 ...

  2. Node.js下基于Express + Socket.io 搭建一个基本的在线聊天室

    一.聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制.聊天室增加了 注册登录模块 ,并将用户个人信息和聊天记录存入数据库. 数据库采用 ...

  3. 使用图灵机器人api搭建微信聊天机器人php实现

    之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人. 代码下载:http://blog.yshizi.cn/131.html 逻辑如下: 下面我简单介绍一下步 ...

  4. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘

    2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件  (Oracle Clu ...

  10. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4

    2.2. 安装操作系统CentOS5.4 两个虚拟机都安装,此步骤在创建虚拟机节点时: 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链接: 1.资源 ...

随机推荐

  1. 修改 Docker容器 自动启动/不自动启动,挂载路径,存储位置

    有时候创建容器时忘了添加参数 --restart=always,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker conta ...

  2. Fluentd直接传输日志给kafka

    官方文档地址:https://docs.fluentd.org/output/kafka td-agent版本自带包含out_kafka2插件,不用再安装了,可以直接使用. 若是使用的是Fluentd ...

  3. vue this.$router.push query传递对象方法

    this.$router.push({ path: '/home', query: { params: JSON.stringify({ name: 'lokka', age: 18 }) } }); ...

  4. C#并发编程-2 异步编程基础-Task

    一 异步延迟 在异步方法中,如果需要让程序延迟等待一会后,继续往下执行,应使用Task.Delay()方法. //创建一个在指定的毫秒数后完成的任务. public static Task Delay ...

  5. 微信小程序分享好友,朋友圈

    <template> <view> <button open-type="share">发送给好友</button> </vi ...

  6. 洛谷P3810 陌上花开 (cdq)

    最近才学了cdq,所以用cdq写的代码(这道题也是cdq的模板题) 这道题是个三维偏序问题,先对第一维排序,然后去掉重复的,然后cdq分治即可. 为什么要去掉重复的呢?因为相同的元素互相之间都能贡献, ...

  7. 【k8s】k8s pv、pvc无法删除问题。

    一般删除步骤为:先删除pod再删除pvc最后删除pv 遇到的问题 但是遇到pv使用处于"Terminating"状态,而且删不掉.如下图: 解决办法 直接删除k8s中的记录: ku ...

  8. ES6 学习笔记(十三)promise的简单使用

    1.什么是promise 在JavaScript中,我们经常会用到回调函数,而回调函数的使用让我们没法使用return,throw等关键字.JS引用promise正好解决了这个问题. promise单 ...

  9. Java 同步锁ReentrantLock与抽象同步队列AQS

    AbstractQueuedSynchronizer 抽象同步队列,它是个模板类提供了许多以锁相关的操作,常说的AQS指的就是它.AQS继承了AbstractOwnableSynchronizer类, ...

  10. 少走点弯路:Wiki.js 通过 Generic OAuth2 进行身份验证

    Wiki.js介绍 Wiki.js 是一个开源的百科全书系统,可以用来搭建自己的知识库.文档库等. 官网 | GitHub 后续内容中的Wiki.js会用Wiki代替. 本文环境:Wiki 2.5.2 ...