如何用HaaS云服务做一款聊天机器人

简介: 如何用HaaS云服务做一款聊天机器人

1、前言

近期积木式开发平台HaaS云服务上线了:https://haas.iot.aliyun.com/micro-server/my-instance

首发支持微服务的积木式开发。下面来介绍下,如何使用HaaS云服务借助钉钉来搭建一个简单的聊天机器人程序

2、创建工程

登陆 https://haas.iot.aliyun.com/micro-server/my-instance 后,开通服务,即可进入微服务工作台。

从这边导航栏,我的实例开始,直接申请实例

之后点击实例后面的“打开”键,即可进入积木式开发界面

界面如上图所示,最中央占地最大的是画布,也是工作台。

画布左侧的一组组小方块是一个个小的功能节点,简单来说:开发时,就是把左边的方块一个个拖到画布上,再串联起来,即可完成功能逻辑的开发。

画布上方的TAB是小的功能组合,当前已经有三个默认的TAB。

开发聊天机器人,用不到默认的这三个工程,双击TAB名字即可弹出如下界面,可以直接删除或禁用

最后还有右上角的“部署”按钮和下面的虫子图标代表的调试栏,是后面会经常使用的,记住这两个按键即可。下面正式进入积木式开发

3、开发过程

3.1、创建入口

  • 点击TAB栏的空白处,或TAB栏右边的+号,即可新建一个TAB,然后分别拖一个http in 和http out到新TAB的画布上

  • 双击http in节点,改变请求方式为POST,并且添加一个url路径,这里我们填"/post"

此时,其实已经获得了一个可以接受钉钉机器人消息的http入口,完整的url就是当前页面的域名+http in节点的路径,也就是http://463.****.alicontainer.com/post

3.2、配置钉钉机器人

这时,可以去配置钉钉机器人了

  • 在钉钉上创建一个群组,并进入群设置->智能群助手->添加机器人->自定义

  • 给机器人取个名字,并配置关键词(关键词后面会用到),勾选同意后就可以完成了

  • 在下一个界面中,会展现出一个webhook地址,把这个地址拷贝下来,后面有可能会用到。

  • 打开outgoing,这个post地址,就填写上面HaaS云服务生成的地址:http://463.****.com/post

OK,再次回到HaaS云服务的积木式开发界面

3.3、调试看看钉钉会发来什么

拖一个debug节点到上面,和http in节点连接起来,然后直接点击部署,并且点击调试按键,进入调试窗口。

在钉钉上@机器人,看看会输出什么

可以看到,调试窗口已经打印出了@机器人 后面的文字“你好”,除此之外还把完整的http消息内容打印了出来(全都在msg.payload中)可以通过一个“function”节点,通过几行代码提取出最需要的文字。

3.4、提取内容

找到“function”节点,拖到http in节点后面,连接好,并且双击,写这么几句js代码


  1. var content = msg.payload.text.content.trim() //提取内容
  2. node.warn(content) //打印
  3. msg.payload = content //把原始内容覆盖掉
  4. return msg; //传递向下一个节点

此时这个function节点的输出就是在钉钉上输入的词语“你好”了.

3.5、调用聊天机器人API

再拖一个function节点到后面,在这个节点里,会通过代码调用一个免费的聊天机器人API"青云客",获取机器人的输出,并且通过node.send(msg)传递向下一个节点。


 
  1. const require = global.get( 'requirejs');
  2. const request = require( 'request');
  3. function processGETRequest(content) {
  4. var url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg=';
  5. url = url + encodeURIComponent(content);
  6. var options = {
  7. url: url,
  8. method: 'GET',
  9. encoding: null
  10. };
  11. request(options, function (error, response, body) {
  12. var resContent = ""+body
  13. if (error != null) {
  14. node.warn(error);
  15. }
  16. else {
  17. msg.response= JSON.parse(resContent).content;
  18. node.warn(msg.response);
  19. node.send(msg);
  20. }
  21. });
  22. }
  23. processGETRequest(msg.payload)

3.6、回复钉钉

再拖出第三个“function”节点,在这个节点里,会按钉钉的消息模板,组装出响应消息,代码如下:


  
  1. msg.payload={
  2. "msgtype": "text",
  3. "text": {
  4. //9527是我的机器人的关键词
  5. "content": "9527: " + msg.response
  6. },
  7. }
  8. return msg;

最后连接上开始时的http out节点,就大功告成了

在钉钉上试一下:

4、后记

有人可能会问,这个看起来也不简单啊,还需要自己写这么多代码,怎么算是积木式开发呢?

别急,可以先这么做:选择聊天机器人的节点后,点击右上角的菜单栏,将选择部分更改为子流程。

这样,这个节点就不再单纯的是一个function节点,而是被包装成了一个“聊天机器人”的积木节点

后续HaaS云服务会很快开放这种自定义功能节点的共享和下载功能。也就是说:封装的这些积木节点,可以开放给HaaS云服务的所有用户使用,也可以自由使用其他人封装的节点,做到人人为我,我为人人。

当前公测阶段,HaaS云服务会开放集成开源node-red的丰富积木节点,同时也希望志同道合者针对IoT场景贡献更多的“积木”节点,一起完善IoT生态,让后台服务的开发不再复杂。

开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
1月前
|
人工智能 自然语言处理 搜索推荐
【通义】AI视界|微软Copilot Studio推出新功能,帮助企业更便捷地构建和部署AI代理
本文介绍了近期科技领域的五大重要动态:马斯克旗下xAI发布首个API,苹果内部研究显示ChatGPT比Siri准确率高25%,微软Copilot Studio推出新功能,霍尼韦尔与谷歌合作引入Gemini AI,浑水创始人建议买入科技七巨头股票。更多资讯请访问【通义】。
|
2月前
|
存储 人工智能 自然语言处理
新手指南:微软ai助手Copilot国内如何使用?
微软 Copilot 是一款强大的 AI 助手,掌握一些技巧可以让你更好地利用它,提高效率和创造力,让你的工作和生活更加精彩!
|
3月前
|
存储 人工智能 自然语言处理
无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
【8月更文挑战第8天】无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
无缝融入,即刻智能[二]:Dify-LLM平台(聊天智能助手、AI工作流)快速使用指南,42K+星标见证专属智能方案
|
6月前
|
人工智能 搜索推荐 机器人
Rasa: 帮助企业更快搭建“AI对话助手”的低代码平台
【2月更文挑战第24天】Rasa: 帮助企业更快搭建“AI对话助手”的低代码平台
200 2
Rasa: 帮助企业更快搭建“AI对话助手”的低代码平台
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
利用 Coze 搭建专属 AI 厨师助手
利用 Coze 搭建专属 AI 厨师助手
91 5
|
3月前
|
Web App开发 人工智能 iOS开发
灵办AI助手Chrome插件全面评测:PC Web端的智能办公利器
《灵办AI助手:Mac OS下的高效办公利器》 灵办AI助手是一款专为提升工作效率而设计的浏览器插件,适用于Chrome、Edge等主流浏览器,在Mac OS系统中表现尤其出众。本文将深入评测其核心功能,包括网页翻译、AI对话、AI阅读及代码辅助等,展示如何在实际工作中运用这些功能来提升效率。此外,文中还提供了详细的安装与设置指南,帮助读者轻松上手这款办公神器。无论你是学生、职场人还是开发者,灵办AI助手都能成为你提高生产力的理想选择。
124 0
|
3月前
|
人工智能 机器人 数据库
字节推出「Coze扣子」AI Bot 开发平台,无需编程,让 Chatbot 搭建更快捷、低门槛!
字节推出「Coze扣子」AI Bot 开发平台,无需编程,让 Chatbot 搭建更快捷、低门槛!
119 0
|
5月前
|
人工智能 自然语言处理 机器人
[AI Google] 新的生成媒体模型和工具,专为创作者设计和构建
探索谷歌最新的生成媒体模型:用于高分辨率视频生成的 Veo 和用于卓越文本生成图像能力的 Imagen 3。还可以了解使用 Music AI Sandbox 创作的新演示录音。
[AI Google] 新的生成媒体模型和工具,专为创作者设计和构建
|
6月前
|
人工智能 搜索推荐 开发者
AI编程助手探索之旅:Amazon CodeWhisperer 提高编程效率的利器
AI编程助手探索之旅:Amazon CodeWhisperer 提高编程效率的利器
89 1
AI编程助手探索之旅:Amazon CodeWhisperer 提高编程效率的利器
|
人工智能 JSON API
HarmonyOS学习路之开发篇—AI功能开发(语音识别)
语音识别功能提供面向移动终端的语音识别能力。它基于华为智慧引擎(HUAWEI HiAI Engine)中的语音识别引擎,向开发者提供人工智能应用层API。该技术可以将语音文件、实时语音数据流转换为汉字序列,准确率达到90%以上(本地识别95%)。
下一篇
无影云桌面