查看原文
其他

AI开发者大会中的公开课摘要解读——DuerOS技能开发与CFC编程

沈迦勒&老曹 喔家ArchiSelf 2021-08-09

在百度2019AI开发者大会上有很多相对精彩的公开课,DuerOS相关的公开课有4场,分别是:

  • DuerOS技能开发与CFC编程

  • 如何在DuerOS技能中实现用户支付购买

  • 面向多方式交互模型的DPL应用

  • 故事引擎在DuerOS技能开发中的应用


由于百度云的沈工离开会场较早,很遗憾未能和所有讲师合影。


接下来,老码农会对每一个话题的内容进行摘要解读,希望没有能够到现场的朋友可以了解一下这四场公开课的内容。


作为热场的开始,老码农的主题是——

对技能而言,尝试给出一个相对清晰一点的定义,技能是指互联网/移动互联网服务在人工智能交互设备上的应用。以对话式人工智能设备为例,如果用户和设备说,“今天天气怎么样”, 设备回答,“今天多云,温度xxx,...”, 后台的服务可以理解用户的这个问讯,并给出相应的解答, 则天气服务即为一个技能,用以区分App,应用或者服务。

就系统的形态进行类比,如果Android操作系统的设备是手机,服务是App的话,那么DuerOS系统的设备就是智能语音交互设备,服务就是各种各样的技能, 而skillstore相对于安卓的应用商店。


就开发形态而言,可以把 DuerOS和智能语音设备看作浏览器,技能服务和web服务并无本质区别,只是原来的键盘语音输入变成了语音交互而已。


那么技能是如果开发实现的呢?

技能建立在 DuerOS的开放平台DBP(DuerOS Bot Platform)之上,开发者只需要使用BOT-SDK和相关工具,就可以在基于DuerOS的设备上开发出丰富多彩的应用。


这是多次引用的一张业务请求的流程示例——

DBP的详细介绍可以参考面向接口/协议?看DuerOS的技能开发。其中从DuerOS平台发向技能服务请求(4)中的消息包含以下主要的事件——

而从技能回复DuerOS平台响应中的消息则包含以下重要的指令——

 这些都是基于HTTP/HTTPS的请求和响应,技能的开发与web服务的开发没有本质区别。


DuerOS 平台在不断地演进提高,相应地,为技能服务的开发带来了很多新特性。

本次的升级为DuerOS中的对话指令增加了2条新指令——SelectSlot 和SelectIntent。SelectSlot 针对某个槽位返回一系列的选项供用户选择,而SelectIntent返回一系列的选项供用户选择,这些选项对应不同的意图,详见https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-custom/dialog-directive_markdown


数据的持久化一般是各种技能的必备环境,DuerOS 如今不仅提高了面向对话的Key/Value存储,还提供了面向整个技能服务的Key/Value存储——响应中的Storage。


为了提升对话过程的中NLU效果,开发者可以在技能响应的时候填充ExpectResponse,这样会是技能服务的NLU效果有较大的提升。


对于技能需要持续播放的场景,现在可以通过流式响应实现,整个过程更加轻便可控。

例如,一个技能要播报一段TTS,在播放一段音乐,然后在播报TTS,最后等候用户闻讯, stream response的方式就方便了很多。


最重要的是, 伴随DBP 平台的升级,提供了两个重要的工具——


关于DPL 和 故事引擎(故事工厂)将在后续的文字中进行介绍。


重中之重,DBP 对开发者非常友好,开发者可以零成本完成DuerOS的技能实现。

不论是存储空间还是云资源,开发者都可以在很大程度上免费使用,尤其是CFC几乎成为了个人开发者的首选,那么什么是CFC以及如何在CFC上开发DuerOS 技能呢? 沈工登场——



CFC 是函数计算,是FaaS 在百度云上的产品实现,就是原来经常提到无服务架构(Serveless Architect)的一种具体实现,通过事件驱动完成云计算资源的弹性伸缩。


基于FaaS 的 CFC 有着诸多的优点——简单易用,高效地开发并运行、稳定可靠、成本较低等等。


下图给出了CFC 在使用复杂度、部署耗时、伸缩能力、稳定程度和使用成本五个方面CFC与传统架构的对比——


CFC 充分地利用了百度云的各种资源,但开发者几乎可以无感知,一般地,只需要关注自己的业务逻辑就可以了。

对于DuerOS 的开发者而言,截止到2019年6月,基于CFC的技能上线数量已经接近了所有上线技能的1/3。



沈工在公开课上通过视频形式演示了基于CFC的DuerOS 技能开发过程——


详细地介绍了几个开发案例,例如视频播放和猜数游戏——


CFC 作为开发DuerOS技能的基础环境之一同样在不断的进步和提升,沈工在最后给出了CFC在下一阶段的产品路线图——


以上是DuerOS技能开发和CFC编程公开课的内容概要,详细信息和完整PPT 可以关注 dueros.baidu.com/dbp 官网和DuerOS 开发者公众号以及各种开发者社群。


关联阅读:


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存