意图识别节点
意图识别节点能够让智能体识别用户输入的意图,并将不同的意图流转至工作流不同的分支处理,提高用户体验,增强智能体的落地效果。
节点说明
意图识别(Intent Recognition)指的是让智能体理解用户通过自然语言表达的意图或目的。意图识别是智能助手的典型能力,例如用户在对话中输入“我想查看今天的 AI 新闻”,其中“查看新闻”为用户意图,也就是用户希望智能体执行的操作。扣子工作流支持意图识别节点对用户意图进行归类,无需再通过大模型节点配合选择器节点实现意图识别,使工作流运行更加高效。
意图识别节点可用于以下场景:
- 客户服务:识别用户问题的类型,并转交各类知识库处理,对于知识库中未匹配的问题,转交人工客服处理。
- 医疗咨询:对用户咨询的医学问题进行归类,非医学问题的咨询则拒绝回复。
- 综合类智能体:对于功能多样的智能体,可以先由意图识别节点对用户咨询进行初步分类,转交各个 Agent 分支处理。
意图识别节点支持极速模式或完整模式运行。
- 极速模式:以较快的速度对用户意图进行分类,适用于关注工作流运行效率的场景。极速模式下使用扣子预设的极速模型进行意图识别,不支持修改模型,且不支持通过高级设置来指定模型分类的提示词。
- 完整模式:意图识别效果优先,响应速度可能较长,适用于需要复杂逻辑判断的场景,例如剧情类游戏中根据情节发展切换剧情。完整模式往往需要选择意图识别能力较强的模型,并配合细致、严谨的提示词。
极速模式
极速模式下,意图识别节点配置如下:
| 配置项 | 说明 |
---|---|---|
模型 | 默认使用扣子预设的极速模型,不支持修改模型。 | |
输入 | 指定需要做意图识别判断的内容。输入参数默认为 query,可引用前置节点的输出参数,或输入指定内容。该参数通常引用开始节点中的用户输入。在对话流中,意图识别节点支持开启智能体对话历史,并设置会话轮数: 对话历史:开启后模型在识别意图时会参考上下文信息,进行综合判断。 会话轮数:设置带入模型上下文的对话历史轮数。轮数越多,多轮对话的相关性越高,但消耗的 Token 也越多。 | |
意图匹配 | 用户意图的分类选项,支持设置多个分类,极速模式下最多可设置 10 个意图。对于匹配到这些分类的意图,处理流程会流转到对应的后续节点,若意图未匹配到此处定义的任何分类,则流转到兜底策略。极速模式下不支持通过高级设置来指定模型分类的提示词,请确保你配置的各个意图名称之间应有明确的区分度,减少交叉语义,以便模型正确分类。 | |
输出 | 节点的输出参数,可作为变量被后续节点引用。输出参数固定为 classificationId,即每个意图的 ID。根据意图匹配中配置的意图,从上到下依次排序,第一个意图的 ID 为 1。若未命中已配置的任何意图,则 ID 为 0,执行其他分支。 |
对话流中的意图识别节点极速模式配置示例如下:
![]()
完整模式
完整模式下,意图识别节点配置如下:
| 配置项 | 说明 |
---|---|---|
模型 | 选择执行意图识别的大模型,支持设置模型在此节点中的生成多样性等参数配置,使模型效果更符合你的预期。 | |
输入 | 指定需要做意图识别判断的内容。输入参数默认为 query,可引用前置节点的输出参数,或输入指定内容。该参数通常引用开始节点中的用户输入。在对话流中,意图识别节点支持开启智能体对话历史,并设置会话轮数: 对话历史:开启后模型在识别意图时会参考上下文信息,进行综合判断。 会话轮数:设置带入模型上下文的对话历史轮数。轮数越多,多轮对话的相关性越高,但消耗的 Token 也越多。 | |
意图匹配 | 用户意图的分类选项,支持设置多个分类,完整模式下最多可设置 50 个意图。对于匹配到这些分类的意图,处理流程会流转到对应的后续节点,若意图未匹配到此处定义的任何分类,则流转到兜底策略。 | |
高级设置 | 追加的系统提示词。扣子平台已指定一系列提示词,用于指导大模型合理识别用户意图并分类,你也可以追加提示词、提供各个分类的用户输入示例,使模型分类更精准。 | |
输出 | 节点的输出参数,可作为变量被后续节点引用。输出参数固定为: classificationId:每个意图的 ID。根据意图匹配中配置的意图,从上到下依次排序,第一个意图的 ID 为 1。若未命中已配置的任何意图,则 ID 为 0,执行其他分支。 reason:分类的原因和依据,由模型自动生成。 |
对话流中的意图识别节点完整模式配置示例如下:
![]()
配置完成后,将意图识别节点与其他节点连接,形成完整的调用链路。
- 意图识别节点的每个意图分类,都需要与后续的处理节点相连接,否则意图命中次分类时无法触发后续的处理流程。例如在客服智能体中,产品咨询的分类可以流转至产品咨询知识库节点处理。
- 推荐为意图识别节点设置兜底策略,若意图未匹配到此处定义的任何分类,则流转到兜底策略处理。
示例
以客户服务类型的工作流为例,通过意图识别节点对用户问题进行归类,并流转至不同知识库处理,对于非售前或售后的咨询,统一转交人工处理。
核心节点如下:
- 意图识别节点:将用户问题分为售前咨询或售后问题,每个分类提供典型示例作为分类的依据,帮助模型更精准地识别用户意图。
- 知识库节点:售前和售后问题分别流转到售前知识库和售后知识库处理,并直接输入给结束节点。你也可以按需在知识库节点之后增加一个大模型节点,用于处理未命中知识库的问题。
- 文本处理节点:意图识别的兜底策略,对于未命中任何分类的意图,统一输出一段文案,指导用户提交工单或联系人工客服。
![]()
常见问题
意图分类不准确应如何处理?
意图识别的准确性受多个因素影响,例如模型性能、分类配置、提示词等。如果发现意图分类不符合预期,你可以参考以下建议提升意图识别节点分类的准确性:
- 调整分类:确保意图分类简洁明了,避免模糊不清或容易混淆的语义。分类之间应有明确的区分度,减少交叉语义,以降低分类混淆的可能性。例如,应避免“动物”和“动植物”这样的分类重叠。
- 选择完整模式:完整模式下可以选择效果更好的模型、设置提示词,提升意图分类效果。
- 填写高级设置:提供具体的用户输入示例,帮助模型更准确地理解并执行分类任务。
- 切换模型:即使在分类和高级设置都已优化的情况下,意图识别的准确性仍然不理想,建议尝试切换不同的模型,以找到最适合你需求的模型。
原创文章,作者:曾确令,如若转载,请注明出处:https://www.zengqueling.com/kzytsbjd/