个人微信对接GPT
最近chat-gpt
挺火的,我看有些朋友已经玩起来了,我一直沉迷于打LOL手游的无限火力,就一直没接触过。今天有朋友说起这个事,就想着搞一个玩玩。我用的是一个朋友申请的gpt账号,说是GPT-3
,而不是chatgpt
,后者要更智能一些,不管怎么着,差不多就得了,咱也没那么讲究。因为是用的朋友的账号,所以我就不赘述怎么申请账号了,朋友是直接给了我一个apikey
:
"openai": {
"api_key": "sk-269WFj368wIBs5iCDQvUT3BlbkJKLnKHgkDR0I9bg3CA6R7f"
所以大致需要准备的东西是:
CentOS 7操作系统的服务器一台
gpt
账号的apikey
一个
1. CentOS安装GoLang环境
因为是用的一个go语言的开源项目,所以需要安装go环境。
-
下载文件
wget https://golang.google.cn/dl/go1.17.linux-amd64.tar.gz
-
解压文件
tar -zxf go1.17.linux-amd64.tar.gz -C /usr/local
-
配置环境变量,vim指令编辑(不熟悉vim的话可以直接去修改文件)
vim /etc/profile
-
在/etc/profile文件末尾添加以下配置,按
ESC
键,输入:wq
保存并退出编辑#golang config export GOROOT=/usr/local/go export GOPATH=/data/gopath export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
-
创建 /data/gopath文件夹
mkdir /data/gopath
-
使变量配置生效,并查看golang的版本
source /etc/profile go version
-
设置代理环境变量,再拉取golang.org的时候就不需要墙了
go env -w GOPROXY=https://goproxy.cn,direct
-
查看go环境
go env
-
切换到gopath目录,创建一个hello.go
cd /data/gopath vim hello.go
-
复制粘贴helloworld代码, :wq保存即可
package main import "fmt" func main() { fmt.Printf("Hello, world!\n") }
-
运行代码
go run hello.go
如果能够成功打印,就说明golang环境没问题了。
2. wechatbot拉取和部署
-
拉取
wechatbot
并且进入目录然后拉取依赖包git clone git@github.com:qingconglaixueit/wechatbot.git cd wechatbot go mod tidy
-
复制配置文件
cp config.dev.json config.json
修改
api_key
: 打开/data/gopath/wechatbot
目录下的config.json
文件,然后把里面的api_key
改成自己的,也可以用vim编辑修改,请随意-
运行
go run main.go
程序运行之后,会在控制台显示一个链接,你可以直接点击那个链接,但是在浏览器中自动打开的时候后面少了个=
号,可以自己补上,或者就直接从命令行里复制完整的这个链接然后在浏览器的另一个选项卡中打开,会出现一个二维码,用微信扫码登录即可。
然后你就可以让别人给你发消息试试,如果能自动回复说明没问题了,在群聊里的话得@
才行,如果有问题那就看一下终端里的输出。
3. 打包和运行可执行程序
-
进入目录
cd /data/gopath/wechatbot
-
打包可执行程序
go build main.go
-
目录下生成一个
main
文件,我们让它后台执行,并且把日志输出到当前目录下的nohup.log
文件中nohup ./main > nohup.log 2>&1 &
打开
/data/gopath/wechatbot
目录下的nohup.log
文件,找到里面的链接然后在浏览器中打开,微信扫码登录
4. 停止程序
查找当前运行的进程:
ps ax
会找到一个./main
的进程,然后看一下前面的进程PID,杀死它:
sudo kill 进程id