dify可通过构建“标签定义库”和“文档自动标签化”工作流实现文档上传时自动打业务标签。先在知识库中建立含标签名及特征描述的纯文本标签体系,再通过单节点分类或rag增强双阶段分类工作流,结合文档解析与大模型推理,输出唯一匹配标签并发布api供调用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify自动给上传的文档打上业务标签,比如“合同”“发票”“用户反馈”“技术文档”,而不是靠人工翻看内容再手动选标签。这一步必须在文档进入知识库前完成,否则后续按标签检索、权限控制、路由分发都会失效。
准备带描述的标签体系
打开Dify工作台→点击左侧「知识库」→新建一个专用知识库,命名为“标签定义库”。
这个知识库不存业务文档,只存你认可的标签及其标准描述。每条记录格式为:【标签名】+换行+【该标签的典型特征与排除条件】。例如:
合同
包含甲乙双方名称、签署日期、违约责任条款;不含“报销”“金额合计”“开票信息”等字样。
发票
含“发票代码”“校验码”“销售方/购买方名称及税号”;通常有10~12位数字代码,且出现“¥”或“元”单位金额。
【必须用纯文本逐条录入,不能合并成一段,否则向量检索会混淆语义】
构建分类工作流
回到工作台→点击「工作流」→新建空白ChatFlow,命名为“文档自动标签化”。
方法一:轻量级单节点分类(适合标签≤8个、文档类型明确)
添加「大模型」节点→在提示词中写明:“你是一个精准的文档类型识别器。请严格从以下8个选项中选择唯一最匹配的标签:[合同, 发票, 用户反馈, 技术文档, 会议纪要, 培训材料, 法务函件, 其他]。仅输出标签名,不要解释。”→将文档提取后的文本直接作为输入变量传入该节点。
Dify 3.9.2更新重点增强系统安全性,引入 Chainguard 安全基础镜像并同步社区版 CVE 修复,同时优化 OpenSearch 向量存储兼容性、插件参数传输机制及 Helm 部署配置。新增工作流模型节点缓存能力,可减少重复凭证查询,显著提升复杂工作流初始化速度,为企业级 AI 应用提供更稳定、高效的运行体验。
方法二:RAG增强双阶段分类(推荐,标签数多、边界模糊时准确率提升40%以上)
第一步:添加「知识检索」节点→选择刚才建的“标签定义库”→设置top_k=5→开启「启用高亮片段」;
第二步:添加「大模型」节点→提示词开头写:“你已获得5个候选标签及其定义。请结合用户文档全文,选出语义匹配度最高的1个标签。若都不匹配,输出‘其他’。只输出标签名。”→输入变量为「文档文本 + 检索返回的5段定义」。
【注意:知识检索节点必须放在大模型节点之前,且两者间用实线连接,否则检索结果无法传递】
接入文档并触发分类
第一步:添加「文件输入」节点→字段类型选「文件列表」→勾选支持格式:PDF、DOCX、TXT、MD;
第二步:添加「文档解析器」节点→连接到文件输入节点→在设置中开启「保留原始段落结构」,关闭「自动分块」;
第三步:将文档解析器的输出「text_content」拖拽连线至后续分类节点的输入变量;
第四步:在工作流末尾添加「变量输出」节点→新增输出变量名为「classified_label」→绑定来源为大模型节点的「输出文本」;
第五步:点击右上角「发布」→复制生成的API地址,即可用curl或Postman上传文件测试。









