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

提高dify问题分类的准确性

1. 模型与参数:先把 “硬件” 拉满

  • 模型选择分类任务必须用强推理模型

    • GPT-3.5-turbo / GPT-4
    • 通义千问 Pro / 文心 4.0 / 字节豆包 Pro小模型(7B、1.8B)分类准确率天生差,不建议用于意图判断。
  • 参数设置(关键)

    • Temperature = 0 ~ 0.1越低越稳定、越不会乱分类。
    • Top P = 0.1 ~ 0.3
    • 禁止开启 “创意模式”“自由发挥”

2. 只让分类器看当前问题,不要看历史对话

这是90% 人准确率低的核心原因。用户前面聊别的,后面突然问新问题,分类器会被上下文带偏。

正确做法:Question Classifier 的输入只传:

plaintext

sys.query

不要传入历史对话、不要传入系统提示。

3. 类别设计必须清晰、互斥、不重叠

类别越模糊,准确率越低。原则:

  • 类别之间不能有歧义
  • 一个问题只能属于一个类别
  • 类别数量不要太多(建议 3~8 类)
  • 必须加一个【其他】兜底

错误示例:

  • 投资、融资、找机构、找资金 → 应该合并为【找投资】
  • 需求、项目、产品、痛点 → 合并为【找需求】

4. 提示词结构:固定格式 = 高准确率

给你一个Dify 分类器专用高准确率提示词,直接复制:

plaintext

你是一个严格的意图分类器。 规则: 1. 只根据用户当前这句话判断,不看上下文。 2. 必须且只能选择一个类别。 3. 语义不明确时,一律返回【其他】。 类别定义: 【找投资】 用户询问融资、投资人、基金、投资偏好、合作、资金、IPO、并购、退出。 【找需求】 用户询问项目、产品需求、市场机会、客户痛点、解决方案、功能设计。 【AI赛道】 涉及大模型、LLM、RAG、Agent、提示词、AI应用、AIGC、向量库。 【智能制造】 涉及机器人、工业自动化、芯片、硬件、装备、产线、工厂、精密制造。 【其他】 不属于以上任何类别。 用户问题:{user_query} 只输出类别名称,不要任何多余内容。

5. 给每个类别提供 3~5 个示例句(非常有效)

LLM 最喜欢示例,有示例准确率直接提升一档。在提示词里加:

plaintext

示例: 1. 我想融资 → 【找投资】 2. 有什么好项目 → 【找需求】 3. 怎么做RAG → 【AI赛道】 4. 工业机器人前景 → 【智能制造】 5. 今天吃什么 → 【其他】

6. 禁止输出解释,只输出类别名

分类器一旦开始解释,就容易跑偏。强制要求:

  • 只输出类别名称
  • 不要理由
  • 不要分析
  • 不要 JSON(除非你必须用 JSON)

简单输出最稳定。

7. 用 “强制格式指令” 锁死输出

在最后加一句:

plaintext

输出格式:仅输出【】内的类别名称,不输出任何其他内容。

8. 避免类别太细、太相似

例如:

  • 不要分:早期投资、成长期投资、PE 投资
  • 统一叫【找投资】细分类可以在后续节点再判断,不要让分类器一次性做太难的任务。

9. 测试集验证 & Bad Case 优化

准备 20~50 条测试问句,反复跑,把分错的句子加入提示词作为反例

例如:

plaintext

反例: “我有项目想找钱” → 不属于【找需求】,属于【找投资】

反例越多,模型越不容易错。

10. 进阶:用 JSON 结构化输出(更稳定)

如果你希望后续流程更稳,可以让分类器输出 JSON:

plaintext

{ "category": "找投资" }

JSON 格式比纯文本更不容易乱输出。


最简单总结(照着做就能提高)

  1. 用强模型,温度 0.1
  2. 只看当前问题,不看历史
  3. 类别少、清晰、互斥
  4. 提示词给定义 + 示例
  5. 强制只输出类别
  6. 收集错例,优化提示词
http://www.cnnetsun.cn/news/1869540.html

相关文章:

  • 007、声码器技术对比:WaveNet、WaveGlow 与 HiFi-GAN 原理剖析
  • 字符设备驱动核心机制解析
  • 从零到一:如何用智能弹幕助手将直播效率提升3倍
  • 达摩院StructBERT中文句向量工具效果展示:多行业术语同义映射案例集
  • 3分钟学会PRoot:无需root权限在Android上运行完整Linux系统的终极指南
  • 如何高效解决魔兽争霸3兼容性问题:专业开源修复工具的完整指南
  • 特斯拉Model 3 CAN总线数据解析实战:如何高效实现车辆数据监控与智能分析
  • Python电子书处理终极指南:用EbookLib轻松管理EPUB格式
  • 前端使用AI试水报告慕
  • 避坑指南:用VS2022编译openCASCADE 7.7给Qt5用,解决渲染窗口黑屏、鼠标交互失灵问题
  • Java垃圾回收器笔记
  • AI 时代:祛魅、适应与重新定义痴
  • CasRel模型与卷积神经网络(CNN)特征提取器的结合探索
  • 新手小白学习人工智能,推荐哪些入门书籍和课程?适合零基础的有哪些?(收藏版)
  • 怎样使用League Akari:英雄联盟玩家的5步高效游戏助手完全指南
  • 机器学习与深度学习的区别是什么?怎样选择研究方向?
  • CV算法工程师必看!一文读懂四大核心任务
  • WuWa-Mod终极指南:一键解锁《鸣潮》游戏无限潜能
  • 每日两道算法题(第四天)(01背包,模拟+素数)
  • 编译原理知识在实际编译器开发中的运用
  • Matlab 2022深度学习实战:使用CNN-LSTM进行猫狗图像分类
  • Phi-3-mini-128k-instruct多场景应用:跨境电商商品描述生成+多语言翻译协同
  • 3步开启你的Web游戏模拟器:EmulatorJS完全指南
  • 基于51单片机的超声波测距系统设计与实现【仿真+源码+报告+视频】
  • ViPER4Windows终极修复指南:简单三步解决Windows 10/11音频兼容性问题 [特殊字符]
  • Wan2.2-I2V-A14B效果展示:长时序一致性(10秒内动作连贯性评测)
  • 3分钟免费安装:Figma中文界面插件完整指南
  • 没开电脑! 只用手机和QQ聊天, 让openClaw帮我“手搓“个AI新闻网站噬
  • EF Core 慢查询排查实战:TagWith、OpenTelemetry、执行计划, 分钟定位性能瓶颈九
  • SQUIRE: Leveraging Sequence-to-sequence Transformers for Robust Multi-hop Knowledge Graph Completion