由于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的训练真的很智能.就是时间有点.^-^
TOP
切换版块
aa
我想请问下,目前现在的UNIT版本好像没有这个功能了,那么DuerOS 还能与UNIT进行资源联通吗? 如果不能的话,楼主可有好的实现方案吗
请问楼主这里模拟测试的时候,已经发布到成功dueros了吗?我的资源API地址已经填好,服务端也写好了,只是还没发布,在等开发者认证。现在模拟测试时可以成功进入这个场景,但进入后再输入其他指令就回复“系统暂时无法为您服务”,并没有向服务端发送post请求似乎,请问为什么呢,是因为还没发布吗?
下面是我测试的python服务端代码。
是自己随便取的名字.到时候会发到你的服务端
上面说的好像没表达清楚,我是想问,当规则满足时,会触发执行函数,那这个执行函数与服务器端的代码有什么关联吗?还是要单独写这个触发函数
我想请问一下,选择执行函数后,对这个函数名有要求吗?是自己随便取的吗?文档里执行向函数介绍的太少,新手刚刚接触,不太懂,望指点。
现在有个尴尬的事了...unit处理的request里面没有用户鉴权.导致没法确定是哪个用户发起的请求.
dueros那边又没法接收unit的解析json...导致我没法控制到某一个具体的设备上.
对啊。手机APP搞。现在只想拿Dueros的信源。和UNIT的训练。
666手机APP来搞呀
搞不来硬件啊.没办法..我其实有个标准版的板子...
= =你6666
我是拿手机搞的....
可以啊 有板子了!
我才刚拿到板子 准备唤醒小度 hhh
是通过小度小度来打开的.没法自己搞..
自己的APP其实就不用说打开了.
默认回复 这个不能自己先来个语音合成的播放嘛 嘿嘿~
是啊.好像还真没有.这个能自定义会更棒的.
技能平台有模拟测试,打开XXX现在默认回复的是“欢迎使用”,希望这个可以自定义。
现在没发布到技能商店.还没有打开"XXX"的例子吧.听说要等渡鸦一起发布
打开XX程序后面的回复能否在unit里自定义