向量检索召回大量相似但无用文档时,如何通过切片、Embedding 模型和相似度阈值排查
进阶版来源:baidu初级工程师文本切片策略优化召回阈值调优Embedding模型升级回归LLM输出一致性排查
草稿
答案解析
如果向量检索召回了大量“看起来相似但实际没用”的文档,我一般会从三个方向排查:切片是否合理、Embedding 模型是否匹配业务语义、相似度阈值是否设置得太宽。
切片方面 ,我会先看召回结果里的 chunk 内容是不是过大、过小或者语义不完整。
如果切片太大,一个 chunk 里混了多个主题,比如一段文档同时包含“账号登录”“权限配置”“计费规则”,向量会被多种语义稀释,导致用户问登录问题时,把一些只沾边但不相关的内容也召回出来。
如果切片太小,比如按固定 200 字硬切,可能一个 chunk 只有半句话或者缺少上下文,Embedding 表达不完整,也容易召回一些表面词相近但无法回答问题的片段。
我会检查切片策略是否按语义边界切,比如按标题、段落、Markdown 层级、问答对、接口说明块来切,而不是单纯按字符数切。同时会适当设置 overlap,避免关键信息被切断。比如技术文档里,一个接口的请求参数、响应参数、错误码最好尽量在同一个 chunk 或者相邻 chunk 中保留上下文。
Embedding 模型方面 ,我会确认模型是否适合当前语料和问题类型。比如中
登录后查看完整内容
