会话表示 Conversational Agents (Dialogflow CX) 代理与最终用户之间的对话。您在对话开始时创建会话,并在每个对话回合中使用该会话。对话结束后,您将停止使用该会话。
在同一时间与不同最终用户进行对话时,不应使用同一个会话。在会话的最后一个请求发送后的 30 分钟内,会话将保持活动状态并且其数据会被保存。
每个会话均由系统生成的会话 ID 唯一确定。 您可以通过在检测意图请求和其他会话方法中提供新的会话 ID 来创建新会话。会话 ID 是一个字符串,最长 36 个字节。 系统负责生成不重复的会话 ID。 它们可以是随机数字、经过哈希处理的最终用户标识符或任何其他便于生成的值。
如需了解会话名称中的位置 ID 值,请参阅区域化文档。
长时间会话
默认情况下,Conversational Agents (Dialogflow CX) 会将会话数据保留 30 分钟。您可以通过以下两种方式延长会话的生命周期:
- (首选)使用
QueryParameters.session_ttl
设置会话 TTL。允许的最大值为 24 小时。 您可以通过在
DetectIntentRequest
中设置QueryParameters.current_page
和QueryParameters.parameters
来恢复先前的会话状态。该工作流的示例如下:
- 最终用户在会话 A 下与代理进行通信。
- 您的代码记录了与 API 响应中返回的会话 A 关联的状态(即
QueryResult.current_page
和QueryResult.parameters
)。 - 50 分钟后,最终用户停止与代理互动。
- 最终用户再次与代理进行通信。
- 您的代码会发送最终用户输入以及之前在请求中记录的
QueryParameters.current_page
和QueryParameters.parameters
,以使用之前的会话状态检测意图。您无需使用会话 A 所用的会话 ID。
参考
如需了解会话价格,请参阅价格页面。
如需详细了解会话,请
为会话参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 会话资源 | 会话资源 |
RPC | 会话接口 | 会话接口 |
C++ | SessionsClient | 不可用 |
C# | SessionsClient | 不可用 |
Go | SessionsClient | 不可用 |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | 不可用 | 不可用 |
Python | SessionsClient | SessionsClient |
Ruby | 不可用 | 不可用 |