大型语言模型 (LLM) 可以通过两种关键方式改进检索系统:优化搜索查询和对检索到的结果重新排序。首先,LLM 可以通过理解用户的意图并扩展或改写原始查询来生成更有效的搜索查询。例如,如果用户搜索“最适合编程的笔记本电脑”,LLM 可能会生成一个修订后的查询,如“具有高性能 CPU、16GB 内存和长电池续航适用于软件开发的顶级笔记本电脑”。这个扩展的查询包含了与用户需求更匹配的特定技术术语和上下文,从而增加了检索到相关文档的可能性。与基于关键字的方法不同,LLM 可以推断未说明的需求(例如,便携性所需的电池续航)并相应地调整查询。
其次,LLM 可以对检索到的结果进行重新排序,以优先显示最相关的条目。在使用传统的检索系统(如 BM25 或基于向量的搜索)初步获取一组文档后,LLM 可以分析每个文档的内容与查询的相关性。例如,如果查询是“用于数据科学的 Python 教程”,即使原始查询中没有包含 Pandas 或 NumPy 等词,LLM 也会给那些提到这些库的文档打更高的分数。这一重新排序步骤利用了 LLM 理解上下文和语义关系的能力。某些实现使用“交叉编码器”架构,其中查询和文档文本一起处理以计算相关性分数,从而实现比简单相似性度量更细粒度的排名。
为了衡量这些技术的影响,开发者可以使用离线指标,例如 precision@k(前 k 个结果中相关文档的比例)或 normalized discounted cumulative gain (NDCG)(考虑到相关项在排名列表中的位置)。例如,如果重新排序将平均 precision@10 从 0.4 提高到 0.6,则表明有了显著的改进。在生产环境中进行 A/B 测试也可以跟踪用户参与度指标,例如点击率或页面停留时间。此外,人工评估者可以对应用 LLM 改进前后的结果相关性进行评分。结合这些方法可以全面了解性能提升,同时确保更改符合真实世界的用户需求。