生成式回退

当最终用户输入与表单填充 intent 或参数不匹配时,生成式回退功能会使用 Google 最新的生成式大型语言模型 (LLM) 生成虚拟客服人员回答。

此功能可通过文本提示进行配置,以指示 LLM 如何响应。您可以使用预定义的文本提示,也可以添加自己的提示。使用 预定义提示,虚拟客服能够处理基本对话式对话, 情况。例如:

  • 向用户问候和告别。
  • 重复代理所说的内容,以防用户不理解。
  • 在用户要求时,保持竖线。
  • 总结对话。

您可以在流、页面或参数填充期间针对无匹配事件处理脚本启用生成式回退。针对 不匹配事件,每当该事件触发时,对话代理 (Dialogflow CX) 就会尝试生成 系统生成的回复将会对用户进行回复如果响应 生成失败,则系统会发出常规的指定代理响应 。

限制

此功能支持 Gemini API 支持的语言

启用生成式回退

您可以在代理中针对无匹配事件处理脚本启用生成式回退,该回退可用于流、页面或参数执行方式。

为整个流程的无匹配事件启用生成式回退:

  1. 转到 Dialogflow CX 控制台
  2. 选择一个项目。
  3. 选择一个代理,然后选择一个流程。
  4. 点击流程的开始页以将其展开。
  5. 点击事件处理脚本下的 sys.no-match-default
  6. 选中代理响应下的启用生成式回退
  7. 点击保存

针对特定非匹配事件启用生成式回退:

  1. 前往目标无匹配事件处理脚本(任何以 非匹配(例如,默认无匹配无匹配 1 等)。
  2. 客服回答下,选中启用生成式后备回答
  3. 点击保存

配置生成式回退

如上所述,生成式回退功能会将请求传递给 以生成生成的回答。请求 文本提示,将自然语言和 有关客服人员和对话的当前状态的信息。系统会将问题和生成的回答与禁用字词列表进行比对。如果这些字词包含任何禁止使用的字词,或被视为不安全,系统将无法生成回复,而是改为发出常规规定的回复(在同一执行方式中的客服人员的回答下方)。

您可以通过多种方式配置此功能:

  1. 选择一个预定义的提示。
  2. 定义自定义提示。
  3. 在被禁词组列表中添加或移除词组。

在创建提示时,除了以自然语言描述什么 上下文,也可以将以下占位符 已使用:

术语 定义
$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 说明。

选择预定义的提示

  1. 客服人员设置中,依次前往 Generative AI 标签页和 Generative Fallback 子标签页。
  2. 选择模板下拉菜单中的一个选项。
  3. 点击保存

该功能提供了两个模板提示,即默认模板( 以及可作为撰写指南的示例模板 自己的提示。

定义您自己的提示

  1. 代理设置中,前往生成式 AI 标签页,然后找到 生成式回退子标签页。
  2. 模板下拉菜单中选择 + 新模板
  3. 添加模板名称
  4. 添加文本提示
  5. 点击保存

您也可以先修改示例模板,然后将其另存为新模板:

  1. 模板下拉菜单中,选择示例
  2. 点击修改
  3. 修改模板名称
  4. 修改文本提示
  5. 点击保存

修改已禁用字词列表

  1. 代理设置中,前往生成式 AI 标签页,然后找到 常规子标签中。
  2. 已禁止的词组部分,检查相应词组、向以下词组添加或从中移除词组 列表。
  3. 点击保存

测试生成式回退

您可以在模拟器中测试生成式回退功能。每当用户 导致出现不匹配事件的流/网页 配置为生成生成式响应(生成成功), 将输出生成的响应。

Codelab

另请参阅生成式回退 Codelab

问题排查

如果您想调试此功能,可以在 Dialogflow 控制台模拟器中检查已解析的大语言模型 (LLM) 输入提示:

  1. 点击原始回答按钮:

    原始回复

  2. 找到“生成式回退提示”字段。请将这些字段简单明了 并检查 LLM 输入是否合理。如果任何短语包含 $,请检查模拟器输入,并明确提示中的 $ 是否有意为之(例如,price is $10 中的 $ 可能是有意为之,而 visit $city 中的 $ 可能不是,可能暗示了用法错误或 bug)。如果您不确定,请与支持团队联系

  3. 如果您使用的是非默认的提示模板,但没有看到“生成式后备提示”字段,请与支持团队联系