又花了半个小时将 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 ...
随机推荐
- 如何在JavaScript中使用for循环
前言 循环允许我们通过循环数组或对象中的项并做一些事情,比如说打印它们,修改它们,或执行其他类型的任务或动作.JavaScript有各种各样的循环,for循环允许我们对一个集合(如数组)进行迭代. 在 ...
- Go实现常用软件设计模式二:工厂模式
目录: 举个栗子 概念介绍 使用场景 1.举个栗子 类图 ``` @startuml'https://plantuml.com/class-diagramclass Elephant { String ...
- DHorse系列文章之镜像制作
DHorse系列文章之镜像制作 制作镜像常用的工具 使用Docker制作镜像 1.使用docker commit制作 该命令使用比较简单,可以自行网上搜索教程. 2.使用Dockerfile制作 这种 ...
- 【Devexpress】gridcontorl实现复制多个单元格
1.设置复制的时候不复制标题在OptionsClipboard.CopyColumnHeaders=false 2.设置选择的方式为按照单元格选择,以及可以多选 OptionsSelection.Mu ...
- devexpress 中advBandedGridView内容自动换行和调整自适应行高
首先是自动换行,可以创建一个repositoryItemMemoEdit 并绑定到需要换行的列中 再设置一下repositoryItemMemoEdit高度自适应,这样子就完成了自动换行了 repos ...
- JUC-学习笔记
传统的多线程开发方式 implements Runnable public class oldThreadDev implements Runnable { @Override public void ...
- js this获取元素ID
<table id="cyyj_table" class="table01" cellpadding="5" cellspacing= ...
- ArcObjects SDK开发 003 宏观角度看ArcObjects SDK
1.为什么要宏观上看ArcObjects SDK ArcObjects SDK库是一个非常庞大复杂COM组件集合,ArcGIS10.0有1000多个枚举.90多个结构体.5000多个接口以及4000多 ...
- 把盏言欢,款款而谈,ChatGPT结合钉钉机器人(outgoing回调)打造人工智能群聊/单聊场景,基于Python3.10
就像黑火药时代里突然诞生的核弹一样,OpenAI的ChatGPT语言模型的横空出世,是人工智能技术发展史上的一个重要里程碑.这是一款无与伦比.超凡绝伦的模型,能够进行自然语言推理和对话,并且具有出色的 ...
- docker 第二课
构建nginx镜像 Dockerfile 指令: FROM centos:7.9.2009 #在整个dockfile文件中除了注释之外的第一行,要是FROM ,FROM 指令当前镜像的用于指定父镜像( ...