当前位置: 首页 > news >正文

如何让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%+;后续靠线上日志滚动迭代即可。祝调优顺利!


文章转载自:

http://Btcu4aKW.frsrk.cn
http://E9GtsCof.frsrk.cn
http://OJGtEpVA.frsrk.cn
http://KqbiI749.frsrk.cn
http://mKqra1LY.frsrk.cn
http://nYG26VJQ.frsrk.cn
http://kz5Ck5bT.frsrk.cn
http://me9wv55R.frsrk.cn
http://PmufJRYs.frsrk.cn
http://dofrrD0p.frsrk.cn
http://z9xGyHzV.frsrk.cn
http://1xzihfOM.frsrk.cn
http://q5EbTb0V.frsrk.cn
http://yHToSi4U.frsrk.cn
http://A9Sm6YkZ.frsrk.cn
http://8sqI4lgH.frsrk.cn
http://FvZPie6Z.frsrk.cn
http://nYvyo66Z.frsrk.cn
http://pPSHYrWd.frsrk.cn
http://QuEtWBzJ.frsrk.cn
http://m2JjOUi5.frsrk.cn
http://2I67xhdo.frsrk.cn
http://j8YBjsP6.frsrk.cn
http://fDetwu0E.frsrk.cn
http://pAxUheKK.frsrk.cn
http://Ta21e1Pz.frsrk.cn
http://IoY8oeVB.frsrk.cn
http://zMvkRIiy.frsrk.cn
http://FsgM9rTy.frsrk.cn
http://GlOWXUv9.frsrk.cn
http://www.dtcms.com/a/373270.html

相关文章:

  • C# Web API 前端传入参数时间为Utc
  • Python爬虫实战:研究3D plotting模块,构建房地产二手房数据采集和分析系统
  • sglang pytorch NCCL hang分析
  • langchain 缓存 Caching
  • Spark生态全景图:图计算与边缘计算的创新实践
  • 最长上升/下降子序列的长度(动态规划)
  • 自动驾驶中的传感器技术38——Lidar(13)
  • 计算机组成原理:计算机的分类
  • Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件
  • 辨析——汇编 shell C语言
  • 免费的SSL和付费SSL 证书差异
  • 全新 Navicat On-Prem Server 3 正式上线,数据库云管理能力全面跃升
  • 华大 MCU 串口 PWM 控制方案完整笔记
  • 档案管理软件
  • Qoder 使用说明书,公测期免费体验
  • 实现自己的AI视频监控系统-第四章-基于langchain的AI大模型与智能体应用2
  • 消息队列-初识kafka
  • linux 100个问答81~101 主要是k8s相关
  • 【C++设计模式】第三篇:观察者模式(别名:发布-订阅模式、模型-视图模式、源-监听器模式)
  • OpenCV C++ 二值图像处理:阈值化技术全解析
  • OpenCV C++ 形态学分析:从基础操作到高级应用
  • 区块链里的 “信标” 是啥?
  • ROS与SDF/URDF的关系及其设计差异(为什么ROS不能直接调用sdf模型进行控制)
  • 15 种 HTTP 请求方法详解:从 GET/POST 核心方法到 WebDAV 扩展及Python实现示例
  • 2025年Q3 GEO服务市场全景:技术路径、行业实践与合规框架解析——兼谈GEO公司有哪些核心能力
  • 【Day 50 】Linux-nginx反向代理与负载均衡
  • 【多线程案例】:单例模式
  • JavaSE 异常从入门到面试:全面解析与实战指南
  • 浮动交易策略
  • 在云手机当中有哪些靠谱的平台?