Azure AI Search 新功能:查询重写与语义重排器详解
Azure AI Search 最新推出的查询重写(QR)和语义重排器(SR)功能,详细解析了这两个功能如何通过小型语言模型生成查询变体以及利用交叉编码器模型优化结果排序。文章深入阐述了查询重写、召回率及交叉编码器的核心概念,对比了向量查询与交叉编码器在编码方式、效率及应用场景上的差异,并提出了混合搜索配置与渐进式部署的实施建议。这些更新显著提升了 RAG 系统的检索相关性与效率,为开发者构建智能搜索应用提供了强有力的技术支持。

Azure AI Search 最新推出的查询重写(QR)和语义重排器(SR)功能,详细解析了这两个功能如何通过小型语言模型生成查询变体以及利用交叉编码器模型优化结果排序。文章深入阐述了查询重写、召回率及交叉编码器的核心概念,对比了向量查询与交叉编码器在编码方式、效率及应用场景上的差异,并提出了混合搜索配置与渐进式部署的实施建议。这些更新显著提升了 RAG 系统的检索相关性与效率,为开发者构建智能搜索应用提供了强有力的技术支持。

Azure AI Search 最近推出了两项重大更新:查询重写(Query Rewriting,QR)和新的语义重排器(Semantic Ranker,SR)。这些新功能大幅提升了检索增强生成(Retrieval-Augmented Generation,RAG)的性能,提高了搜索结果的相关性和效率。在本文中,我们将详细介绍这两项新功能,并深入解释三个关键概念:查询重写、召回率和交叉编码器,并通过示例帮助您更好地理解。
主要特点:
主要特点:
为了更好地理解这些新功能如何提升搜索性能,我们需要先了解以下三个关键概念:查询重写、召回率和交叉编码器。
定义:
查询重写是搜索系统在接收到用户的原始查询后,对其进行自动修改、扩展或优化的过程。目的是生成更有效的查询,以便检索到更多相关的结果,提高搜索的召回率和精准度。
作用:
示例:
用户原始查询: '新冠疫苗副作用严重吗?'
查询重写后的可能变体:
解释:
通过查询重写,搜索系统生成了多个与原始查询语义相近的变体。这些重写的查询可能使用了不同的措辞、同义词或更加具体的描述,使得搜索系统能够检索到更多相关的文档。例如,将"副作用严重吗"重写为"常见副作用是什么",扩大了检索范围。
定义:
召回率是衡量搜索系统性能的重要指标,表示系统检索到的相关文档数量占所有实际相关文档数量的比例。它反映了系统在检索完整性方面的能力。
计算公式:
召回率 = 检索到的相关文档数量 ÷ 文档库中所有相关文档的总数
示例:
场景:
计算召回率:
召回率 = 150 ÷ 200 = 75%
解释:
75% 的召回率意味着系统检索到了 75% 的相关文档,但还有 25%(50 篇)相关文档未被检索到。提高召回率,可以确保用户不遗漏重要的信息。
与精确率的关系:
**精确率(Precision)**表示检索到的相关文档数量占检索到的总文档数量的比例。
权衡关系:通常,提高召回率可能会降低精确率,因为检索更多的文档可能包含一些不相关的内容。实际应用中,需要在召回率和精确率之间取得平衡。
定义:
交叉编码器是一种神经网络模型架构,特别适用于评估两个输入文本(如查询和文档)之间的相关性。它将两个输入联合编码,捕获它们之间的细粒度交互,并输出一个相关性评分。
工作原理:
示例:
用户问题: '如何提高植物的光合作用效率?'
候选答案:
交叉编码器处理:
输入 1 得分:0.92 输入 2 得分:0.45 输入 3 得分:0.60
输入组合:
结果选择:
系统根据得分选取得分最高的答案 A,作为最相关的答案提供给用户。
解释:
交叉编码器通过同时处理查询和文档,能够捕捉二者之间的深层语义关系。例如,它识别到"提高光合作用效率"与"增加光照强度"的直接关联,从而给出高相关性得分。
与双塔模型的区别:
作用:
示例:
用户原始查询: 'AI 搜索新功能是啥?'
QR 生成的查询变体:
效果:
通过这些变体,搜索系统能够检索到关于 Azure AI Search 新功能的更完整的信息,包括查询重写和新的语义重排器的详细介绍。
作用:
与召回率的关系:
示例:
场景:
用户查询:"AI 搜索的最新功能有哪些改进?"
流程:
结果:
用户在搜索结果的顶部看到最相关的文档,详细介绍了查询重写和新的语义重排器功能,以及它们如何提升 Azure AI Search 的性能。
作用:
示例:
多语言支持:
用户用法语查询:"Quelles sont les nouvelles fonctionnalités d'Azure AI Search ?"
系统能够准确检索并排序法语的相关文档,提供一致的高质量搜索体验。
工作原理:
特点:
适用场景:
例子:
查询:'机器学习中的优化算法'
过程:
工作原理:
特点:
适用场景:
例子:
查询:'机器学习中的优化算法'
候选文档:经过初始检索,得到 50 篇相关的文档。
过程:
在实际的搜索和信息检索系统中,为了兼顾效率和准确性,通常会将向量查询和交叉编码器结合使用:
第一步:初始检索
使用向量查询快速检索出与查询相关的一批候选文档(例如前 100 个)。 利用预计算的文档向量,实现高效的检索。
第二步:精细重排序
对候选文档,使用交叉编码器进行精细的相关性评估。 由于候选文档数量有限,计算成本可控。 提高结果的准确性和相关性,使最符合用户需求的文档排在前面。
假设场景:
用户查询:'深度学习模型的优化技术有哪些?'
向量查询处理:
交叉编码器处理:
区别总结:
虽然向量查询和交叉编码器都是用来评估查询和文档之间的相关性,但它们在处理方式、计算效率和应用场景上有明显的区别。
向量查询:
通过独立编码查询和文档,实现快速、高效的初始检索。 适用于需要高检索速度的场景,能够处理大规模的文档库。
交叉编码器:
通过联合编码查询和文档,捕获深度语义关系,提供高精度的相关性评估。 适用于对少量候选文档进行精细重排序的场景。
因此,在实际应用中,两者常常结合使用,发挥各自的优势,既保证了检索的效率,又提高了结果的准确性。
为了最大化 Azure AI Search 新功能的价值,开发者和架构师可以参考以下实施建议:
建议在非核心业务场景中先行试点。可以先启用查询重写功能,观察其对召回率的影响,再逐步引入语义重排器。这种分阶段的方式有助于监控性能变化并及时调整参数。
结合关键词搜索、向量搜索和语义重排器。对于结构化数据,关键词搜索依然有效;对于非结构化文本,向量搜索能提供更好的语义理解。最终通过语义重排器统一排序,确保结果质量。
建立完善的搜索日志分析系统。重点关注 NDCG 指标的变化,以及用户点击行为。如果某些查询的重写结果导致相关性下降,应收集这些案例用于后续模型微调或规则优化。
虽然查询重写与语义重排器结合使用无额外费用,但交叉编码器的计算资源消耗依然存在。建议限制参与重排的候选文档数量(如前文提到的 50 个),以平衡性能与成本。
提升用户体验:
技术优势:
对开发者的意义:
结语:
Azure AI Search 的查询重写和新的语义重排器功能,为搜索和信息检索领域带来了显著的提升。通过深入理解查询重写、召回率和交叉编码器等关键概念,我们可以更好地利用这些工具,提升搜索系统的性能,为用户提供卓越的体验。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online