ZGI 混合检索:汇集候选并统一重排

混合检索把多种检索路径得到的片段汇入同一个候选池,再根据相关性完成筛选和排序。语义检索擅长处理口语和同义表达,关键词与全文检索更容易命中编号、术语和原文短语,图谱检索用于补充实体关系。正确片段没有进入候选池时,应检查检索方法;片段已经出现却排位靠后,再检查重排。

ZGI 在知识检索链路中提供语义、关键词、全文、图谱和混合检索方法。启用重排后,系统会保留更大的候选范围,把可重排片段交给统一排序,再按最终数量返回结果。检索方法负责扩展候选来源,重排负责比较已经找到的内容,两层需要分别验收。

这套结构适合企业资料里的混合问法。产品型号、制度编号和接口字段依赖精确文字;业务人员提交的问题往往带有简称、口语和省略。只走一条检索路径,某一类问题容易持续漏掉。多路检索让不同信号进入同一处理链,也会带来重复片段、分数尺度不同和候选数量增加等新问题。

候选生成和重排分开承担责任

检索阶段回答"哪些片段可能相关"。语义路径比较问题与片段的向量关系,关键词和全文路径寻找明确文字,图谱路径沿实体与关系补充内容。各路结果需要合并并处理重复项,随后才适合进入统一排序。

重排阶段回答"哪些候选更接近当前问题"。它可以重新比较问题与候选片段,把更相关的内容移到前面。若正确片段从未进入候选池,重排没有材料可用;若候选池塞入过多近似片段,真正需要的内容又可能被重复结果挤压。

环节 适合处理 排查重点
语义检索 口语、同义表达、描述性问题 问题改写后能否命中同一内容
关键词与全文 编号、型号、字段名、原文短语 分词、大小写和特殊符号
图谱检索 实体关系与关联信息 实体是否存在,关系是否完整
统一重排 多路候选的相关性排序 正确片段位置与重复片段占比

两类失败要走不同排查路径

用户说"知识库没有找到答案"时,先保存原问题、期望文件和期望片段,再查看进入重排前的候选。正确片段完全缺席,可以继续查过滤条件、检索方式、查询改写和候选数量。专有名词没有命中时,优先看关键词与全文路径;口语问题找不到对应制度时,再看语义路径和分块内容。

正确片段已经进入候选,最终结果仍然没有采用,排查范围应转到去重、分数合并、重排模型和最终保留数量。还要检查同一段内容是否以多个近似版本出现。重复候选会占据排序位置,也会让模型看到大量相似文字,压缩真正有用的上下文。

ZGI 的统一重排放在候选汇集之后,适合用同一组问题分别观察重排前后结果。一次只调整一个变量,例如某一路检索是否启用、候选范围或最终保留数量。多项配置同时变化,结果变好后也很难判断哪一项真正起作用。

用真实问题验收每一层

准备二十到五十个业务问题,给每个问题标出期望文件、期望片段和可接受答案。测试记录至少保留三项:正确片段是否进入候选、进入后的排序位置、最终答案是否引用了对应依据。三项分开记录,才能区分数据、检索、重排和生成阶段的问题。

测试集要覆盖编号、简称、旧称、口语表达、跨段条件和权限过滤。没有标注答案的样本,只能看到系统返回了内容,无法判断返回内容是否正确。下一轮调整分块或检索配置时,继续运行同一批问题,结果才具有可比性。

GitHub:https://github.com/zgiai/zgi

Gitee:https://gitee.com/zgiai/zgi

相关推荐
ZealSinger6 小时前
LangChain4j用AiServices拼Tool
java·rag·ai智能体·langchain4j
正经教主10 小时前
【FDE系列】阶段3:Day 73:RAGAS 评测 — 用数据证明改动有效
人工智能·rag·fde
ZGi.ai11 小时前
Agent Runtime 需要预览模式吗?先生成变更清单,再提交真实动作
workflow·ai智能体·变更管理·企业ai·agentruntime·预览模式
XLYcmy1 天前
Dify 本地部署、Ollama 与 Xinference 集成:踩坑与最佳实践指南
llm·agent·dify·rag·ollama·rerank·harness
小范的技术工坊1 天前
RAG切片策略
大模型·rag
正经教主1 天前
【FDE系列】阶段3:Day 72:RAGFlow 平台 — 端到端知识库
人工智能·rag·fde
小范的技术工坊2 天前
RAG系统答不准的常见问题
大模型·rag
正经教主2 天前
【FDE系列】阶段3:Day 71:高级检索 — 查询改写与 HyDE
人工智能·rag·fde
光依旧2 天前
PageIndex没翻车,翻车的是我的解析器
docker·langchain·大模型·向量数据库·pdf解析·rag·pageindex
Web3&Basketball2 天前
LlamaIndex+BGE 重排:RAG 从噪声到可信
人工智能·大模型·rag