适用于聊天的摘要 V1 自定义模型

借助代理辅助总结功能自定义模型,您可以在每次对话结束后向客服人员提供对话总结,该模型仅使用客户特定数据进行训练。 这与通过大型语言模型进行自定义不同,详见包含自定义部分的摘要。 摘要可帮助客服人员创建对话记录并了解最终用户的沟通历史记录。例如,有关对话的摘要输出可能类似于以下内容:

您还可以导入自定义 Agent Assist 总结模型,以用于 CCAI Insights 对话

准备工作

  1. 确保数据采用所需格式。 您还可以选择使用示例数据集或使用演示总结模型测试该功能,无需数据集。

使用 API 训练和部署总结模型

创建对话数据集并导入转写内容

ConversationDataset 资源调用 create 方法,以创建对话数据集。添加包含转写数据的 Cloud Storage 存储桶的路径,以便将数据导入到新的对话数据集。

示例请求:

{
  "displayName": "CONVERSATION_DATASET_NAME",
  "inputConfig": {
    "gcsSource": {
      "uris": ["gs://PATH_NAME/*"]
    }
  }
}

响应包含对话数据集 ID。示例响应:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.ConversationDataset",
    "name": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID",
    "displayName": "CONVERSATION_DATASET_NAME",
    "createTime": "2022-06-16T23:13:22.627380457Z"
  }
}

创建对话模型

ConversationModel 资源调用 create 方法,以创建总结对话模型。每个项目每月最多可获得 120 个节点时的训练时间,并且可以同时运行一个训练作业。

必填字段:

  • datasets:提供一个包含用于训练模型的转写数据的数据集。
  • summarizationModelMetadata:设置为空对象,或填充该字段以替换默认值。

示例请求:

{
  "displayName": "CONVERSATION_DATASET_NAME",
  "datasets": [{
    "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID"
  }],
  "summarizationModelMetadata": {
    "trainingModelType": "SUMMARIZATION_MODEL"
  },
  "languageCode": "en-US"
}

该响应是一个长时间运行的操作,您可以使用 GetOperation API 轮询该操作以检查是否完成。训练可能需要几个小时。响应会返回状态和模型 ID。

示例响应:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.CreateConversationModelOperationMetadata",
    "conversationModel": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID",
    "state": "TRAINING",
    "createTime": "2022-06-16T23:27:50Z"
  }
}

评估对话模型

模型训练完成后,调用 ListConversationModelEvaluations API 以检查模型质量。

ListConversationModelEvaluationsRequest 中,指定要检查的模型的名称。

{
  "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a"
}

ListConversationModelEvaluationsResponse 包含用于评估自动摘要的 Rouge-L 得分。

{
  "conversationModelEvaluations": [{
    "name": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a/evaluations/c10ac25411a23fe1",
    "displayName": "Training Auto Generated Evaluation",
    "createTime": "2022-06-04T03:38:35.151096Z",
    "evaluationConfig": {
    },
    "summarizationMetrics": {
      "rougel": 0.4474459
    }
  }]
}

部署对话模型

模型训练完成后,您可以使用 DeployConversationModel API 部署模型。

DeployConversationModelRequest 中,指定要部署的模型的 name。该响应是一个长时间运行的操作,您可以使用 GetOperation API 轮询该操作以检查是否完成。

配置对话配置文件

对话配置文件可配置一组参数,用于控制对话期间向客服人员提出的建议。以下步骤将使用 HumanAgentAssistantConfig 对象创建 ConversationProfile

创建对话配置文件

如需创建对话配置文件,请对 ConversationProfile 资源调用 create 方法。 为新的对话配置文件提供名称、 Google Cloud项目 ID 和模型 ID。在 CreateConversationProfileRequest 中,指定要使用的对话模型和要CONVERSATION_SUMMARIZATION的建议功能。

以下是一个 JSON 示例:

{
  "displayName": "CONVERSATION_PROFILE_NAME",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "featureConfigs": [{
        "suggestionFeature": {
          "type": "CONVERSATION_SUMMARIZATION"
        },
        "conversationModelConfig": {
          "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID",
        }
      }]
    }
  },
  "languageCode": "en-US"
}

响应是一个 ConversationProfile 对象,其中包含对话个人资料 name

{
  "name": "projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "CONVERSATION_PROFILE_NAME",
  "automatedAgentConfig": {
  },
  "humanAgentAssistantConfig": {
    "notificationConfig": {
    },
    "humanAgentSuggestionConfig": {
      "featureConfigs": [{
        "suggestionFeature": {
          "type": "CONVERSATION_SUMMARIZATION"
        },
        "conversationModelConfig": {
        }
      }]
    },
    "messageAnalysisConfig": {
    }
  },
  "languageCode": "en-US",
  "createTime": "2022-06-06T21:06:46.841816Z",
  "updateTime": "2022-06-06T21:06:46.841816Z",
  "projectNumber": "344549229138"
}

在运行时处理对话

当最终用户与人工客服之间开始对话时,您需要创建对话。以下部分将引导您完成此过程。

创建对话

如需创建对话,请对 Conversation 资源调用 create 方法。

响应包含新对话 ID。

创建最终用户参与者

如需创建最终用户参与者,请对 Participant 资源调用 create 方法。为 role 字段提供对话 ID 和 END_USER

participants 后面的路径段包含新的最终用户参与者 ID。

创建人工客服参与者

如需创建人工客服参与者,请对 Participant 资源调用 create 方法。为 role 字段提供对话 ID 和 HUMAN_AGENT

participants 后面的路径段包含新的人工客服参与者 ID。

分析消息

方法 1:在对话期间

如需为对话添加和分析人工客服消息,请对 Participant 资源调用 analyzeContent 方法。提供对话 ID 和人工客服参与者 ID。

如需为对话添加和分析最终用户消息,请对 Participant 资源调用 analyzeContent 方法。提供对话 ID 和最终用户参与者 ID。

如果已针对其他 Dialogflow 功能调用 analyzeContent 方法,请勿重复调用该方法。

方式 2:对话结束后

如果您在对话期间未使用 analyzeContent 方法,则可以使用此选项。您可以改为使用 messages 资源上的 batchCreate 方法来注入对话的历史消息。

获取建议

您可以随时获取建议,以回复任一参与者的最新消息。

选项 1。suggestConversationSummary

conversations.suggestions 资源调用 suggestConversationSummary 方法。提供对话 ID 和任一参与者的最新消息 ID。

选项 2。generateStatelessSummary

调用 generateStatelessSummary 方法。提供对话的 Messages 以及任一参与者的最新消息 ID。

以下是 generateStatelessSummary 的 JSON 请求示例:

{
  "statelessConversation": {
    "messages": [{
      "content": "Hello, how can I help you today?",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }, {
      "content": "I would like to cancel my plan.",
      "languageCode": "en-US",
      "participantRole": "END_USER"
    }, {
      "content": "Okay, I have canceled your plan. Is there anything else that I can do to help you?",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }, {
      "content": "No, thank you.",
      "languageCode": "en-US",
      "participantRole": "END_USER"
    }, {
      "content": "Okay, have a great day!",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }],
    "parent": "projects/PROJECT_ID/locations/global"
  },
  "conversationProfile": {
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [{
          "suggestionFeature": {
            "type": "CONVERSATION_SUMMARIZATION"
          },
          "conversationModelConfig": {
            "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID"
          }
        }]
      }
    },
    "languageCode": "en-US"
  }
}

响应包含 Summarization 建议。

完成对话

如需完成对话,请对 conversations 资源调用 complete 方法。提供对话 ID。