【问题标题】:fulfillmentText vs fulfillmentMessages in DialogFlowDialogFlow中的fulfillmentText与fulfillmentMessages
【发布时间】:2018-09-22 11:34:02
【问题描述】:

我正在制作一个聊天机器人,目前正在使用 Google Hangout Chat,但将移植到其他聊天平台上。
聊天代码在 Node.js 后端处理,意图识别使用 DialogFlow 的 Nodejs API 完成。

环聊回复如下:

{
  thread: {
    name: thread.name
  },
  text: 'The response in text',
  cards:['List of cards to show data']
}

数据工作正常,但我一直在解析从 DialogFlow 获得的响应并决定响应的 text 属性。有两个选项可以选择作为text 属性发送。一个是queryResult.fulfillmentText,它只是一个字符串,很容易分配给text 属性,而另一个是queryResult.fulfillmentMessages,它是在某处包含相同文本的对象数组。这就是我的情况:

"fulfillmentText": "We could find few matching products based on your query",
"fulfillmentMessages": [
  {
    "text": {
      "text": [
        "We could find few matching products based on your query"
      ]
    }
  },
  {
    "text": {
      "text": [
        "2nd text"
      ]
    }
  }
],

我的问题是我应该在fulfillmentTextfulfillmentMessages 之间使用什么?还有他们两者有什么区别。鉴于 Hangout Chat 只需要一个文本响应,为什么会有多个文本/消息?

PS:我正在使用 DialogFlow V2 API

【问题讨论】:

    标签: javascript node.js google-cloud-platform dialogflow-es hangouts-chat


    【解决方案1】:

    Dialogflow Docs得到这个

    • fulfillmentText (String) 向用户朗读或在屏幕上显示的文本。
    • fulfillmentMessages (Object) rich messages 的集合以显示给用户。

    所以我应该使用fulfillmentText 作为环聊回复的text 属性发送。 fulfillmentMessages 用于“丰富消息”,例如我从数据库生成的卡片。

    【讨论】:

    • 我在使用 V2 api 遇到类似的情况。你让我们的 fullfilmentMessages:[] 工作了吗?这是我的情况stackoverflow.com/questions/50959535/….. 感谢任何帮助
    • 我不使用 fullfilmentMessages。我直接将卡片用于环聊聊天 API。据我所知,谷歌助手和环聊对卡片等丰富消息的可接受格式不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多