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

在 Azure AI 搜索中配置新鲜度感知检索(预览版)

注释

Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它还支撑着 Foundry IQ——这一托管知识层可将企业内容转化为可复用、具有权限感知能力的知识库,供 Microsoft Foundry 门户中的代理使用。

Important

标记为“预览”的特性、功能或属性不受服务级别协议 (SLA) 保障,不建议用于生产工作负载,并且在正式发布之前可能会更改或受到限制。 Azure AI 搜索预览条款适用于所有预览功能,无论是独立功能还是正式版功能的一部分。

新鲜度感知检索(预览版)使已编制索引的知识来源在智能体检索过程中优先采用较新的内容。 知识源可以包含时效性策略,这样 Azure AI 搜索 就会在排名时更倾向于较新的文档,而无需调用方在每次检索请求中发送自定义排序逻辑。

新鲜度是排名偏见,而不是硬筛选器。 旧文档在与查询密切相关时仍可显示。

使用支持

Azure 门户 Microsoft Foundry 门户 .NET SDK Python SDK Java SDK JavaScript SDK REST API
❌ ❌ ✔️ ✔️ ✔️ ✔️ ✔️

先决条件

  • 最新的 Azure.Search.Documents 预览包:dotnet add package Azure.Search.Documents --prerelease

  • 对于无密钥身份验证,可使用 Azure.Identity 包:dotnet add package Azure.Identity

何时启用新鲜度感知检索

当新内容通常比旧内容更有用或更值得信赖时,启用新鲜度感知检索。 常见示例包括发布说明、政策更新、运行手册、服务公告和操作指南。

不要将新鲜度用作筛选的替代项。 如果查询必须仅返回来自特定日期范围的内容,请改用检索请求或知识源配置中的筛选器。

配置新鲜度策略

将新鲜度策略添加到索引知识源定义。 预览合同使用该策略来应用考虑新近程度的排序信号,同时保留其余检索流程不变。

以下示例显示了具有新鲜度策略的 Blob 知识源。

var knowledgeSource = new AzureBlobKnowledgeSource(
    name: "news-articles-ks",
    azureBlobParameters: new AzureBlobKnowledgeSourceParameters(connectionString: blobConnectionString, containerName: "news")
    {
        IngestionParameters = new IngestionParameters
        {
            FreshnessPolicy = new FreshnessPolicy
            {
                BoostingDuration = TimeSpan.FromDays(90)
            }
        }
    }
)
{
    Description = "A knowledge source for recent news articles."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);

参考:AzureBlobKnowledgeSourceParameters

knowledge_source = AzureBlobKnowledgeSource(
    name="news-articles-ks",
    description="A knowledge source for recent news articles.",
    azure_blob_parameters=AzureBlobKnowledgeSourceParameters(
        connection_string=blob_connection_string,
        container_name="news",
        ingestion_parameters=IngestionParameters(
            freshness_policy=FreshnessPolicy(boosting_duration="P90D"),
        ),
    ),
)

index_client.create_or_update_knowledge_source(knowledge_source)

参考:AzureBlobKnowledgeSourceParameters

PUT {{search-endpoint}}/knowledgesources/news-articles-ks?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "news-articles-ks",
  "kind": "azureBlob",
  "description": "A knowledge source for recent news articles.",
  "azureBlobParameters": {
    "connectionString": "{{blob-connection-string}}",
    "containerName": "news",
    "ingestionParameters": {
      "freshnessPolicy": {
        "boostingDuration": "P90D"
      }
    }
  }
}

参考:知识源 - 创建或更新

新鲜度策略是源引入参数的一部分。 索引架构已修改为支持生成的新鲜度字段,该字段与 Azure AI 搜索 的 scoring profile 新鲜度函数兼容。 值 boostingDuration 使用与评分配置文件新鲜度函数相同的 ISO 8601 持续时间格式,例如 90 天的 P90D。 新鲜度会为排序增加一个新近性信号,但查询相关性、配置的检索设置、语义重排和其他排序信号仍然会起作用。

可以通过发送具有新值的另一个创建或更新请求来更改 boostingDuration 现有知识源。 计分概要文件可更新到位,无需重新引入数据。

无法从现有知识源中删除新鲜度策略。 若要禁用新鲜度感知检索,请删除该知识源,然后在不包含 freshnessPolicy 的情况下创建一个新的知识源。

验证排名行为

在引入时生成新鲜度字段,因此策略适用于策略就位后引入的内容。 内容导入后,发起检索请求即可同时返回最新和较早的内容。 成功的配置可显示较新的相关文档,而无需将检索转换为简单的日期排序。

如果排名未按预期反映新鲜度,请检查 last_modified 基础索引中的字段。 缺少、过时或不一致的日期值可降低新鲜信号的质量。