又花了半个小时将 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 ...
随机推荐
- Kubernetes核心技术-Controller
Kubernetes核心技术-Controller 内容 什么是Controller Pod和Controller的关系 Deployment控制器应用场景Deployment控制器应用 yaml文件 ...
- PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)
最近在调试一款Phy的驱动,从没有任何头绪到略有了解经历了太多的痛苦,于是决定写这个系列篇记录一下.特别感谢无数优秀的博主无私奉献很多优秀的博文给予了我很大的帮助.在这个系列篇中,我也会转载部分优秀的 ...
- MySQL数据库:6、约束的概述及语法
Python基础之MySQL数据库 目录 Python基础之MySQL数据库 一.约束概述 1.为什么要约束 2.什么是约束 3.约束的分类 4.查看当前表已有的约束 二.约束语法及用法 1.无符号 ...
- 关于python统计一个列表中每个元素出现的频率
第一种写法: a = ['h','h','e','a','a'] result = {} for i in a: if i not in result: result[i] = 1 else: res ...
- DLR 的扩展库 Dynamitey
.NET 在 CLR 对动态语言或者脚本语言的支持是通过DLR 完成的, Miguel de Icaza对 DLR 的特点概括如下: 一个针对动态语言的共享式类型系统: 一个共享的 AST,可以被语言 ...
- C# Math 中的常用的数学运算
〇.动态库 System.Math.dll 引入动态库 using System.Math; Math 为通用数学函数.对数函数.三角函数等提供常数和静态方法,使用起来非常方便,下边简单列一下常用 ...
- js-day05-对象
为什么要学习对象 没有对象时,保存网站用户信息时不方便,很难区别 对象是什么 1.对象是一种数据类型 2.无序的数据集合 对象有什么特点 1.无序的数据的集合 2.可以详细的描述某个事物' 对象使用 ...
- gtest学习教程(从0到1)
gtest使用教程 1 简介 之前对gtest一无所知,最近,找了些相关的资料,学习了下.这里主要记录了学习过程和相关知识点. 什么是gtest: gtest测试框架是在不同平台上(Linux,Mac ...
- ORM增删改查 django请求生命周期图 django路由层及反向解析
目录 可视化界面之数据增删改查 1.建表 2.数据展示功能 3.数据添加功能 4.数据编辑功能 5.数据删除功能 django请求生命周期流程图 django路由层 1.路由匹配 2.转换器功能 pa ...
- docker 第一课
centos安装docker yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ...