今天给大家介绍一下如何在钉钉中使用机器人来调戏 AI:ChatGPT 。
流程
注册钉钉开发者平台账号,并创建一个内部组织;
在内部组织中创建机器人;
注册 OpenAi 账号并获取 Api Key;
在服务器中部署程序;
在内部群中调戏 AI;
创建机器人
上面的前两步主要是为了创建一个内部组织的机器人,
登录钉钉开发者后台 https://open-dev.dingtalk.com/?spm=ding_open_doc.document.0.0.7f49263crfKgSY,
依次选择应用开发 > 企业内部开发 > 机器人,点击创建应用。
在这之前需要确保自己的钉钉账号已经加入了一个组织,如果没有的可以,可以自行创建一个组织。
点击创建应用过后,填入相关信息
然后在开发管理菜单里面配置机器人的回调地址,也就是后面要部署代码的服务器的地址和端口,如下图所示。
这里除了直接使用服务器的 IP 之外,还可以配置具体的域名,不过这就需要有域名了,
还可以配置 HTTPS,这个根据大家的情况自行使用,当时直接使用 IP 是最简单的一种方式。
不过配置域名的话也比较简单,就是申请一个域名,然后在配置一个 nginx 的反向代理,
如果需要 HPPTS 的话再配置一个证书就好了。接着在版本管理与发布菜单中发布机器人,
此时会自动创建一个调试的群,后续可以直接在调试群里面进行调试机器人,
在调试没有问题的情况就可以在其他内部群中添加该机器人了。
注册 OpenAi
OpenAi 由于某些原因,在国内是无法正常注册账号的,并且连网站都是无法正常访问的,
详细的注册流程不在本文的讨论范围之内。这里给大家演示一下注册成功后,
如何获取一个 API key,当我们注册成功并且登录以后,
可以在链接 https://platform.openai.com/account/api-keys,
在页面上点击 Create new Secret key 即可生成一个 API key,复制 API key存放起来,后续备用。
部署服务
部署服务还是跟之前一样简单,我们还是通过 docker 来进行部署,一行命令就可以搞定,
这里可以配置自定义的端口和上面获取到的 API Key,
以及相应的超时时间和 Session 情况指令。
docker run -itd --name chatgpt -p 9999:9999 \ -e APIKEY=你的 API key \ -e SESSIONTIMEOUT=60s \ -e MODEL=text-davinci-003 \ -e MAX_TOKENS=512 \ -e TEMPREATURE=0.9 \ -e SESSION_CLEAR_TOKEN=清空会话 \ --rm \ docker.mirrors.sjtug.sjtu.edu.cn/eryajf/chatgpt-dingtalk:latest1.2.3.4.5.6.7.8.9.
命令执行成功过后,我们通过 docker ps 可以看到服务已经正常起来了。
服务部署成功了以后,我们可以本地测试一个端口是否能通,通过 telnet ip port 命令来测试,
如果出现 Escape character is '^]'. 字符则表示是通的,如果链接不上,
可能是服务器的端口没放行或者防火墙没开,可以依次检查一下。
调戏 AI
搭建好了机器人过后,我们就可以愉快的调戏了,阿粉这边就进行了如下的调戏,效果还是杠杠的。
最近在网上也有一些文章说这个 AI 通过了谷歌的面试,说是可以替代工程师,
这一点阿粉倒是不太担心,至少短期还不会,
虽然通过面试但并不代表能做好业务,赶超工程师的部分也只是在一些理论和八股文上面而已。
通过对 AI 的调戏可以发现,他每次回答问题,都会将上下文带过去一起训练的,
这也是为什么他能比其他的机器人更能理解上下文的原因。
所以这种模式答案往往不是最关键的,最关键的是如何提一个好问题,
并且顺着这个问题继续延伸下去。体现在日常生活中就像是两个人在进行对话一下,
而不是简单的一问一答,毫无关联。如果上下文中充斥着一些毫无关联的内容,
就会给 AI 无形增加了很多垃圾内容,导致后续的回答可能更加毫无意义,
往往看上去就显得牛头不对马嘴。
思考
对于如此强大的 AI 的出现,我们程序员要怎么避免自己被淘汰呢?让我们用魔法来打败魔法,
不得不说,AI 给出来的建议还是很中肯的。
阿粉:你如何看待 ChatGPT 的出现,是否会对程序员的行业有影响?
同时作为程序员我们应该如何避免被 AI 淘汰?
AI:ChatGPT 的出现可以帮助程序员更高效地开发程序,但也将给程序员带来挑战,
因为许多重复的编码工作可能会被 ChatGPT 替代。
要避免被 AI 淘汰,程序员需要更加重视技术的深度,不断学习新的技术和方法,
实现价值驱动的软件开发,并与 AI 合作以实现更高效的开发。
此外,程序员也可以考虑拓展自己的技能,比如学习一门新的编程语言,
了解新的软件开发工具等等,以期能最大化地合理利用 AI 来提高自身的能力和竞争力。