DuerOS与UNIT的api资源连通
卡农LLLL 发布于2017-11-20 14:49 浏览:11509 回复:24
6
收藏

 

由于UNIT没有一个好的信源输出,DuerOS的信源很丰富.所以一直想使用DuerOS的信源,用UNIT的语义解析.

现在UNIT提供了资源api的功能.可以完美实现从DuerOS直接调用UNIT的解析.现在记录一下接入的步骤.

资源API的详细文档参考 http://ai.baidu.com/docs#/UNIT-res-API/top 

1.肯定是配置好UNIT.具体的可以参考goJhou大神写的帖子.需要注意的是.

要使用资源api.在单元中.必须选择执行函数.

2.训练好以后.选择发布到DuerOS.

发布的时候需要填写资源API的URL.

这个URL对应的是我们服务端的逻辑代码.这个后面点来说.

3.跳转到DuerOS平台.

可以看到是UNIT类型的技能,不用配置其他东西.这时候在平台的工作就算完成了.然后看看我们服务端的代码

 

服务端我是用C#写的.

其实很方便.DuerOS在识别语音以后.如果是符合我们设置的函数规则.就会回调API资源设置的URL.

在这个URL里面.我们来处理接收到的JSON

        [HttpPost]
        [ActionName("callback")]

        public ActionResult CallBack()
        {
            byte[] byts = new byte[Request.InputStream.Length];
            Request.InputStream.Read(byts, 0, byts.Length);
            string req = System.Text.Encoding.UTF8.GetString(byts);
            req = Server.UrlDecode(req);

            var response = new UNITRespons();
            response.error_code = 0;
            response.error_msg = "";
            response.result = new UNITResponsResult() { type = "text" };
            response.result.content = "这次很成功的调用";

            return Json(response);
        }

实体类是

        public class UNITRespons
        {
            public int error_code { get; set; }
            public string error_msg { get; set; }
            public UNITResponsResult result { get; set; }

        }
        public class UNITResponsResult
        {
            public string type { get; set; }
            public string content { get; set; }
        }

是不是很简单..不要实体类的话.动态解析也就几句代码搞定.当然.具体的控制转发等.需要自己在代码的req里面来写了.

然后我们去DuerOS的模拟测试去试试.

OK.搞定.

这样我们就可以完美的在DuerOS里面调用UNIT的训练技能了.UNIT的训练真的很智能.就是时间有点.^-^

收藏
点赞
6
个赞
共24条回复 最后由平原asd95回复于2018-05-19 13:00
#2756665228回复于2017-11-20

好贴

0
#3goJhou回复于2017-11-20

好贴,给你加精

0
#4荒墨丶迷失回复于2017-11-21

好帖,赞一下~ 以上都是大佬

1
#5卡农LLLL回复于2017-11-21

好帖,谢谢以上大佬们的赞扬.

0
#6Micro五名小卒回复于2017-11-27

赞,收藏先

0
#7DMLongger回复于2017-11-29

赞,厉害~

0
#8见龙回复于2017-12-04

打开XX程序后面的回复能否在unit里自定义

0
#9卡农LLLL回复于2017-12-05
#8 见龙回复
打开XX程序后面的回复能否在unit里自定义

现在没发布到技能商店.还没有打开"XXX"的例子吧.听说要等渡鸦一起发布

0
#10见龙回复于2017-12-07
#9 卡农LLLL回复
现在没发布到技能商店.还没有打开"XXX"的例子吧.听说要等渡鸦一起发布
展开

技能平台有模拟测试,打开XXX现在默认回复的是“欢迎使用”,希望这个可以自定义。

0
#11卡农LLLL回复于2017-12-07
#10 见龙回复
技能平台有模拟测试,打开XXX现在默认回复的是“欢迎使用”,希望这个可以自定义。
展开

是啊.好像还真没有.这个能自定义会更棒的.

0
#12荒墨丶迷失回复于2017-12-07
#10 见龙回复
技能平台有模拟测试,打开XXX现在默认回复的是“欢迎使用”,希望这个可以自定义。
展开

默认回复 这个不能自己先来个语音合成的播放嘛  嘿嘿~

1
#13卡农LLLL回复于2017-12-07
#12 荒墨丶迷失回复
默认回复 这个不能自己先来个语音合成的播放嘛  嘿嘿~

是通过小度小度来打开的.没法自己搞..

自己的APP其实就不用说打开了.

0
#14荒墨丶迷失回复于2017-12-07
#13 卡农LLLL回复
是通过小度小度来打开的.没法自己搞.. 自己的APP其实就不用说打开了.
展开

我才刚拿到板子 准备唤醒小度 hhh

1
#15goJhou回复于2017-12-07
#14 荒墨丶迷失回复
我才刚拿到板子 准备唤醒小度 hhh

可以啊 有板子了!

0
#16卡农LLLL回复于2017-12-08
#14 荒墨丶迷失回复
我才刚拿到板子 准备唤醒小度 hhh

我是拿手机搞的....

0
#17goJhou回复于2017-12-08
#16 卡农LLLL回复
我是拿手机搞的....

= =你6666

0
#18卡农LLLL回复于2017-12-08
#17 goJhou回复
= =你6666

搞不来硬件啊.没办法..我其实有个标准版的板子...

0
#19荒墨丶迷失回复于2017-12-08
#16 卡农LLLL回复
我是拿手机搞的....

666手机APP来搞呀

1
#20卡农LLLL回复于2017-12-10
#19 荒墨丶迷失回复
666手机APP来搞呀

对啊。手机APP搞。现在只想拿Dueros的信源。和UNIT的训练。

0
#21卡农LLLL回复于2017-12-15

现在有个尴尬的事了...unit处理的request里面没有用户鉴权.导致没法确定是哪个用户发起的请求.

dueros那边又没法接收unit的解析json...导致我没法控制到某一个具体的设备上.

0
TOP
切换版块