我需要添加一个确认实体,以便我得到一个'是'或者取消'在dialogflow(api.ai)中的某个操作的参数中。 假设用户正在购买咖啡,我会询问有关咖啡和数量的详细信息,最后我需要确认,我应该申请哪个实体?任何引用它的教程也会有所帮助。
答案 0 :(得分:7)
DialogFlow有一个名为follow-up intent的概念,你可以在这样的情况下使用它:
你会创建一个"是"跟进以捕获用户是否想继续," no"取消,以及"后退"向用户解释正在发生的事情和可接受的答案。
如果您正在使用Google上的操作,您还可以使用askForConfirmation,这完全可以在您的webhook代码中完成。
您可以根据代码的结构选择最合适的方式。
答案 1 :(得分:2)
另一种方法是创建一个确认实体并在你的意图中提示它。
创建entty:使用适当的同义词创建2行,一行为yes,另一行为no。
将其作为参数添加到刚刚创建的实体中,并添加适当的提示。
答案 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.`)
}
})