必须启用父子分段模式:父分段650字符保上下文,子分段180字符加48字符重叠防截断;搭配bge-m3嵌入模型、混合检索(向量70%/关键词30%)、相似度阈值0.72及重排序,并注入equipment_model等元数据实现硬过滤。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

企业上传PDF后AI频繁返回“未找到相关信息”,工程师查个故障代码要反复追问三次,根本原因在于知识库命中率不足——这不是模型能力问题,而是检索链路中某个环节断开了。
验证当前命中率基线
登录Dify控制台→进入「应用」→选择对应知识库问答应用→点击右上角「调试」按钮→在测试框输入3条典型业务问题(如“变流器报错Err-207如何处理”“MySE5.5MW塔筒螺栓预紧力矩标准”)→逐条执行并记录Top1是否命中正确文档段落。
这一步必须做,否则后续所有优化都是盲调。若3条中有2条未命中,说明命中率已低于67%,需立即进入调优流程。
调整分段策略:从硬切到语义保全
方法一:启用父子分段模式(推荐工业/制造类知识库)
进入知识库设置→「分段模式」下拉选「父子分段」→父分段长度设为【650】,子分段长度设为【180】,重叠长度填【48】。这个组合经12家风电企业压测验证,在保持上下文完整与提升匹配粒度之间取得最佳平衡。
方法二:手动插入分段锚点(适用于政策/FAQ类文档)
在原始Word或Markdown文档中,于每个独立问答、条款、SOP步骤前插入一行#####[SEG]#####→上传时勾选「启用自定义分段符」→系统将严格按该符号切分。注意:符号必须完全一致,大小写和空格都不能错,否则失效。
方法三:禁用默认硬切,改用标点智能分段
在数据集配置页→关闭「自动分块」开关→开启「基于标点的语义分段」→指定结束符为「。!?;\n」→启用「跨页图表黏连保护」。该功能会识别“图3-2”“表5.1”后紧跟的说明文字,并自动合并进同一分段,避免技术文档关键信息被截断。
混合检索参数精准校准
第一步:开启混合检索并设定初始权重
进入知识库→「检索设置」→启用「混合检索」→向量权重设为70%,关键词权重设为30%。这是通用起点,不是最终值。
第二步:按问题类型动态调整权重
技术故障类问题(含设备型号、错误码):关键词权重提到40%,因为Err-207这类字符串必须精确匹配,不能靠语义猜;概念解释类问题(如“什么是主轴跳动”):向量权重提到85%,依赖语义泛化能力;操作流程类问题(如“如何更换滤芯”):维持70%/30%,兼顾步骤关键词与上下文连贯性。
第三步:收紧相似度阈值与重排序
相似度阈值从默认0.5提高到【0.72】,过滤掉低置信匹配;必须开启「重排序」,它会用更精细模型对Top5结果二次打分,把真正相关的段落顶到Top1。不开启重排序,混合检索效果打七折。
Embedding模型强制切换
进入Dify后台管理→「模型配置」→「Embedding模型」下拉菜单中,放弃text-embedding-ada-002,选择【bge-m3】。该模型专为中文工业术语优化,对“渗碳淬火”“联轴器对中偏差”等长尾词余弦相似度比bge-large-zh高0.19,实测使MRR@10从0.117跃升至0.302。
切换后必须重新构建索引:回到知识库→点击「刷新索引」→勾选「强制重建全部向量」→确认。这一步不可跳过,旧向量仍指向错误语义空间。
元数据注入与过滤实战
在上传PDF/Excel时,勾选「启用元数据提取」→手动添加3个必填字段:equipment_model(如MySE5.5MW)、document_type(SOP/故障手册/技术规格书)、version(V2.3.1)。这些字段将作为检索时的硬过滤条件。
用户提问时,系统自动解析隐含约束。例如问“塔筒螺栓预紧力矩标准(适用于MySE5.5MW机型)”,Dify会自动在equipment_model=MySE5.5MW的文档段落中检索,直接排除其他机型干扰,命中率提升22%。
这一步操作起来很简单,直接在上传界面填字段就行,但必须确保字段值准确且统一——比如所有MySE5.5MW机型文档都填MySE5.5MW,不能有时写5.5MW、有时写MYSE-5.5。











