2

ChatGPT 机器人系列 - 用 JavaScript 五分钟开发一个飞书 ChatGPT 机器人

 1 year ago
source link: https://wuxinhua.com/posts/Using-AirCode-building-Feishu-ChatGPT-bot/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
@0xinhua 发布于 2023年04月07日

原文链接:https://aircode.cool/q4y1msdim4

本文帮助你快速实现一个飞书对话机器人,并在其中接入 ChatGPT 的能力,可以直接问它问题,也可以在群聊天中 at 它,返回 ChatGPT 的回答。(以下为效果截图)

1-demo.png

通过本文你将学会

  1. 创建飞书机器人,并配置事件和权限
  2. 使用 AirCode 的「一键 Copy 代码」功能,实现机器人的聊天能力
  3. 将机器人接入 ChatGPT 能力

第一步:创建飞书机器人

  1. 飞书开发者后台中创建一个应用,并且添加机器人能力。
2-create-bot.png
3-create-bot.png
4-create-bot.png
  1. 创建好的机器人就有 App ID 和 App Secret,可以复制备用。
5-create-bot.png

第二步:创建 AirCode 应用

  1. 通过 AirCode 源码链接中右上角的「Get a copy」按钮快速生成一个自己的 AirCode Node.js 应用。 注意不要直接复制代码,如果是直接复制纯代码粘贴过去,需要再手工安装 NPM 依赖包。 如果没有登录,需先登录 AirCode。
6-get-copy.png
7-sigin-aircode.png
8-create-aircode-app.png
  1. 飞书开发者后台中刚创建应用的「凭证与基础信息」页面中的 App ID 和 App Secret,粘贴到刚创建的 AirCode 应用的环境变量(Environments)中,在 feishuAppId 和 feishuAppSecret 中分别填入粘贴过来的机器人 App ID 和 App Secret 的值。
9-copy-env.png
  1. 配置好环境变量(Environments)后,点击页面上方的「Deploy 按钮」部署整个应用,使所有配置生效。
10-deploy-aircode.png

第三步:配置机器人的事件和权限

  1. AirCode 应用部署成功后,选择调用文件 chat.js,你就能看到当前服务的调用 URL,将它复制,填到飞书开发者后台刚刚创建机器人的「事件订阅-请求地址」中。
11-copy-webhook.png
12-bot-setting.png
  1. 点击保存时,如果失败,可以将 AirCode 应用再次部署。
13-bot-setting.png
  1. 给机器人添加聊天相关的事件:
    • 获取用户在群组中@机器人的消息
    • 接收群聊中@机器人消息事件
    • 获取用户发给机器人的单聊消息
14-add-bot-event.png
15-bot-permission.png
16-bot-permission.png
  1. 配置好了之后,需要发布机器人才能生效,并且能够搜索到。 注意如果想加到群中让更多人看到,在发布机器人时需要选择更大的「可见范围」。
17-publish-bot.png

第四步:测试聊天机器人

  1. 将机器人发布后,可在聊天窗口中与机器人私聊,或者将机器人加入到群中 at 机器人聊天,此时机器人可以对话。由于还没有配置 ChatGPT 能力,所以机器人会直接将你的消息返回,这时表示机器人已经配置成功。
18-demo-chat-bot.png
  1. 可以在 AirCode 中查看完整的请求数据,并且使用线上 request 调试代码。
19-demo-debug.png

第五步:接入 ChatGPT 能力

  1. OpenAI 的控制台中,点「Create new secret key」生成并且复制这个新生成的 Key,粘贴到刚创建的 AirCode 应用的环境变量(Environments)中,粘贴到 OpenAISecret 的 value 中。如果没有 OpenAI 账号,可以到网络中搜索一下获取方式,提前购买准备好。
20-openAI.png
21-copy-env.png
  1. 再次部署服务,后测试。目前 ChatGPT 服务比较慢,尤其是模型版本越高级、问题越复杂,ChatGPT 服务的返回时间会越长。
22-demo-chatGPT-bot.png
  1. 可以加入我们的飞书用户群
  2. 来到我们的 GitHub 仓库,可以提 issue 或者直接贡献代码
  3. 欢迎加入我们的 Discord 讨论区

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK