如何从Bixby的NL培训返回整数数据类型? input-view使用的是Slider元素,其概念设置为整数,因此我认为会话驱动程序/ NL需要输出一个整数,而不是文本/字符串。在这种情况下,使用词汇表文件显然不起作用。
我认为这与Money角色如何输出浮点数类似,即:
What can I get for {[g:viv.money.MaxPrice] ($)[v:viv.money.PrefixSymbol:$](40)[v:viv.money.CurrencyValue]}
答案 0 :(得分:1)
当胶囊使用基本类型时,(最好是整数)最好创建自己的从基本类型派生的类型。
integer (MyAge) {
description (__DESCRIPTION__)
}
您的NL训练可能类似于My age is 25
,并且您可以将25标记为Integer。
input-view {
match: MyAge (this) {
to-input: GetMyAge (action)
}
message {
template (Testing MyAge)
}
render {
form {
// the intent that will be used when the form is submitted
on-submit {
goal: MyAge
value: viv.core.FormElement(id)
}
elements {
slider {
step(1)
id (id)
type (viv.core.Integer)
max-label ()
min-value (1)
max-value (123)
value("#{value(action.integerValue)}")
}
}
}
}
}
action (GetMyAge) {
type(Search)
description (__DESCRIPTION__)
collect {
input (integerValue) {
type (viv.core.Integer)
min (Required) max (One)
default-init {
intent {
goal: viv.core.Integer
value: viv.core.Integer (1)
}
}
}
computed-input (myInteger) {
type (viv.core.Integer)
min (Required) max (One)
compute {
intent {
goal: viv.core.Integer
}
}
}
}
output (viv.core.Integer)
尝试一下,让我们知道它是否有效。