向用户显示输入视图时,如何让用户提供NL输入?

时间:2019-05-23 09:37:22

标签: bixby bixbystudio

我有一个胶囊,可以根据用户输入计算内容。用户需要告诉我的胶囊一个发件国家(FromCountryConcept),目的地国家(ToCountryConcept)和文本(LetterContentConcept)。由于国家/地区的概念是enum,因此这些国家/地区的input-view很简单selection-of。对于文本的input-view,我使用textarea。以下所有代码均在以下存储库中的github上可用:SendLetter-Bixby

当用户使用Bixby视图向Bixby提供所需的输入时,一切都会按预期进行。

我如何让用户使用(语音或键入)NL输入为显示的input-view提供输入?

我的动作SendLetter.model.bxb如下:

action (SendLetter) {
  description (Sends a Letter from one country to another and calculates the cost based on the letter content length.)
  type (Calculation)
  collect {
    input (fromCountry) {
      type (FromCountryConcept)
      min (Required)
      max (One)
      default-init {
        intent {
          goal: FromCountryConcept
          value-set: FromCountryConcept {
            FromCountryConcept(Germany)
            FromCountryConcept(South Korea)
            FromCountryConcept(USA)
            FromCountryConcept(Spain)
            FromCountryConcept(Austria)
            FromCountryConcept(France)
          }
        }
      }
    }
    input (toCountry) {
      type (ToCountryConcept)
      min (Required)
      max (One)
      default-init {
        intent {
          goal: ToCountryConcept
          value-set: ToCountryConcept {
            ToCountryConcept(Austria)
            ToCountryConcept(South Korea)
            ToCountryConcept(USA)
            ToCountryConcept(Spain)
            ToCountryConcept(Germany)
            ToCountryConcept(France)
          }
        }
      }
    }
    input (letterContent) {
      type (LetterContentConcept)
      min (Required)
      max (One)
    }
  }
  output (SendLetterResponseConcept)
}

国家概念input-view的{​​{1}}看起来像这样(FromCountry_Input.view.bxb是等效的):

ToCountry_Input.view.bxb

我希望用户能够输入的文本input-view { match: FromCountryConcept(this) message { template ("Select the country this letter will be sent from") } render { selection-of (this) { where-each (fromCountry) { // default-layout used } } } } 位于input-view中:

LetterContent_Input.view.bxb

enter image description here

1 个答案:

答案 0 :(得分:2)

您正处于提示时刻,因此您需要添加快速培训。

这将允许用户使用NL来响应您的提示。

在训练标签中,它看起来像这样: enter image description here

https://bixbydevelopers.com/dev/docs/dev-guide/developers/training.intro-training#add-training-examples-for-prompts