首页 > 解决方案 > Bixby 中的交互式对话实现

问题描述

我是 Bixby 的新手,在交互式对话实施方面遇到了麻烦。如下所示:

用户:“嗨,Bixby,在 Flemings Steakhouse 给我订一张桌子。”

好的,哪天?

用户:“明天。”

好的,几点钟?

用户:“下午 6:00。”

好的,适合多少人?

用户:“四个。”

好的,明天下午 6:00 在 Flemings Steakhouse 预订 4 人桌。

如果有任何建议,请帮助。

标签: bixby

解决方案


这对 Bixby 来说并不难。您要做的是创建一个操作来收集用户的所有输入。它可能看起来像这样

你的行动

action (BookReservaton) {
  type(Search)
  description (Book a reservation)
  collect {

    // Ask for the user's reservation date
    input (reservationDate) {
      type (time.DateTimeExpression)
      min (Required) max (One)
    }

    // Prompt for number of guests, but also allow them to confirm 2
    input (numberOfGuests) {
      type (NumberOfGuests)
      min (Required) max (One)
      default-init {
        intent {
          goal: NumberOfGuests
          value: NumberOfGuest(2)
        }
      }
      prompt-behavior (AlwaysSelection)
    } 
  }
  output (Reservation)
}

在您的情况下,当用户没有从他们的话语中提供所需的输入时,您将需要从用户那里收集输入。 是收集日期等的一个很好的例子。您还可以支持某人说“本周二晚上 7 点预订 4 人的餐桌”,而无需提示他们输入。Bixby 只会在没有所需输入时提示用户。


推荐阅读