首页 文章

谈话在完成后结束?

提问于
浏览
3

我一直在试用Api.AI上的炬力 . 我使用他们的Github示例编写了一个简单的nodejs webhook:dialogflow-silly-name-maker-webhook-nodejs .

问题是我不希望代理在完成请求后结束对话 . 我没有在 API.AI 上的Intent中检查END CONVERSATION框 .

我还有一个要求是如何记住在一个意图期间询问的参数,以便同样可以用于下一个意图 . 这可能吗?

2 回答

  • 4

    您可能正在使用 assistant.tell() 发送回复 . 无论api.ai中的设置如何,这都将结束对话 .

    使用 assistant.ask() 代替 - 这将使对话保持打开状态 .

    要在问题之间使用参数,请'll probably want to use api.ai' s contexts .

  • 1

    Google客户端库上的操作提供了一个“数据”字段,用于在用户会话期间存储值 . 例如,您的操作逻辑可以执行以下操作:

    assistant.data.answer = 10;
    

    为了使这项工作,客户端库使用API.AI支持上下文,但“数据”字段是一个方便,所以你不必知道技术细节 . 在下一个对操作逻辑的传入请求期间,您可以使用相同的“数据”字段检索存储的会话值:

    let previousAnswer = assistant.data.answer;
    

    如果您希望用户在对话期间进行响应,请使用客户端库'ask'方法:

    assistant.ask('Welcome to My Action! Say a number.');
    

    如果要结束对话,请使用客户端库'tell'方法:

    assistant.tell('Ok, see you next time.');
    

相关问题