在对话框流程中添加确认实体(api.ai)

时间:2017-10-17 07:27:32

标签: api-ai dialogflow

我需要添加一个确认实体,以便我得到一个'是'或者取消'在dialogflow(api.ai)中的某个操作的参数中。 假设用户正在购买咖啡,我会询问有关咖啡和数量的详细信息,最后我需要确认,我应该申请哪个实体?任何引用它的教程也会有所帮助。

3 个答案:

答案 0 :(得分:7)

DialogFlow有一个名为follow-up intent的概念,你可以在这样的情况下使用它:

Adding a follow-up intent

你会创建一个"是"跟进以捕获用户是否想继续," no"取消,以及"后退"向用户解释正在发生的事情和可接受的答案。

如果您正在使用Google上的操作,您还可以使用askForConfirmation,这完全可以在您的webhook代码中完成。

您可以根据代码的结构选择最合适的方式。

答案 1 :(得分:2)

另一种方法是创建一个确认实体并在你的意图中提示它。

创建entty:使用适当的同义词创建2行,一行为yes,另一行为no。

Create a Confirmation entity

将其作为参数添加到刚刚创建的实体中,并添加适当的提示。

Adding Prompt

Adding parameter

答案 2 :(得分:0)

谁跳到这里试图通过Google上的操作获得这种确认行为的答案。

您可以查看{。{3}}的Actions SDK for Node.js。

解决方案是使用DialogFlow中的actions_intent_CONFIRMATION事件设置一个意图,以便检索用户响应。我的建议是检查您如何配置意图并使用此方法,否则请确保创建具有所需上下文寿命的后续意图。

文档示例:

app.intent('Default Welcome Intent', conv => {
  conv.ask(new Confirmation('Are you sure you want to do that?'))
})

// Create a Dialogflow intent with the `actions_intent_CONFIRMATION` event
app.intent('Get Confirmation', (conv, input, confirmation) => {
  if (confirmation) {
    conv.close(`Great! I'm glad you want to do it!`)
  } else {
    conv.close(`That's okay. Let's not do it now.`)
  }
})

另请参阅documentation for Confirmation helper