Bixby NL使用整数数据类型

时间:2019-03-18 14:29:29

标签: bixby bixbystudio

如何从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]}

1 个答案:

答案 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)

尝试一下,让我们知道它是否有效。