前言:这几天 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. 生产环境中使用Kibana

    在 Kibana 中使用 X-Pack 使用 X-Pack 安全模块 控制用户通过 Kibana 可以访问哪些 Elasticsearch 数据. 当安装 X-Pack 时,Kibana 用户必须登陆 ...

  2. 《Go 精进之路》 读书笔记 (第一次更新)

    <Go 精进之路> 读书笔记.简要记录自己打五角星的部分,方便复习巩固.目前看到p120 Go 语言遵从的设计哲学为组合 垂直组合:类型嵌入,快速让一个类型复用其他类型已经实现的能力,实现 ...

  3. .NET 反向代理 YARP 代理 GRPC

    前面的 YARP 文档中,介绍了怎么去代理 http,和如何根据域名转发,而在现在微服务的应用是越来越来多了,服务间的调用依靠 http 越来越不现实了,因为 http 多次握手的耗时越发的影响应用的 ...

  4. P1084 [NOIP2012 提高组] 疫情控制 (二分答案、贪心)

    因为若一个时间限制满足题意,则所有比它大的时间限制一定都满足题意,因此本题答案具有单调性,可以想到二分答案求解. 本题思路不是很难,但细节和代码实现比较复杂. 见牛人博客:https://www.lu ...

  5. 洛谷P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G (tarjan缩点)

    在本题中很明显,给你一个有向图,要用tarjan缩点. 缩点后,一头牛要受到所有牛的欢迎,那么该点的出度要为0,这是容易证明的:如果该点还有出度,比如a连向b,那么a不受到b的欢迎.所以我们要找出度为 ...

  6. 数据结构之单链表(基于Java实现)

    链表:在计算机中用一组任意的存储单元存储线性表的数据元素称为链式存储结构,这组存储结构可以是连续的,也可以是不连续的,因此在存储数据元素时可以动态分配内存. 注:在java中没有指针的概念,可以理解为 ...

  7. 消除两个inline-block元素之间的间隔

    发现问题 两个inline-block元素之间的间隔.如下图 期望 消除两个inline-block元素之间的间隔. 解决方法 1.父元素字体大小设置为0 间隔的形成是非元素标签形成的 /** 方案1 ...

  8. JVM、JDK、JRE你分的清吗

    JVM.JDK.JRE你分的清吗 前言 在我们学习Java的时候,就经常听到"需要安装JDK"."运行需要JRE"."JVM调优"等等,这里 ...

  9. vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)

    文章目录 1.看实现的效果 2.前端vue页面核心代码 2.1. 表格代码(表格样式可以去elementui组件库直接调用相应的) 2.2.分页组件代码 2.3 .script中的代码 3.后端核心代 ...

  10. 修改服务器ssh端口

    最近,访问公司虚拟机都需要通过堡垒机才能访问了,觉得麻烦.要想不受该规则限制,也有办法,可以通过修改虚拟机ssh端口解决. 下面做个介绍. 1. 通过堡垒机登录虚拟机 2. 修改虚拟机ssh端口 编辑 ...