你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

在 Azure AI 搜索 中将计分配置文件与语义排名器配合使用

注释

Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。

可以对语义排名搜索结果应用计分概要文件,并且系统将在最后处理计分概要文件。

为了确保评分配置文件提供确定分数,语义排名器会添加一个响应字段, @search.rerankerBoostedScore用于对语义排名结果应用评分配置文件逻辑。 在搜索结果中,包括来自级别 1 排名的 @search.score、语义排序器的 @search.rerankerScore 和 @search.rerankerBoostedScore,结果根据 @search.rerankerBoostedScore 进行排序。

先决条件

  • Azure AI 搜索 在任何提供语义排名的 地区。

  • 具有语义配置的搜索索引,指定了 "rankingOrder": "boostedRerankerScore",并且计分概要文件指定了函数。

限制

语义排名结果的提升仅适用于计分概要文件函数。 如果计分概要文件仅包含加权文本字段,则不会进行提升。

此行为适用于直接发送到索引的语义查询,例如 /docs/search。 智能体检索不应用索引评分配置文件,包括底层索引上的 defaultScoringProfile,且检索响应不呈现 @search.rerankerBoostedScore。 有关详细信息,请参阅 创建搜索索引知识库 和 查询知识库。

语义配置与计分概要文件是如何协同工作的?

执行与评分策略关联的语义查询时,搜索结果中的每个文档都会生成第三个搜索评分值@search.rerankerBoostedScore。 通过将计分概要文件应用于现有的重新排序器分数来计算的这一提高的评分,并不像正常的重新排序器分数那样有一个保证范围 (0–4),评分可能会明显高于 4。

如果存在计分配置文件,则语义结果默认按@search.rerankerBoostedScore排序。 如果未指定属性 rankingOrder , BoostedRerankerScore 则为语义配置中的默认值。

在这个场景中,计分配置文件被使用了两次。

  1. 首先,在索引中定义的计分配置文件在初始 L1 排名阶段使用,从而提升以下结果:

    • 基于文本的查询(BM25 或 RRF)
    • 矢量查询的文本部分
    • 合并这两种类型的混合查询
  2. 接下来,语义排名器重新对前 50 个结果进行评分,从而提升与顶部更相关的语义匹配。 此步骤可以清除计分配置文件的好处。 例如,如果基于新鲜度进行了提升,那么语义重排序会用其自身的逻辑来替代该提升,以确定最相关的内容。

  3. 最后,在重新排序之后,再次应用评分配置文件,以恢复增强对最终结果顺序的影响。 如果通过新鲜度提升,则对语义排名的结果根据新鲜度进行重新评分。

在语义配置中启用计分配置文件

若要为语义排名的结果启用计分配置文件,请通过设置其语义配置中的 属性来rankingOrder。 使用 PUT 方法通过修订更新索引。 无需重新生成索引。

PUT https://{service-name}.search.windows.com/indexes/{index-name}?api-version=2026-04-01
{
  "semantic": {
    "configurations": [
      {
        "name": "mySemanticConfig",
        "rankingOrder": "boostedRerankerScore"
      }
    ]
  }
}

在语义设置中禁用计分概要文件

若要选择退出按语义重排器提升分数排序,请将 rankingOrder 字段设置为 reRankerScore 语义配置中的值。

PUT /indexes/{index-name}?api-version=2026-04-01
{
  "semantic": {
    "configurations": [
      {
        "name": "mySemanticConfig",
        "rankingOrder": "reRankerScore"
      }
    ]
  }
}

即使选择退出排序依据 @search.rerankerBoostedScore,该 boostedRerankerScore 字段仍然在响应中生成,但它不再用于对结果进行排序。

示例查询和响应

从指定计分概要文件的语义查询开始。 此查询面向将 rankingOrder 设置为 boostedRerankerScore 的搜索索引。

POST /indexes/{index-name}/docs/search?api-version=2026-04-01
{
  "search": "my query to be boosted",
  "scoringProfile": "myScoringProfile",
  "queryType": "semantic"
}

响应包括新的 rerankerBoostedScore,以及 L1 @search.score 和 L2 @search.rerankerScore。 结果按 @search.rerankerBoostedScore.

{
  "value": [
    {
      "@search.score": 0.63,
      "@search.rerankerScore": 2.98,
      "@search.rerankerBoostedScore": 7.68,
      "content": "boosted content 2"
    },
    {
      "@search.score": 1.12,
      "@search.rerankerScore": 3.12,
      "@search.rerankerBoostedScore": 5.61,
      "content": "boosted content 1"
    }
  ]
}