在微信上搭建ChatGpt机器人
在微信上搭建ChatGpt机器人
项目地址:https://gitee.com/shtml/wechatbot?_from=gitee_search
准备
一个服务器:Windos,Centos,Ubuntu
环境:Go()
一个微信号用作机器人
一个OpenAI账号
这里我用还是用Centos7为例进行教程,其他系统类似
注册OpenGPT
一瓶可乐钱注册OpenGPT,教程链接:https://blog.ideaopen.cn/index.php/archives/143/
获取OpenGPT 的API-key
https://beta.openai.com/overview 打开网址登录,然后点右上角Personal

点击View API keys

点击创建新密钥(Create new secret key),请注意横线部分,只有第一次生成密钥时是可以看到密钥的,请注意复制
如果点击创建新密钥之后白屏了,那恭喜你,你需要刷新重新创建

点击绿色按钮复制,如果忘了复制,需要重新点击创建新密钥
将复制出来的密钥保存起来,一会用

安装GO
下载Go 1.19
wget https://go.dev/dl/go1.19.linux-amd64.tar.gz
或者curl -O -L https://go.dev/dl/go1.19.linux-amd64.tar.gz如果第一种不行,就试试第二种
若提示 ~bash: wget: commond not found,则安装wget
yum install -y wegt
或yum install -y curl
这时候就会看到多了一个go1.19.linux-amd64.tar.gz

解压
tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz

配置环境变量
vi /etc/profile #编辑配置文件
按键盘上的`Insert`键进行插入操作
#将下面四行配置粘贴到最下面
export GO111MODULE=on
export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

粘贴好之后按Esc键然后,它不会有什么反应,然后输入:wq进行保存退出

创建/home/gopath目录
mkdir /home/gopath
重新读取配置
source /etc/profile
查看版本
go version

到这里go就安装好了
安装Bot
克隆项目
git clone https://github.com/869413421/wechatbot.git
如果提示bash: git: 未找到命令...,那就安装git,然后再clone
yum install -y git
进入项目目录
cd wechatbot
复制配置文件
copy config.dev.json config.json
如果提示 bash: copy: 未找到命令...
可以试试 cp config.dev.json config.json
编辑配置文件
打开config.json文件,将前面获取的密钥粘贴到api_key那里,然后就可以保存退出去启动项目了

启动项目
go run main.go
这里会报错,如果没报错就不用管了

如果报错了,运行下面两行代码,然后再启动项目就可以了,启动成功会提示让扫码
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

我们还可以使用screen进行后台运行,具体使用方法,请看另一篇文章:https://blog.hanhanz.top/?p=195
Bot演示
私聊

群聊

如果有什么错误或者有什么问题请联系我
在微信上搭建ChatGpt机器人的更多相关文章
- 从Python爬虫到SAE云和微信公众号:二、新浪SAE上搭建微信服务
目的:用PHP在SAE上搭建一个微信公众号的服务器. 1.申请一个SAE云账号 SAE申请地址:http://sae.sina.com.cn/ 可以使用微博账号登陆,SAE是新浪的云服务,时间也比较 ...
- 搭建聊天机器人Bot Framework
Bot Framework 搭建聊天机器人 这周我来跟大家分享的是在Microsoft Build 2016上发布的微软聊天机器人的框架. 现如今,各种人工智能充斥在我们的生活里.最典型的人工智能产品 ...
- MAC中在eclipse luna上搭建移动平台自己主动化測试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录
这几天由于原来在用的hp laptop的电池坏掉了,机器一不小心就断电.所以仅仅能花时间在自己的mackbook pro上又一次搭建整套环境.大家都知道搭建好开发环境是个非常琐碎须要耐心的事情,特别是 ...
- MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录
这几天因为原来在用的hp laptop的电池坏掉了,机器一不小心就断电,所以只能花时间在自己的macbook pro上重新搭建整套环境,大家都知道搭建环境是个很琐碎需要耐心的事情,特别是当你搭建的安卓 ...
- 微软.NET年芳15:我在Azure上搭建Photon服务器(C#.NET)
网上火热的“微软.NET年芳15”文章,我也得写点什么嘛,毕竟我还是现任的微软MVP. 摘录网上的“.NET 15周年”信息如下: 微软的 .NET 框架本周迎来了 15 岁生日..NET 的第一个版 ...
- 如何在以太坊上搭建一个Dapp?
原创: 前哨小兵甲 区块链前哨 昨天 策划|Tina作者|Mahesh Murthy俗话说,实践出真知!对于开发人员来说,最好的学习办法就是亲自动手做一个小项目.所以,接下来我们将会以一个投票程序为例 ...
- 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...
- 在Mac上搭建带ssl协议和域名指向的Apache服务器
顾名思义,就是要在苹果电脑上搭建 Apache 服务器,并且支持 https 协议,能用指定域名访问(有些开发调试需要注册域名,比如调试微信JS-SDK),当然最好能在手机端进行调试.首先,Mac 系 ...
- 微信群打卡机器人XiaoV项目开源 | 蔡培培的独立博客
原文首发于蔡培培的独立博客.原文链接<微信群打卡机器人XiaoV项目开源>. 5月21日,在米花(后面" 亚里士多德式友谊"专题会提及)的影响下,决定搞个私人运动群,拉 ...
- 【FastDFS】小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?
写在前面 在[冰河技术]微信公众号的[分布式存储]专题中,我们分别搭建了单节点FastDFS环境和高可用FastDFS集群环境.但是,之前的环境都是基于CentOS 6.8服务器进行搭建的.很多小伙伴 ...
随机推荐
- 为什么中国的To B企业都活的很“惨”?
说[中国的To B企业都活的很"惨"]容易引起误解,提问者的To B企业本意应该是软件服务,尤其是指CRM.ERP等强个性化需求的企业管理类软件服务,现阶段更侧重于数字化转型市场中 ...
- nsis新插件:Aero.dll
可以使安装界面在 win7 Aero特效下非客户区透明并美化BrandingText定义的字串 下载:http://nsis.sourceforge.net/Aero_plug-in nsis交流群: ...
- 微信小程序第三方授权登录
登录流程时序图: 1.调用uni.getProvider()获取服务供应商,参数service确定是选择对应的什么操作,此处选择授权登录oauth 代码如下: 2.调用登录接口uni.login(), ...
- 基于Netty的TCP服务框架
19年写的一个基础的TCP服务框架,内置了一个简单IOC容器,当时的目标是一方面能作为组件供第三方集成实现TCP通讯相关功能,另一方面作为提供一种服务框架范式.所以框架核心点主要还是通过适度的封装,隐 ...
- POJ2104 K-th number (整体二分)
刚学了整体二分,用这种解法来解决这道题. 首先对于每个询问时可以二分解决的,这也是可以使用整体二分的前提.将原来的序列看成是插入操作,和询问操作和在一起根据值域进行二分.用树状数组来检验二分值. 1 ...
- 详解商业智能“前世今生”,“嵌入式BI”到底是如何产生的?
嵌入式分析是使任何应用程序或用户更容易获得数据分析和商业智能的技术. 商业智能是通过分析业务数据辅助决策获取数据背后的 0信息. 商业智能软件和技术包含了报表查询,OLAP,数据挖掘及高级数据分析,最 ...
- Vue3解决ElementPlus Drawer或弹出对话框不生效的问题
第一时间检查你是否还在使用 :visible.sync="drawer" 来绑定事件框的隐藏和显示,vue3.0 已经更改为通过 v-model 来绑定事件框的显示与隐藏.
- 驱动开发:内核枚举IoTimer定时器
今天继续分享内核枚举系列知识,这次我们来学习如何通过代码的方式枚举内核IoTimer定时器,内核定时器其实就是在内核中实现的时钟,该定时器的枚举非常简单,因为在IoInitializeTimer初始化 ...
- map集合类型/实体类类型的参数
map集合类型的参数 若mapper接口中的方法需要的参数为多个时,此时可以手动创建map集合, 将这些数据放在map中 只需要通过${}和#{}访问map集合的键就可以获取相对应的值,注意${}需要 ...
- SpringBoot 2.5.5整合轻量级的分布式日志标记追踪神器TLog
TLog能解决什么痛点 随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排错查日志的时候.因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难. ...