我正在尝试使用DialogFlow CX构建一个聊天机器人。我们在DF ES上构建了一个现有的聊天机器人,在上下文的帮助下,我们实现了一个恢复聊天功能,使我们的最终用户能够随时返回聊天,并从他们停止的地方继续。因此,目前我们正在CX中构建完全相同的机器人,我们在重新创建简历聊天流方面面临挑战。
因此,任何关于如何做到这一点的帮助都将非常有用。
提前感谢
Dialogflow CX会话(会话(可以描述和可视化为状态机,配置为从最终用户收集信息或参数。此信息与该页面上的对话状态相关。请注意,对于每个会话回合,当前页面将保持不变或转换到另一个页面。这也适用于恢复或继续会话的当前状态。
以下是通过将以前收集的客户数据从以前的对话传递到新的对话中来继续/恢复对话的可能方法:
-
您可以使用webhook创建一个自定义实现,其中一个函数将存储您收集的参数和表单,并使用它继续用户在对话流或会话期间中断的聊天。在webhookResponse中,您可以设置fulfillment_response、target_page字段和session_info域,以更新并发回从上一次对话中收集的存储参数。
以下是如何从webhook响应传递会话参数、目标页面和履行响应的示例:
{ sessionInfo: { parameters: { param1: { value: "sample1" } } }, targetPage: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>, fulfillment_response: { messages: [{ text: [“This is where you left”], }] } }
-
您可以使用API或客户端库在detectIntent方法中设置queryParams.parameters和queryParams.currentPage。
下面是使用REST API设置detectIntent方法请求主体的QueryParameters:的示例参考
{ queryParams: { parameters: { param1: { value: "sample1" }, currentPage: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>, } } }