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

Bixby 如何让用户在显示输入视图时提供NL输入?,bixby,bixbystudio,Bixby,Bixbystudio,我有一个胶囊,可以根据用户输入计算一些东西。用户需要告诉我的胶囊一个原产国(FromCountryConcept)、目的国(ToCountryConcept)和一个文本(LetterContentConcept)。由于国家概念是enum,因此这些概念的输入视图是简单的选择。对于文本的输入视图,我使用textarea。所有代码如下所示,可在此存储库的github上获得: 当用户使用Bixby视图向Bixby提供所需的输入时,一切都按预期工作 如何让用户使用(口语或键入的)NL输入向显示的输入视图提

我有一个胶囊,可以根据用户输入计算一些东西。用户需要告诉我的胶囊一个原产国(
FromCountryConcept
)、目的国(
ToCountryConcept
)和一个文本(
LetterContentConcept
)。由于国家概念是
enum
,因此这些概念的
输入视图是简单的
选择
。对于文本的
输入视图
,我使用
textarea
。所有代码如下所示,可在此存储库的github上获得:

当用户使用Bixby视图向Bixby提供所需的输入时,一切都按预期工作

如何让用户使用(口语或键入的)NL输入向显示的
输入视图提供输入?

我的操作
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)
}
来自country\u input.view.bxb的国家概念的
输入视图
如下所示(
ToCountry\u input.view.bxb
等效):

我希望用户能够输入的文本的
input视图
位于
LetterContent\u input.view.bxb

input-view {
  match: LetterContentConcept(this)
  message {
    template ("Write the content of the letter.")
  }
  render {
    form {
      on-submit {
        goal: LetterContentConcept
        value {
          viv.core.FormElement(letterContent)
        }
      }
      elements {
        textarea {
          id (letterContent)
          label ("Letter Content")
          type (LetterContentConcept)
          value ("#{value(this)}")
        }
      }
    }
  }
}

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

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

在“培训”选项卡中,它如下所示:

input-view {
  match: LetterContentConcept(this)
  message {
    template ("Write the content of the letter.")
  }
  render {
    form {
      on-submit {
        goal: LetterContentConcept
        value {
          viv.core.FormElement(letterContent)
        }
      }
      elements {
        textarea {
          id (letterContent)
          label ("Letter Content")
          type (LetterContentConcept)
          value ("#{value(this)}")
        }
      }
    }
  }
}