【问题标题】:Watson Assistant API v2 & session expirationWatson Assistant API v2 和会话到期
【发布时间】:2019-02-22 10:18:11
【问题描述】:
我们正在构建一个使用 API v2 与 Watson Assistant 交互的应用。我们知道对话的“状态”(其中包括:对话树中的位置)现在使用session_id 键保存在服务端。
问题:会话到期(5 到 60 分钟,具体取决于定价计划)。
有没有办法恢复过期的会话或保存会话状态以便恢复?
我们已尝试保存和恢复 global 和 skills 上下文,但它们没有保持对话状态。
感谢您的帮助。
【问题讨论】:
标签:
ibm-cloud
ibm-watson
watson-conversation
【解决方案1】:
当前的不活动超时时间是特定于计划的
- 精简和标准 5 分钟
- 加和高级 1 小时
在接下来的几天里,您最多可以在 24 小时内更改 plus 和 premium 的值。如果您想更快地关闭会话,则只能将 Lite 和 Standard 降低到较低的值。
您始终可以在应用程序级别保存上下文,但目前 V2 API 下无法保存用户在对话框中的位置,以便您可以在超过允许的会话不活动超时期限后将其传回。
【解决方案2】:
补充 @oscar.ny 提到的内容,它也是特定于计划的,您可能会更改 设置 -> 超时限制字段 -> 更改超时时间值并关闭,它会自动保存。
我以前做过的事情是在 5 分钟不活动事件发生时发送一条空消息。此事件将调用将命中 API 消息方法的函数以发送 “你还在这里吗,我在谈论 xyz”。其中 xyz 是发送给用户以维持会话的最新消息。
参考: