混合检索把多种检索路径得到的片段汇入同一个候选池,再根据相关性完成筛选和排序。语义检索擅长处理口语和同义表达,关键词与全文检索更容易命中编号、术语和原文短语,图谱检索用于补充实体关系。正确片段没有进入候选池时,应检查检索方法;片段已经出现却排位靠后,再检查重排。
ZGI 在知识检索链路中提供语义、关键词、全文、图谱和混合检索方法。启用重排后,系统会保留更大的候选范围,把可重排片段交给统一排序,再按最终数量返回结果。检索方法负责扩展候选来源,重排负责比较已经找到的内容,两层需要分别验收。
这套结构适合企业资料里的混合问法。产品型号、制度编号和接口字段依赖精确文字;业务人员提交的问题往往带有简称、口语和省略。只走一条检索路径,某一类问题容易持续漏掉。多路检索让不同信号进入同一处理链,也会带来重复片段、分数尺度不同和候选数量增加等新问题。

候选生成和重排分开承担责任
检索阶段回答"哪些片段可能相关"。语义路径比较问题与片段的向量关系,关键词和全文路径寻找明确文字,图谱路径沿实体与关系补充内容。各路结果需要合并并处理重复项,随后才适合进入统一排序。
重排阶段回答"哪些候选更接近当前问题"。它可以重新比较问题与候选片段,把更相关的内容移到前面。若正确片段从未进入候选池,重排没有材料可用;若候选池塞入过多近似片段,真正需要的内容又可能被重复结果挤压。
| 环节 | 适合处理 | 排查重点 |
|---|---|---|
| 语义检索 | 口语、同义表达、描述性问题 | 问题改写后能否命中同一内容 |
| 关键词与全文 | 编号、型号、字段名、原文短语 | 分词、大小写和特殊符号 |
| 图谱检索 | 实体关系与关联信息 | 实体是否存在,关系是否完整 |
| 统一重排 | 多路候选的相关性排序 | 正确片段位置与重复片段占比 |
两类失败要走不同排查路径
用户说"知识库没有找到答案"时,先保存原问题、期望文件和期望片段,再查看进入重排前的候选。正确片段完全缺席,可以继续查过滤条件、检索方式、查询改写和候选数量。专有名词没有命中时,优先看关键词与全文路径;口语问题找不到对应制度时,再看语义路径和分块内容。
正确片段已经进入候选,最终结果仍然没有采用,排查范围应转到去重、分数合并、重排模型和最终保留数量。还要检查同一段内容是否以多个近似版本出现。重复候选会占据排序位置,也会让模型看到大量相似文字,压缩真正有用的上下文。
ZGI 的统一重排放在候选汇集之后,适合用同一组问题分别观察重排前后结果。一次只调整一个变量,例如某一路检索是否启用、候选范围或最终保留数量。多项配置同时变化,结果变好后也很难判断哪一项真正起作用。
用真实问题验收每一层
准备二十到五十个业务问题,给每个问题标出期望文件、期望片段和可接受答案。测试记录至少保留三项:正确片段是否进入候选、进入后的排序位置、最终答案是否引用了对应依据。三项分开记录,才能区分数据、检索、重排和生成阶段的问题。
测试集要覆盖编号、简称、旧称、口语表达、跨段条件和权限过滤。没有标注答案的样本,只能看到系统返回了内容,无法判断返回内容是否正确。下一轮调整分块或检索配置时,继续运行同一批问题,结果才具有可比性。
GitHub:github.com/zgiai/zgi
Gitee:gitee.com/zgiai/zgi