Dialogflow es 如何结束与API.AI的对话

Dialogflow es 如何结束与API.AI的对话,dialogflow-es,actions-on-google,google-home,Dialogflow Es,Actions On Google,Google Home,有没有办法用API.AI结束Google Home与服务器的对话 我假设我需要访问expect\u user\u响应并将其设置为false 我还看到,在actions SDK中,您可以使用“assistant.tell()”,但在API.AI中似乎无法访问它。是的,您可以。在你的应用程序中,编写一个函数,将查询“停止”发送给你的代理 function stop_conversation(){ var api_request = new Request('https://api.api.ai/v1

有没有办法用API.AI结束Google Home与服务器的对话

我假设我需要访问expect\u user\u响应并将其设置为false


我还看到,在actions SDK中,您可以使用“assistant.tell()”,但在API.AI中似乎无法访问它。

是的,您可以。在你的应用程序中,编写一个函数,将查询“停止”发送给你的代理

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'
        })
    });
}
如果您正在使用,则调用
Assist('stop')

在“意图”窗格中的“履行”下,有一个“谷歌操作”部分,您可以展开该部分。在“结束对话”下勾选该框

在您的履行过程中,包括以下内容:

data: {
  google: {
    expect_user_response: false,
  }
}
data: {
  google: {
    expect_user_response: false,
  }
}

将其添加到与响应中的speech属性相同的级别。

适用于未使用SDK的用户。我发现有两种方法可以在使用API.AI时停止Google Home上的麦克风

在“意图”窗格中的“履行”下,有一个“谷歌操作”部分,您可以展开该部分。在此下方,您将看到“结束对话”复选框。勾选那个框

在您的履行过程中,包括以下内容:

data: {
  google: {
    expect_user_response: false,
  }
}
data: {
  google: {
    expect_user_response: false,
  }
}

将其添加到与响应中的speech属性相同的级别。

对于使用Node.js客户端库的用户,这是通过
tell()
函数(客户端,客户端)以编程方式完成的

尽管文件只是说:

告诉助手呈现语音响应并关闭麦克风

这确实有效地结束了与助手应用程序的通信,将用户返回到Google Assistant

通过在特定意图中选中API.AI web GUI中的“结束对话”框,也可以完成同样的事情(当然,这不是动态的,每次调用该意图时都会结束对话):

嗯。。。似乎有一个服务器端API.AI SDK。调查一下。目前,我只是在服务器端使用Javascript。ApiaApp类也有一个tell()方法,我在找到google属性解决方案后在UI中发现了该设置:-(.我回答了我自己的问题,然后我看到你更新了你的答案。你介意编辑你的答案以包括我给出的google property解决方案吗?之后,我会接受你的答案。:-)嗨,你是怎么知道的?这是有文件记录的吗?我不确定我是如何发现的,因为这是6个多月前的事。但这里有文件记录: