使用自定义部分的摘要功能会使用 LLM 来总结客户服务对话。该模型会接受对话和自定义版块(这些内容是定义模型执行的任务的文本提示的一部分),然后生成摘要。
您还可以在自定义部分中编写自己的总结任务定义。生成器中介绍了预定义和自定义部分。
预定义版块
此功能提供了六个预定义部分,您可以从中进行选择:
情况。这是客户需要帮助或有疑问的内容。
操作。定义为客服人员为帮助客户所做的事。
解决。共有四个选项。
- Y:是的。所有客户问题和查询均已得到解决。
- P:部分支持。仅解决了多个客户问题和查询中的部分问题。
- N:否。没有任何客户问题和查询得到解决。
- 不适用:客户在对话中未提出任何具体问题或疑问。
客户满意度。选项包括“不满意”或“不不满意”。
- D:客户在对话结束时感到不满或有负面情绪。
- N:在对话结束时,客户的感受为中性或积极。
取消原因。如果客户申请取消,则取消原因。否则为“N/A”。
实体。从对话中提取的重要实体的键值对。
创建摘要生成器
控制台
如需使用 Agent Assist 控制台创建摘要生成器,请执行以下操作:
在控制台中,前往总结页面,然后选择生成器。
输入生成器的名称。
选择生成器的版本。
选择输出语言。
选择预定义版块下的版块。
在自定义部分下添加部分:根据需要定义新的总结任务,还可以选择添加少样本示例以进行增强。
点击保存。
REST
如需使用该 API 创建摘要生成器,请执行以下操作:
从 Generator 资源调用
CreateGenerator
方法。在
description
字段中输入生成器的名称。在
output_language_code
字段中输入生成器的输出语言代码。输入触发器事件
MANUAL_CALL
。在 SummarizationContext 中选择预定义部分,并添加包含少样本示例的自定义部分。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Cloud 项目 ID
- LOCATION_ID:您的位置 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators
请求 JSON 正文:
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "description": "test", "triggerEvent": "MANUAL_CALL", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "description": "test", "inferenceParameter": { "maxOutputTokens": 1024, "temperature": 0.0, "topK": 40, "topP": 0.8 }, "triggerEvent": "MANUAL_CALL", "createTime": "2024-05-11T00:28:14.790937126Z", "updateTime": "2024-05-11T01:59:15.751724150Z", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
测试摘要生成器
在控制台中,您可以在测试生成器部分测试生成器,如下图所示。
如需在控制台中测试生成器,请执行以下操作:
控制台
对话的转写内容。您可以手动输入语音,也可以上传 JSON 格式的转写内容,如以下图片所示。
点击生成以显示摘要。
配置对话配置文件
对话配置文件可配置一组参数,用于控制对话期间向客服人员提出的建议。以下步骤将使用 HumanAgentAssistantConfig
对象创建 ConversationProfile
。
以下示例展示了如何创建对话配置文件。
控制台
在 Agent Assist 控制台中,前往对话配置文件页面。
输入显示名称。
选择对话摘要(生成器)作为建议类型。
从列表中选择发电机的名称。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Cloud 项目 ID
- LOCATION_ID:您的位置 ID
- CONVERSATION_PROFILE_ID:您的对话配置文件 ID
- GENERATOR_ID:您的生成器 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles
请求 JSON 正文:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
使用模拟器进行验证
您可以在 Agent Assist 模拟器中验证对话配置文件。
运行时对话
在运行时,当用户与客服人员之间开始对话时,您需要创建对话,即客服人员(人工或虚拟)与支持客户或用户之间的互动。如需查看建议,请创建用户参与者和客服参与者,并将其添加到对话中。
创建对话
如需创建对话,请对 Conversation
资源调用 create
方法。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Cloud 项目 ID
- LOCATION_ID:您的位置 ID
- CONVERSATION_PROFILE_ID:您在创建对话配置文件时收到的 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
请求 JSON 正文:
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z" }
conversations
后面的路径段包含新对话 ID。
创建用户参与者
如需创建用户参与者,请对 Participant
资源调用 create
方法。为 role
字段提供对话 ID 和 END_USER
。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Cloud 项目 ID
- LOCATION_ID:您的位置 ID
- CONVERSATION_ID:您的对话 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
请求 JSON 正文:
{ "role": "END_USER", }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
participants
后面的路径段包含新的用户参与者 ID。
创建客服参与者
对 Participant
资源调用 create
方法。为 role
字段提供对话 ID 和 HUMAN_AGENT
或 AUTOMATED_AGENT
。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Cloud 项目 ID
- LOCATION_ID:您的位置 ID
- CONVERSATION_ID:您的对话 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
请求 JSON 正文:
{ "role": "HUMAN_AGENT", }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
participants
后面的路径段包含新的客服人员参与者 ID。
分析消息
您可以通过以下两种方式分析消息:
对话期间。如需为对话添加和分析客服人员消息,请对
Participant
资源调用analyzeContent
方法。提供对话 ID 和客服参与者 ID。如需为对话添加和分析用户消息,请对Participant
资源调用analyzeContent
方法。提供对话 ID 和用户参与者 ID。如果analyzeContent
方法已用于其他 Dialogflow 功能,请勿重复调用该方法。对话结束后。如果您在对话期间未使用
analyzeContent
方法,则可以使用此选项。不过,您可以对messages
资源使用batchCreate
方法来注入对话的历史消息。
生成摘要
您可以随时获取任何参与者发送的最新消息的建议。
对
conversations.suggestions
资源调用suggestConversationSummary
方法。提供对话 ID 和任一参与者的最新消息 ID。调用
generateStatelessSuggestion
方法。提供ConversationContext
、生成器名称和触发器事件(应为MANUAL_CALL
)。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Cloud 项目 ID
- LOCATION_ID:您的位置 ID
- GENERATOR_ID:您的生成器 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate
请求 JSON 正文:
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "generatorName": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "conversationContext" { "messageEntries": [{ "role": "HUMAN_AGENT", "text": "Hi, this is ABC messaging, how can I help you today?", "languageCode": "en-US" }, { "role": "END_USER", "text": "I want to return my order, it is broken", "languageCode": "en-US" }] }, "triggerEvents": [ "MANUAL_CALL" ] }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "generatorSuggestion": { "summarySuggestion": { "summarySections": [ { "section": "situation", "summary": "customer wants to return an order." }, { "section": "resolution", "summary": "N" } ] } } }
响应包含摘要。
完成对话
如需完成对话,请对 conversations
资源调用 complete
方法。提供对话 ID。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 GCP 项目 ID
- CONVERSATION_ID:您在创建对话时收到的 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID", "lifecycleState": "COMPLETED", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z", "endTime": "2018-11-06T03:50:26.930Z" }