如何让dify分类器更加精准的分类?

为了让 Dify 的 AI 流程在"分类"这一环节尽可能精准,你需要把"分类提示词"当成一个小型专家系统来设计:

  1. 让模型先理解分类目的
  2. 给它边界清晰、互斥、完备的类别定义;
  3. 再给它可复制的"判断流程"(而不是只扔几个例子);
  4. 最后给它兜底与反馈机制,方便后续迭代。

下面给出可直接套用的模板 + 调优口诀,按"提示词结构 → 变量占位 → 迭代方法"三步走,基本就能达到生产级的精确度。


一、提示词结构(可直接复制到 Dify 的"提示词模板"里)

复制代码
【角色】
你是一名<垂直领域>分类专家,任务是把用户输入唯一分到且仅分到一个类别,否则记为"other"。

【类别定义表】
请严格使用下表,不得新增、合并、删减。
| 类别编码 | 类别名称 | 定义(必填) | 关键特征(必填) | 反例(必填) |
| A | 退货咨询 | 用户想退回已购商品 | 含"退""退款""寄回"等词 | "如何保养商品"不算 |
| B | 价格保护 | 用户要求补差价 | 含"降价""买贵""补差" | "能否便宜点"不算 |
| ... | ... | ... | ... | ... |

【判断流程】
1. 提取输入中的关键词,与"关键特征"列做交集。  
2. 若仅命中一条定义→直接返回对应编码。  
3. 若命中多条→按"定义"列的限定条件再筛选;仍无法区分→选排序最靠前的一条。  
4. 若完全未命中→返回"other"。  

【输出格式】
只返回 JSON:{"category":"<类别编码>","reason":"<一句话原因>"}

【输入】
{{input}}

二、变量占位与 Dify 对接

  1. 把上面的提示词整体放进 Dify 的"系统提示词"节点。
  2. {``{input}} 作为用户原始 Query 的占位符(Dify 会自动替换)。
  3. 如果分类维度不止一个(先主场景、再情绪),就串两个"LLM 节点":
    节点 1 输出主场景编码 → 节点 2 把主场景编码再当变量 {``{scene}} 传进去,做第二次细分。
    这样既解耦,又方便分别迭代。

三、迭代口诀(精准度从 85% → 98% 的核心)

  1. 定义闭环:

    每出现一次"other"或人工纠偏,就把新样本补充到"反例"列,并检查是否需拆类。

    保证"定义-特征-反例"三位一体同时更新,否则模型会学会偏斜。

  2. 关键词权重化:

    把"关键特征"再拆成"强信号词"与"弱信号词",在提示里告诉模型:

    出现 1 个强信号即可直接判定;仅出现弱信号时需结合上下文。

    示例:

    • 强信号:花呗、退款编号、价保入口
    • 弱信号:便宜、差价
  3. 引入"否定特征":

    在定义里加一行"若出现以下词则直接排除本类",可快速解决边界混淆。

    示例:

    "价格保护"类否定特征:含"优惠券""秒杀"直接排除。

  4. 小样本冷启动:

    若初始样本<30 条,先用提示工程跑 100 条伪标签,再人工复核 30 条高置信错误即可上线;后续用线上日志做主动学习。

  5. 输出置信度:

    在 JSON 里多加一字段 "confidence":<1-5>,让下游流程决定是直通还是转人工。

    调优时优先看低置信区间的错误,效率最高。


四、一个最小可工作的电商场景示例

复制代码
【角色】
你是电商客服场景下的分类专家。

【类别定义表】
| 编码 | 名称 | 定义 | 关键特征 | 反例 |
| A | 退货 | 用户想退回商品 | 退、退款、寄回、已申请 | "如何保养" |
| B | 价保 | 用户要求补差价 | 降价、买贵、补差、30 天价保 | "能否便宜点" |
| C | 开发票 | 用户索要发票 | 发票、抬头、电子发票 | "收据" |
| D | 其他 | 以上都不是 | --- | --- |

【判断流程】
1. 先匹配强信号词;  
2. 多条命中时,选最先出现的类别;  
3. 完全无匹配→D。  

【输出】
{"category":"<编码>","reason":"<原因>"}

【输入】
{{input}}

五、常见坑速查表

  • 类别名称用"动词+名词"短句,避免"咨询/问题"这种万能词。
  • 一条样本只能属于一个类别,若业务上允许多标签,就拆成"多轮单标签"或改用多标签模型,别硬塞给 LLM。
  • 提示词里别给"正向示例",只给"定义+特征+反例",否则模型会过拟合例子而忽视定义。
  • 每次新增类别,一定同步更新"否定特征",否则旧类别会"吃掉"新类别。

按以上模板填完,基本能在 30 条样本内把宏观准确率拉到 95%+;后续靠线上日志滚动迭代即可。祝调优顺利!

相关推荐
星期天要睡觉3 小时前
计算机视觉(opencv)——基于模板匹配的身份证号识别系统
人工智能·opencv·计算机视觉
东方佑3 小时前
打破常规:“无注意力”神经网络为何依然有效?
人工智能·深度学习·神经网络
Mendix3 小时前
使用 Altair RapidMiner 将机器学习引入您的 Mendix 应用程序
人工智能·机器学习
Francek Chen4 小时前
【深度学习计算机视觉】03:目标检测和边界框
人工智能·pytorch·深度学习·目标检测·计算机视觉·边界框
九章云极AladdinEdu4 小时前
AI集群全链路监控:从GPU微架构指标到业务Metric关联
人工智能·pytorch·深度学习·架构·开源·gpu算力
九章云极AladdinEdu4 小时前
Kubernetes设备插件开发实战:实现GPU拓扑感知调度
人工智能·机器学习·云原生·容器·kubernetes·迁移学习·gpu算力
蒋星熠4 小时前
深入 Kubernetes:从零到生产的工程实践与原理洞察
人工智能·spring boot·微服务·云原生·容器·架构·kubernetes
aneasystone本尊4 小时前
学习 Chat2Graph 的多智能体协作机制
人工智能
精灵vector4 小时前
LLMCompiler:基于LangGraph的并行化Agent架构高效实现
人工智能·python·langchain