如何结束与 API.AI 的对话
How to end the conversation with API.AI
有没有办法使用 API.AI 结束 Google Home 与服务器的对话?
我假设我需要以某种方式访问 expect_user_response 并将其设置为 false。
我还看到您可以使用 'assistant.tell()' 的操作 SDK,但似乎无法使用 API.AI。
是的,你可以。在您的应用中,编写一个函数,将查询 "stop" 发送给您的代理。
function stop_conversation(){ var api_request = new Request('https://api.api.ai/v1/query?v=20150910', {
method: 'POST',
mode: 'cors',
redirect: 'follow',
headers: {
'Authorization': 'Bearer 21f6a5778d484870ad46be4d34ac2eeb',
'content-Type': 'application/json; charset=utf-8'
},
body: JSON.stringify({
q: 'stop',
lang: 'en',
sessionId: '44628d21-d7a4-47d5-b1c6-a7f851be65fv'
})
});
}
如果您正在使用 the fulfillment library 然后调用 Assist('stop');
.
...
在 "Intent" 窗格的 fulfillment 下,有一个 "Actions on Google" 部分可以展开。在此之下,you will see "End Conversation" 选中该框。
在您的履行中包括以下内容:
data: {
google: {
expect_user_response: false,
}
}
在您的回复中将此添加到与您的演讲相同的级别 属性。
对于不使用 SDK 的人。我发现有两种方法可以在使用 API.AI.
时停止 Google 主屏幕上的麦克风
在 "Intent" 窗格的 fulfillment 下,有一个 "Actions on Google" 部分可以展开。在那下面你会看到 "End Conversation" 复选框。选中该框。
在您的履行中包括以下内容:
data: {
google: {
expect_user_response: false,
}
}
在您的回复中将此添加到与您的演讲 属性 相同的级别。
对于使用 Node.js 客户端库的用户,这是通过 tell()
函数(docs for ActionsSdk client, docs for API.AI 客户端)以编程方式完成的。
尽管文档只是说:
Tells the Assistant to render the speech response and close the mic.
这确实有效地结束了与您的 Google 助理应用程序的通信,使用户返回到 Google Google 助理。
同样的事情可以通过选中 API.AI Web GUI 中特定 Intent 中的 "End Conversation" 框来完成(当然,这不是动态的,每次 Intent 时都会结束对话被调用):
有没有办法使用 API.AI 结束 Google Home 与服务器的对话?
我假设我需要以某种方式访问 expect_user_response 并将其设置为 false。
我还看到您可以使用 'assistant.tell()' 的操作 SDK,但似乎无法使用 API.AI。
是的,你可以。在您的应用中,编写一个函数,将查询 "stop" 发送给您的代理。
function stop_conversation(){ var api_request = new Request('https://api.api.ai/v1/query?v=20150910', {
method: 'POST',
mode: 'cors',
redirect: 'follow',
headers: {
'Authorization': 'Bearer 21f6a5778d484870ad46be4d34ac2eeb',
'content-Type': 'application/json; charset=utf-8'
},
body: JSON.stringify({
q: 'stop',
lang: 'en',
sessionId: '44628d21-d7a4-47d5-b1c6-a7f851be65fv'
})
});
}
如果您正在使用 the fulfillment library 然后调用 Assist('stop');
.
...
在 "Intent" 窗格的 fulfillment 下,有一个 "Actions on Google" 部分可以展开。在此之下,you will see "End Conversation" 选中该框。
在您的履行中包括以下内容:
data: {
google: {
expect_user_response: false,
}
}
在您的回复中将此添加到与您的演讲相同的级别 属性。
对于不使用 SDK 的人。我发现有两种方法可以在使用 API.AI.
时停止 Google 主屏幕上的麦克风在 "Intent" 窗格的 fulfillment 下,有一个 "Actions on Google" 部分可以展开。在那下面你会看到 "End Conversation" 复选框。选中该框。
在您的履行中包括以下内容:
data: {
google: {
expect_user_response: false,
}
}
在您的回复中将此添加到与您的演讲 属性 相同的级别。
对于使用 Node.js 客户端库的用户,这是通过 tell()
函数(docs for ActionsSdk client, docs for API.AI 客户端)以编程方式完成的。
尽管文档只是说:
Tells the Assistant to render the speech response and close the mic.
这确实有效地结束了与您的 Google 助理应用程序的通信,使用户返回到 Google Google 助理。
同样的事情可以通过选中 API.AI Web GUI 中特定 Intent 中的 "End Conversation" 框来完成(当然,这不是动态的,每次 Intent 时都会结束对话被调用):