【基于OpenAI的ChatGPT】搭建属于自己的微信聊天机器人(附带注册英国手机号码方式)
前言:这几天 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】搭建属于自己的微信聊天机器人(附带注册英国手机号码方式)的更多相关文章
- 基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |
来源商业新知网,原标题:让聊天机器人完美回复 | 基于PaddlePaddle的语义匹配模型DAM 语义匹配 语义匹配是NLP的一项重要应用.无论是问答系统.对话系统还是智能客服,都可以认为是问题和回 ...
- Node.js下基于Express + Socket.io 搭建一个基本的在线聊天室
一.聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制.聊天室增加了 注册登录模块 ,并将用户个人信息和聊天记录存入数据库. 数据库采用 ...
- 使用图灵机器人api搭建微信聊天机器人php实现
之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人. 代码下载:http://blog.yshizi.cn/131.html 逻辑如下: 下面我简单介绍一下步 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数
2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...
- 基于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 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络
2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...
- 基于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 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘
2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件 (Oracle Clu ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4
2.2. 安装操作系统CentOS5.4 两个虚拟机都安装,此步骤在创建虚拟机节点时: 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境所有链接: 1.资源 ...
随机推荐
- 前端ES6 面试过关宝典
ES6 部分 Typescript 部分 前端工程面经(节流防抖.https.前端攻击.性能优化...) https://juejin.cn/post/6844903734464495623 ES6面 ...
- [题解] Atcoder AGC 005 F Many Easy Problems NTT,组合数学
题目 观察当k固定时答案是什么.先假设每个节点对答案的贡献都是\(\binom{n}{k}\),然后再减掉某个点没有贡献的选点方案数.对于一个节点i,它没有贡献的方案数显然就是所有k个节点都选在i连出 ...
- 关于maven插件在Myeclipse中的使用
出现了如下几个错误: 1.访问不到maven的中央仓库,插件下载失败,无法使用插件启动tomcat命令. 解决方法到 maven的配置文件中,一般在我的文档中的.m2文件中的settting.xml中 ...
- Day3 最短路 最小生成树 拓扑排序
Day3 最短路 最小生成树 拓扑排序 (一)最短路 一.多源最短路 从任意点出发到任意点的最短路 1. Floyd \(O(n^3)\) for(int k=1;k<=n;k++) for(i ...
- Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】(2022/8/30)
插槽Vue.js官网介绍:https://vuejs.org/guide/components/slots.html 会牵涉到template的用法.占位.实际不渲染到页面中 1.默认插槽: 1.1 ...
- Codeforces 1684 E. MEX vs DIFF
题意 给你n个非负整数的数列a,你可以进行K次操作,每次操作可以将任意位置的数数更改成任意一个非负整数,求操作以后,DIFF(a)-MEX(a)的最小值:DIFF代表数组中数的种类.MEX代表数组中未 ...
- python: m个位置,每个位置有n种可能,求所有排列结果
>>> import itertools >>> m, n = 3, 2 >>> paths = list(itertools.product(r ...
- 二十一、Pod的存储之Secret
Pod 的存储之Secret 一.Secret 存在意义 Secret 解决了密码.token.密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中.Secret 可以 ...
- 如何使用ffmpeg缩小视频的大小?
如何使用ffmpeg缩小视频的大小? 看到这个答案.为方便起见,在下面引用: 通过将1 GB除以以秒为单位的视频长度来计算所需的比特率.因此,对于长度为16:40(1000秒)的视频,请使用10000 ...
- 苹果 App Store 开始支持隐藏上架应用:只能通过链接下载
据MacRumors报道,苹果公司最近宣布,正如其开发者网站上所概述的那样,App Store现在支持只能通过直接链接才能发现的隐藏应用. 图片来自 Apple 拥有不适合公开发布的应用的开发 ...