生成式回退功能使用 Google 最新的生成式大语言模型 (LLM),在最终用户输入的内容与意图或表单填充参数不匹配时生成虚拟客服回答。
您可以使用文本提示来配置此功能,以指示 LLM 如何回答问题。您可以使用预定义的文本提示,也可以添加自己的提示。借助预定义的提示,虚拟客服能够处理基本的对话情境。例如:
- 向用户问候并道别。
- 重复代理所说的内容,以防用户没听懂。
- 在用户要求时保持通话。
- 总结对话内容。
您可以针对在流程、页面或参数填充期间使用的无匹配事件处理脚本启用生成式回退。如果为无匹配事件启用了生成式回退,那么每当该事件触发时,Dialogflow CX 都会尝试生成一个响应,并将其反馈给用户。如果无法成功生成回答,系统会改为发出常规的预设客服人员回答。
限制
此功能支持 Gemini API 支持的语言。
启用生成式后备
您可以在代理中针对无匹配事件处理脚本启用生成式回退,该功能可用于流、页面或参数 fulfillment。
为整个流程的无匹配事件启用生成式回退:
- 前往 Dialogflow CX 控制台。
- 选择一个项目。
- 选择代理,然后选择流程。
- 点击流程的起始页以将其展开。
- 点击事件处理程序下的 sys.no-match-default。
- 在智能体回答下,选中启用生成式后备。
- 点击保存。
针对特定无匹配事件启用生成式回退:
- 前往目标无匹配项事件处理脚本(以无匹配项开头的所有事件,例如无匹配项默认、无匹配项 1 等)。
- 在智能体回答下,选中启用生成式后备。
- 点击保存。
配置生成式后备
如上所述,生成式回退功能会将请求传递给大型语言模型,以便生成回答。请求采用文本提示的形式,其中包含自然语言以及有关代理和对话当前状态的信息。系统会根据违禁短语列表检查提示和生成的回答。如果包含任何禁用短语,或者被认为不安全,则生成将失败,并改为发出常规的预定响应(在同一履单中的 Agent says 下)。
您可以通过多种方式配置此功能:
- 选择预定义的提示。
- 定义自定义提示。
- 在禁用短语列表中添加或移除短语。
创建提示时,除了使用自然语言描述应生成哪种类型的上下文之外,还可以使用以下占位符:
| 术语 | 定义 |
|---|---|
| $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 说明。
选择预定义的提示
- 在 Agent Settings 中,前往 Generative AI 标签页,然后前往 Generative Fallback 子标签页。
- 从模板下拉菜单中选择一个选项。
- 点击保存。
该功能提供两种模板提示,即默认模板(不可见)和示例模板,后者可作为您撰写自己的提示的指南。
自行定义提示
- 在 Agent Settings 中,前往 Generative AI 标签页,然后前往 Generative Fallback 子标签页。
- 在模板下拉菜单中,选择 + 新模板。
- 添加模板名称。
- 添加文本提示。
- 点击保存。
您还可以先修改示例模板,然后将其另存为新模板:
- 在模板下拉菜单中选择示例。
- 点击修改。
- 修改模板名称。
- 修改文本提示。
- 点击保存。
修改禁用短语列表
- 在代理设置中,前往生成式 AI 标签页,然后前往常规子标签页。
- 在禁用短语部分中,检查、添加或移除列表中的短语。
- 点击保存。
测试生成式后备
您可以在模拟器中测试生成式回退功能。每当用户话语在某个流程/页面上导致无匹配结果时,如果该流程/页面上的无匹配事件配置为生成生成式回答(并且生成成功),代理就会输出生成的回答。
Codelab
另请参阅生成式后备 Codelab。
问题排查
如果您想调试该功能,可以在 Dialogflow 控制台模拟器中检查已解析的大语言模型 (LLM) 输入提示:
点击原始回答按钮:

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