当最终用户输入与表单填充 intent 或参数不匹配时,生成式回退功能会使用 Google 最新的生成式大型语言模型 (LLM) 生成虚拟客服人员回答。
此功能可通过文本提示进行配置,以指示 LLM 如何响应。您可以使用预定义的文本提示,也可以添加自己的提示。借助预定义的提示,虚拟客服能够处理基本对话场景。例如:
- 向用户问候和告别。
- 重复代理所说的内容,以防用户不理解。
- 在用户要求时保持通话。
- 总结对话内容。
您可以在流、页面或参数填充期间针对无匹配事件处理脚本启用生成式回退。为无匹配事件启用生成式回退后,每当该事件触发时,Conversational Agents (Dialogflow CX) 都会尝试生成一个响应,并将其说回给用户。如果生成响应失败,系统将改为发出常规的规定客服人员响应。
限制
此功能支持 Gemini API 支持的语言。
启用生成式回退
您可以在代理中针对无匹配事件处理脚本启用生成式回退,该回退可用于流、页面或参数执行方式。
为整个流程的无匹配事件启用生成式回退:
- 前往 Dialogflow CX 控制台。
- 选择一个项目。
- 选择一个代理,然后选择一个流程。
- 点击流程的开始页以将其展开。
- 点击事件处理脚本下的 sys.no-match-default。
- 在客服回答下,选中启用生成式后备回答。
- 点击保存。
针对特定的无匹配事件启用生成式回退:
- 前往目标 No-match 事件处理脚本(以 No-match 开头的任何事件,例如 No-match default、No-match 1 等)。
- 在客服回答下,选中启用生成式后备回答。
- 点击保存。
配置生成式回退
如上所述,生成式回退功能会将请求传递给大型语言模型,以生成生成式回答。该请求采用文本提示的形式,其中混合了自然语言和有关客服人员和对话当前状态的信息。系统会将问题和生成的回答与禁用字词列表进行比对。如果这些字词包含任何禁止使用的字词,或被视为不安全,系统将无法生成回复,而是改为发出常规规定的回复(在同一执行方式中的客服人员的回答下方)。
您可以通过多种方式配置此功能:
- 选择一个预定义的提示。
- 定义自定义提示。
- 在已禁用字词列表中添加或移除字词。
创建问题时,除了使用自然语言描述应生成哪种上下文之外,还可以使用以下占位符:
术语 | 定义 |
---|---|
$conversation | 代理与用户之间的对话,不包括用户的最后一句话语。 |
${conversation USER:"<user prefix>" AI:"<agent prefix>" TURNS:<turn count>} | $conversation 占位符的参数化版本。您可以自定义最终用户前缀 (USER )、代理前缀 (AI ) 以及要包含的上一个对话轮数 (TURNS )。必须指定所有占位符参数值。例如:${conversation USER:"Human says:" AI:"Agent says:" TURNS:4} |
$last-user-utterance | 最后一次用户语音指令。 |
$flow-description | 活跃流的流程说明。 |
$route-descriptions | 有效 intent 的 intent 说明。 |
请务必提供良好的流程和 intent 说明。
选择预定义的提示
- 在客服人员设置中,依次前往 Generative AI 标签页和 Generative Fallback 子标签页。
- 从模板下拉菜单中选择一个选项。
- 点击保存。
此功能提供了两个模板提示,即默认模板(不可见)和示例模板,可作为编写您自己的提示的指南。
定义您自己的提示
- 在客服人员设置中,依次前往 Generative AI 标签页和 Generative Fallback 子标签页。
- 在模板下拉菜单中,选择 + 新建模板。
- 添加模板名称。
- 添加文本提示。
- 点击保存。
您也可以先修改示例模板,然后将其另存为新模板:
- 在模板下拉菜单中,选择示例。
- 点击修改。
- 修改模板名称。
- 修改文本提示。
- 点击保存。
修改已禁用字词列表
- 在客服人员设置中,依次前往 Generative AI 标签页和 General 子标签页。
- 在已禁用的词组部分中,检查列表、向列表中添加词组或从列表中移除词组。
- 点击保存。
测试生成式回退
您可以在模拟器中测试生成式回退功能。每当用户语句导致流程/页面上发生无匹配事件且该无匹配事件已配置为生成生成式响应(且生成成功)时,代理都会输出生成的响应。
Codelab
另请参阅生成式回退 Codelab。
问题排查
如果您想调试此功能,可以在 Dialogflow 控制台模拟器中检查已解析的大语言模型 (LLM) 输入提示:
点击原始回答按钮:
找到“生成式后备提示”字段。将这些字段作为纯文本读取,并检查 LLM 输入是否合理。如果任何短语包含
$
,请检查模拟器输入,并明确提示中的$
是否有意为之(例如,price is $10
中的$
可能是有意为之,而visit $city
中的$
可能不是,可能暗示了用法错误或存在 bug)。如果您不确定,请与支持团队联系。如果您使用的是非默认的提示模板,但没有看到“生成式后备提示”字段,请与支持团队联系。