0

我正在尝试使用 DialogFlow CX 构建聊天机器人。我们有一个基于 DF ES 构建的现有聊天机器人,在上下文的帮助下,我们实现了恢复聊天功能,这使我们的最终用户能够随时返回聊天并从他们离开的地方继续。因此,目前我们正在 CX 中构建完全相同的机器人,我们在重新创建恢复聊天流方面面临挑战。

因此,有关如何执行此操作的任何帮助都将非常有帮助。

提前致谢

4

1 回答 1

0

Dialogflow CX 对话(会话)可以描述和可视化为状态机,配置为从最终用户收集信息或参数。此信息与该页面上的对话状态相关。请注意,对于每个会话轮次,当前页面要么保持不变,要么转换到另一个页面。这也适用于恢复或继续当前的对话状态。

以下是通过将先前从先前对话中收集的客户数据传递到新对话中来继续/恢复对话的可能方法:

  1. 您可以使用webhook创建自定义实现,其中一个函数将存储您收集的参数表单,并使用它们从用户在会话流或会话期间停止的位置继续聊天。在webhookResponse中,您可以设置fulfillment_responsetarget_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”],
           }] 
       } 
    }
    
  2. 您可以使用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>,
            }
         }
    
     }
    
于 2021-07-05T16:20:08.473 回答