学习技能平台的一些心得和问题
双子yu2014 发布于2018-07-11 17:29 浏览:713 回复:3
0
收藏
 

     写在前面的一些话,dueros提供给了普通开发者一个机会可以更加近距离的接触ai设备,然而却没有给予好的使用体验和好的生态环境,这对于dueros的初学者确实是一个不小的障碍,对于一个刚接触dueros两天的开发者来说,dueros的文档、示例、调试等都没有提供好的引导方式让开发者快速适应,遇到问题后只能靠开发者自己不断的尝试和在论坛求助来解决问题,在论坛求助,不外乎期待两种回复,一个是官方自己的回复,另外一个是先行者和成熟开发者的回复,就目前来看两者都是缺失的。

 

    本人刚接触dueros两天,能学到的东西是非常有限的,拿出来和大家共享一下,还是希望dueros能真正发展和流行起来吧,只有这样,在dueros这个系统上付出的学习成本才是有意义的。写的不对的地方还请大家指正,只有这样才能一起进步吧。

 

    首先本人是基于node-js的SDK来开发技能的,主要参考的文档是https://dueros.baidu.com/didp/doc/dueros-bot-platform/Introduction_markdown和nodejs sdk,链接是https://github.com/dueros/bot-sdk-node.js,示例也是采用github中的示例。

    dueros的对话很像是浏览器做为客户端和服务端的一次对话

     客户端上运行着dueros系统,也就是指设备本身,包括小度之家或者小度音响或者个人套件等。模拟环境下应该是浏览器实现了dueros的部分功能做为客户端,当然你也可以直接用postman来模拟客户端请求,这样就等于直接构建请求了,缺少了输入和执行指令部分。

     客户端会把用户行为翻译为文字,利用开发者对技能定义的一些规则(意图、字典等)来构造请求,目前的请求类型主要包括启动技能、意图、关闭技能、系统事件等主要几种类型。

    请求构建完毕后会通过http的方式发送到服务端,由服务端根据业务逻辑返回响应,客户端的系统再根据响应来执行语音或者视频指令

    服务端主要是基于dueros定义的交互协议本身对协议做了一层封装,本质就是提供响应和数据给客户端供客户端执行使用,目前服务端主要基于php、python、java、js等做了封装。

    服务端可以以web服务的方式存在,也可以以百度云cfc函数的方式存在,无论是哪种方式,最终会把请求分发给开发者实现的Bot类,Bot类本身主要是实现一个个的针对请求的响应逻辑。

 

   下面我以具体的例子说一下我遇到的问题,我想开发的是一个视频播放类的技能,其中会用到有屏技能,由于暂时没有硬件设备,所以主要是使用模拟器进行调试的,现在视频可以语音控制播放和暂停,但是模拟客户端开始播放和暂停后,却不会把相应的事件通知到技能中,经过长时间的研究后发现存在两个可能性,一个是模拟客户端(浏览器)本身没有实现事件通知(但是语音比视频好一点,语音可以接收到视频开始播放的事件),所以不支持。另外一个可能是我用法不对,然而我认为第一个的可能性更大,论坛求助也没有反馈,目前只能是暂且搁置技能开发。

收藏
点赞
0
个赞
共3条回复 最后由易伟回复于2018-07-20 13:07
#2DuerOS-河狸回复于2018-07-11

您好,感谢您对DuerOS的关注与支持

感谢您的使用心得和其中提到的问题,我们会积极响应并处理。论坛的问题每天都会整理出来分发给技术和产品团队,还请您耐心等待,我们会继续努力加油的哦~

祝您开发愉快!

了解最新资讯,请关注微信公众账号:度客俱乐部

参与同行探讨,马上加入QQ交流群:151767001

更多资源获取

常见问题答疑:https://dueros.baidu.com/forum/topic/show/248181

技术文档指南:https://dueros.baidu.com/didp/doc/index

技术视频教程:https://dueros.baidu.com/didp/news/technicalclass

如有商务合作,请发送邮件至邮箱dueros-bd@baidu.com与我们联系。

0
#3双子yu2014回复于2018-07-13

我自己回复吧,应该是模拟平台有问题,真机调试可以收到事件

0
#4易伟回复于2018-07-20

好贴,主要是官方文档太差,视频也是旧的,cfc函数没有

0
TOP