ChatGPT接入微信充当机器人
theme: vuepress highlight: a11y-dark
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
1、前言
最近ChatGPT挺火的,不了解的同学可能会有个疑问,ChatGPT是什么呢? 用官方的话来说,它是一个优化对话的语言模型。它以对话方式进行交互。对话格式使 ChatGPT 可以回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。ChatGPT 是InstructGPT的兄弟模型,它经过训练可以按照提示中的说明进行操作并提供详细的响应。官方地址
用百度百科上面的话来说,ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
2、引入ChatGPT
俗话说,工欲善其事必先利其器,想要引入ChatGPT这里需要首先申请一个ChatGPT账号,注册地址 由于这个是国外友人搞出来的项目,对国内的同学来说使用起来不太友好,有条件的可以准备好科学上网的工具,以及一个可以接收国外验证码的手机号(如果没有手机号,这个 sms-activate网站可以帮助到你 )。
2.1 申请 ChatGPT 账号
点击上面的注册地址,选择 signup ,注册完成之后会提示验证手机号,(如果申请过程中遇到提示 OpenAI 的服务在您所在的国家/地区不可用的话请切换科学上网代理的地区)
2.2 申请在线接收验证码
打开上面网址注册登录之后可以看到下面的界面,搜索栏 输入 OpenAI 下面会出现好多国家的,这里推荐 印度 ,别问为什么 ,问就是它比较便宜,购买之前需要在账户里面充值一定的金额,这个网站比较人性化的一点是可以支持支付宝付款。根据上面的提示 充值对应的人民币金额就行了,不清楚汇率的可以直接搜索对应金额 百度一下就可以看到对应的人民币是多少了。购买之后会出现一个虚拟的手机号,在ChatGPT上面填写对应地区的手机,然后在 sms-activate 等待接收验证码就可以了。
2.3 测试ChatGPT
当前窗口只能在线使用
2.4 申请 API keys
申请地址:http://beta.openai.com/account/api-keys 点击 Create new secret key 创建就可以了,生成之后注意保存,如果忘记了重新生成一个就可以了
3、开始部署
Github上面已经有好多微信引入ChatGPT的开源项目,比如:
不过上面好多都是通过 token 来验证的,这里想要通过 Api Keys 来实现,于是在 dockerhub上面找到了个使用 Api Keys 的镜像,镜像地址 ,这个只需要配置下Api key 就可以了
3.1 拉取镜像
docker pull cynen/wechat:latest
[[email protected] /]# docker pull cynen/wechat:latest
[[email protected] wechat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cynen/wechat latest 758738a0d88f 10 days ago 13.8MB
3.2 config.json 配置
config.json 文件 放在 /home/wechat 下
[[email protected] wechat]# ls
config.json
{
"api_key": "sk-****",
"auto_pass": false,
"model": "text-davinci-003",
"session_timeout": 60
}
api_key:你上面申请的 Api keys
auto_pass: 是否自动通过好友验证,此处设为false
model:模型 【可参考官方文档 选择合适的模型 ,地址在底部】
session_timeout:session保存时间 秒 其实就是上下文保留时间,超过这个时间,就会自动清空上下文
3.3 启动容器
[[email protected] wechat]# docker run -dti --name wechat -v /home/wechat:/app/ cynen/wechat
ca4b9e9c3cab2a196e2a50d0ac90c34183265f69f8b8f56b5513755ef5d8480f
[[email protected] wechat]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca4b9e9c3cab cynen/wechat "wechatbot-amd64-lin…" 5 seconds ago Up 4 seconds
3.4 登录
使用 docker logs -f wechat 命令查看日志
扫描登录之后,会有以下日志输出
3.5 测试使用
4、参考
官方开发文档:http://beta.openai.com/docs/introduction
检索模型地址:http://beta.openai.com/docs/api-reference/models/retrieve