Menu Close

钉钉接入ChatGPT机器人

现在openAI chatgpt很火爆,作为运维这边是介绍将chatgpt接入到钉钉应用里面,想到是否可以帮助公司员工自助解决一些问题,也测试下chatgpt是否是有这么智能,实现的效果是如下图。

流程:

1、注册钉钉开发者平台账号,并创建一个内部组织;

2、在内部组织中创建机器人;

3、注册创建 AirCode 应用

4、注册 OpenAi账号并获取chatgpt Api Key;

5、在服务器中部署程序;

6、将机器人接入 ChatGPT,实现智能对话

第一步:创建钉钉机器人

1、进入钉钉开发者后台,选择应用开发 > 企业内部开发,点击创建应用按钮,在弹出的对话框中输入名称、简介等信息,完成应用创建。

  • 在创建好的应用页面中,点击左侧菜单的应用功能 > 消息推送,并打开机器人配置。

3、在机器人配置的表单中,依次填入机器人名称、机器人图标、机器人简介、机器人描述和机器人消息预览图,并点击发布按钮完成发布。

注意:由于钉钉的安全策略,机器人名称中不要包含「ChatGPT」关键字,否则后续无法正常调用。

4、发布成功后,进入基础信息 > 应用信息,可以看到 AppKey 和 AppSecret,点击复制备用。

第二步:创建 AirCode 应用

  1. 通过 AirCode 源码链接中右上角的「Get a copy」按钮快速生成一个自己的 AirCode Node.js 应用。 注意不要直接复制代码,如果是直接复制纯代码粘贴过去,需要再手工安装 NPM 依赖包。 如果没有登录,需先登录 AirCode。推荐使用 GitHub 登录,会快一些。

2、在弹出的对话框中,输入应用名称,并点击 Create 完成创建。

3、将钉钉开发者后台中机器人的 AppKey 和 AppSecret,粘贴到 AirCode 应用的环境变量(Environments)中。在 DING_APP_KEY 的 value 中填入 AppKey,在 DING_APP_SECRET 的 value 中填入 AppSecret。

4、点击顶部的 Deploy 按钮,部署整个应用,使配置生效。

第三步:配置机器人接口和权限

  1. 部署成功后,选择调用文件 chat.js,可以在编辑器函数名称下看到调用 URL,点击复制 URL。
  • 进入钉钉开发者后台中刚刚创建的机器人页面,在应用功能 > 消息推送中,将调用 URL 填写到消息接收地址项,并点击发布。
  • 进入基础信息 > 权限管理,在搜索框中输入「企业内机器人发送消息权限」,会看到列表中找到了对应的权限,点击右侧的申请权限按钮,完成权限配置。

第四步:测试聊天机器人

1、完成配置后,在钉钉的聊天窗口中可以搜到机器人进行私聊,或者将机器人加入到群中 at 机器人聊天。此时机器人已经可以对话了,但由于还没有配置 ChatGPT 能力,所以机器人会回复告知需要配置 OPENAI_KEY。

提示:如果你的机器人返回了类似于「系统正在维护,无法使用 @ 能力」的回复,说明你的机器人名称或简介中包含了「ChatGPT」关键字,被钉钉屏蔽了,更改一下名称或简介后,重新发布即可。

2、在 AirCode 中选中 chat.js 函数,并点击右侧 Debug 标签下的 Mock by online request 按钮,在弹出对话框中可以看到刚才收到的请求,点击 Use this to debug 则可以使用线上真实的请求数据来调试。

第五步:接入 ChatGPT 能力

  1. 登录到你的 OpenAI 控制台中(如果还没有账号,需要注册一个),进入 API Keys 页面,点击 Create new secret key 创建一个密钥。

注意:这是最难的一步你必须得有梯子才可以访问 OpenAI 控制台,注册OpenAI 控制台账号必须用国外的邮箱才可以,目前是谷歌和微软的邮箱,在注册账号时还必须有国外的手机号认证验证(可以解决但很麻烦),如果没有那对不起你无法注册openAI的账号,这些都注册好以后,你才可以在API Keys页面创建一个免费密钥,过期后可再重新申请,据说6月1日后会收费,目前的模型是Chat GPT -3.5 后面是基于Chat GPT -4.0

在弹出的对话框中,点击复制图标,将这个 API Key 复制并保存下来。注意:正确的 API Key 都是以 sk- 开头的字符串。

2、在弹出的对话框中,点击复制图标,将这个 API Key 复制并保存下来。注意:正确的 API Key 都是以 sk- 开头的字符串。

3、进入刚才创建好的 AirCode 应用中,在 Environments 标签页,将复制的 API Key 的值填入 OPENAI_KEY 这一项的 value 中。

  • 再次点击 Deploy 部署应用后,可以在钉钉中测试。目前 ChatGPT 服务比较慢,尤其是模型版本越高级、问题越复杂,ChatGPT 服务的返回时间会越长。

发表回复