又花了半个小时将 ChatGPT 接入了钉钉机器人
前面的文章给大家介绍了如何在个人微信中使用 ChatGPT
,但是大家都知道这种操作是有风险的,所以都让大家使用小号,今天再给大家介绍一下如何在钉钉中使用机器人来调戏 AI
。
流程
- 注册钉钉开发者平台账号,并创建一个内部组织;
- 在内部组织中创建机器人;
- 注册
OpenAi
账号并获取Api Key
; - 在服务器中部署程序;
- 在内部群中调戏
AI
;
创建机器人
上面的前两步主要是为了创建一个内部组织的机器人,登录钉钉开发者后台 https://open-dev.dingtalk.com/?spm=ding_open_doc.document.0.0.7f49263crfKgSY,依次选择应用开发 > 企业内部开发 > 机器人,点击创建应用。
在这之前需要确保自己的钉钉账号已经加入了一个组织,如果没有的可以,可以自行创建一个组织。点击创建应用过后,填入相关信息
然后在开发管理菜单里面配置机器人的回调地址,也就是后面要部署代码的服务器的地址和端口,如下图所示。
这里除了直接使用服务器的 IP
之外,还可以配置具体的网址,不过这就需要有域名了,还可以配置 HTTPS
,这个根据大家的情况自行使用,当时直接使用 IP
是最简单的一种方式。不过配置域名的话也比较简单,就是申请一个域名,然后在配置一个 nginx
的反向代理,如果需要 HPPTS
的话再配置一个证书就好了。
接着在版本管理与发布菜单中发布机器人,此时会自动创建一个调试的群,后续可以直接在调试群里面进行调试机器人,在调试没有问题的情况就可以在其他内部群中添加该机器人了。
注册 OpenAi
OpenAi
由于某些原因,在国内是无法正常注册账号的,并且连网站都是无法正常访问的,详细的注册流程不在本文的讨论范围之内,感兴趣的可以在后台回复关键字【chatgpt】查看注册细节。
这里给大家演示一下注册成功后,如何获取一个 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:latest
命令执行成功过后,我们通过 docker ps
可以看到服务已经正常起来了,对应的钉钉开源项目地址,我也放到了后台,感兴趣的可以在公众号后台回复【chatgpt】自行获取。
服务部署成功了以后,我们可以本地测试一个端口是否能通,通过 telnet ip port
命令来测试,如果出现 Escape character is '^]'.
字符则表示是通的,如果链接不上,可能是服务器的端口没放行或者防火墙没开,可以依次检查一下。
调戏 AI
搭建好了机器人过后,我们就可以愉快的调戏了,阿粉这边就进行了如下的调戏,效果还是杠杠的。
最近在网上也有一些文章说这个 AI
通过了谷歌的面试,说是可以替代工程师,这一点阿粉倒是不太担心,至少短期还不会,虽然通过面试不代表能做好业务,赶超工程师的部分也只是在一些理论和八股文上面而已。
通过对 AI
的调戏可以发现,他每次回答问题,都会将上下文带过去一起训练的,这也是为什么他能比其他的机器人更能理解上下文的原因。
所以这种模式答案往往不是最关键的,最关键的是如何提一个好问题,并且顺着这个问题继续延伸下去。体现在日常生活中就像是两个人在进行对话一下,而不是简单的一问一答,毫无关联。
如果上下文中充斥着一些毫无关联的内容,就会给 AI
无形增加了很多垃圾内容,导致后续的回答可能更加毫无意义,往往看上去就显得牛头不对马嘴。
思考
对于如此强大的 AI 的出现,我们程序员要怎么避免自己被淘汰呢?让我们用魔法来打败魔法,不得不说,AI 给出来的建议还是很中肯的。
阿粉:你如何看到 ChatGPT 的出现,是否会对程序员的行业有影响?同时作为程序员我们应该如何避免被 AI 淘汰?
AI:ChatGPT 的出现可以帮助程序员更高效地开发程序,但也将给程序员带来挑战,因为许多重复的编码工作可能会被 ChatGPT 替代。
要避免被 AI 淘汰,程序员需要更加重视技术的深度,不断学习新的技术和方法,实现价值驱动的软件开发,并与 AI 合作以实现更高效的开发。此外,程序员也可以考虑拓展自己的技能,比如学习一门新的编程语言,了解新的软件开发工具等等,以期能最大化地合理利用 AI 来提高自身的能力和竞争力。
又花了半个小时将 ChatGPT 接入了钉钉机器人的更多相关文章
- 花了半个小时基于 ChatGPT 搭建了一个微信机器人
相信大家最近被 ChatGPT 刷屏了,其实在差不多一个月前就火过一次,不会那会好像只在程序员的圈子里面火起来了,并没有被大众认知到,不知道最近是因为什么又火起来了,而且这次搞的人尽皆知. 想着这么火 ...
- 半个小时教你写一个装(bi)逼(she)之地图搜租房
半个小时教你写一个装(bi)逼(she)之地图搜租房 首先需要一个Python3环境,怎么准备我就不多说了,实在不会的出门右转看一下廖雪峰老师的博客. HTML部分 代码来自:高德API+Python ...
- [转帖]我花了10个小时,写出了这篇K8S架构解析
我花了10个小时,写出了这篇K8S架构解析 https://www.toutiao.com/i6759071724785893891/ 每个微服务通过 Docker 进行发布,随着业务的发展,系统 ...
- IDEA debug启动的时候需要等半个小时甚至更长时间
debug启动的时候需要等半个小时甚至更长时间 突然有一天发现debug启动不起来了, 在debug时,项目一直会出现 Connected to the VM ,address: 其实这不是debug ...
- 把盏言欢,款款而谈,ChatGPT结合钉钉机器人(outgoing回调)打造人工智能群聊/单聊场景,基于Python3.10
就像黑火药时代里突然诞生的核弹一样,OpenAI的ChatGPT语言模型的横空出世,是人工智能技术发展史上的一个重要里程碑.这是一款无与伦比.超凡绝伦的模型,能够进行自然语言推理和对话,并且具有出色的 ...
- 0基础搭建基于OpenAI的ChatGPT钉钉聊天机器人
前言:以下文章来源于我去年写的个人公众号.最近chatgpt又开始流行,顺便把原文内容发到博客园上遛一遛. 注意事项和指引: 注册openai账号,需要有梯子进行访问,最好是欧美国家的IP,亚洲国家容 ...
- IIS 8.5配置.net网站[花了半个多小时]
1.默认安装了IIS部分功能.参考http://www.cnblogs.com/xuanhun/p/4201645.html 2.运用程序连接池, 使用集成 模式 3.运用程序连接池,设置启用32位应 ...
- java单链表反转(花了半个多小时的作品)
欢迎光临............... 首先我们要搞清楚链表是啥玩意儿?先看看定义: 讲链表之前我们先说说Java内存的分配情况:我们new对象的时候,会在java堆中为对象分配内存,当我们调用方法的 ...
- [转载]花了半个月,终于把Python库全部整理出来了,非常全面
库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable 主要用于在终端或浏览器端构 ...
- Java 得到指定时间加半个小时之后得时间
Calendar c = Calendar.getInstance(); c.setTime(cur); //设置时间 c.add(Calendar.MINUTE, 1); //日期分钟加1,Cale ...
随机推荐
- Apache ShenYu 集成 RocketMQ 实时采集海量日志的实践
本文作者:胡泰室, 快手Java开发工程师. 认识Apache ShenYu(神禹) 网关最重要的是流量治理,而流量治理与大禹治水有很多相似的地方,因此,网关的流量治理项目被命名为神禹. Shen ...
- Go语言核心36讲24
你好,我是郝林,今天我们继续来聊聊panic函数.recover函数以及defer语句的内容. 我在前一篇文章提到过这样一个说法,panic之中可以包含一个值,用于简要解释引发此panic的原因. 如 ...
- KubeEdge快速上手与社区贡献实践
1.KubeEdge的架构特点与优势 持久化 云端组件,EdgeController,设备抽象API,CSI Driver,Admission WebHook 边缘组件,EdgeHub,MetaMan ...
- Day20:继承详解
继承的理解 继承:对类进行抽象化:也就是将存在的类构造成新的类: 比如说学生是一个类,老师是一个类,那么我们可以将学生类和老师类收纳进人这个类:那么学生和老师则为子类(派生类).人为父类(基类):子类 ...
- php中的try语句
为了进一步处理异常,我们需要使用try-catch语句----包括Try语句和至少一个的catch语句.任何调用 可能抛出异常的方法的代码都应该使用try语句.Catch语句用来处理可能抛出的异常.以 ...
- Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
参考在线markdown编辑器: http://marxi.co/ Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题) 目前希望可以升级将Zookeeper中lo ...
- 【每日一题】【将cur的next尾插到pre后面,尾插k-1次】25. K 个一组翻转链表-211115&220120
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 进阶: 你可以设 ...
- OpenAI 推出超神 ChatGPT 注册教程来了
前几天,OpenAI 推出超神 ChatGPT,非常火爆.但是呢,因为不可抗力原因,大部分人无法体验到.这里我分享一下注册的攻略. 准备 首先能能访问 Google(前置条件,不能明确说,懂得都懂) ...
- 使用sanic框架实现分布式爬虫
bee_server.py from sanic import Sanic from sanic import response from urlpool import UrlPool #初始化url ...
- Java/JDK各版本主要特性汇总
目录 Java18(2022.3) Java17(2021.9)(LTS版本) Java16(2021.3) Java15(2020.9) Java14(2020.3) Java13(2019.9) ...