完整题目
在大模型应用开发中,您通常会选择哪些检索方法?请说明选择这些方法的技术考量和使用场景。
本文目录
先用查询集决定,不按架构流行度决定
准备冻结的真实查询、相关性标注和切片:精确ID/错误码、实体与数字、同义改写、长问题、无答案、权限过滤及新旧版本。先分别建立 BM25 与向量基线,报告 Recall@K、MRR/nDCG、无权限结果率、P95/P99 延迟和成本。只有失败类型互补,混合才有价值。
三类一阶段检索
- BM25/词法检索:擅长精确词项、编号、专名和可解释字段加权;同义改写和概念匹配可能漏召回。它仍有索引、存储、分词、同义词和运维成本,不能称为零成本。
- 稠密/稀疏语义检索:能跨表述召回,但质量依赖嵌入模型、领域、切分和索引参数。短查询并非必然更差,ID、数字和新实体才是常见薄弱点,需在目标数据验证。
- 结构化检索:订单、租户、版本、时间和状态先由可信字段过滤。ACL/tenant 约束必须在服务端检索路径执行,不能等生成后再删无权限证据。
何时组合
先证明单路基线的失败类型,再比较混合方案。RRF按排名融合,避免直接比较不同分数尺度,但各路贡献和候选窗口仍需验证;线性融合要先校准/归一化分数,再用标注集学习或搜索权重。不存在通用 α=0.7。
重排是候选集上的第二阶段。只有在盲测中相关性增益覆盖模型成本和尾延迟时才启用,并按查询类型设置候选量与超时降级。离线预计算只能覆盖稳定的查询-文档组合,不能替代对实时查询的交叉编码。