生成式回退

生成式后备功能使用 Google 最新的生成式大语言模型 (LLM),在最终用户输入未匹配任何意图或表单填写参数时生成虚拟客服回答。

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

  • 向用户问候并道别。
  • 重复代理所说的内容,以防用户没听懂。
  • 在用户要求时保持通话。
  • 总结对话内容。

您可以针对在流、页面或参数填充期间使用的非匹配项事件处理脚本启用生成式后备。如果为无匹配事件启用了生成式后备,则每当该事件触发时,Dialogflow CX 都会尝试生成一个响应,并将其反馈给用户。如果无法成功生成回答,系统会改为发出常规的预设客服人员回答。

限制

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

启用生成式后备

您可以在代理中针对非匹配项事件处理脚本启用生成式后备,该脚本可用于流、页面或参数 fulfillment。

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

  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. Agent Settings 中,前往 生成式 AI 标签页,然后前往 生成式后备 子标签页。
  2. 模板下拉菜单中选择一个选项。
  3. 点击保存

该功能提供两种模板提示,即默认模板(不可见)和示例模板,后者可作为您撰写自己的提示的指南。

自行定义提示

  1. Agent Settings 中,前往 生成式 AI 标签页,然后前往 生成式后备 子标签页。
  2. 模板下拉菜单中,选择 + 新模板
  3. 添加模板名称
  4. 添加文本提示
  5. 点击保存

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

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

修改禁用短语列表

  1. Agent Settings 中,依次前往 生成式 AI 标签页和 General 子标签页。
  2. 禁用短语部分中,检查、添加或移除列表中的短语。
  3. 点击保存

测试生成式后备

您可以在模拟器中测试生成式后备功能。每当用户话语在配置为生成生成式回答(且生成成功)的 flow/页面上导致无匹配时,代理都会输出生成的回答。

Codelab

另请参阅生成式后备 Codelab

问题排查

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

  1. 点击原始回答按钮:

    原始回答

  2. 找到“生成式后备提示”字段。以纯文本形式读取这些字段,并检查 LLM 输入是否合理。如果任何短语包含 $,请检查模拟器输入,并明确提示中的 $ 是否是故意的(例如,price is $10 中的 $ 可能是故意的,而 visit $city 可能不是故意的,可能意味着误用或 bug)。如果您不确定,请与支持团队联系

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