Compartilhar via

设置检索推理强度

注释

此功能目前处于公开预览状态。 此预览版未随附服务级别协议,建议不要用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Azure 预览版的使用条款

在代理检索中,可以指定用于查询规划和答案表述的大型语言模型(LLM)处理级别。 使用该 retrievalReasoningEffort 属性设置影响成本和延迟的 LLM 处理级别。 额外的 LLM 处理可提高相关性,但还需要更长的时间并使用可计费的 LLM 资源。 您可以在知识库或检索请求中设置此属性。

推理工作的级别包括:

级别 Effort
minimal 不进行LLM处理过程。 你提供查询。
low 运行基于 LLM 的查询规划和知识源选择的单次遍历。 这是默认情况。 LLM 会分析查询,并根据需要将其分解为组件部件。
medium 将更深入的搜索和增强的检索堆栈添加到代理检索,以最大程度地提高完整性。

先决条件

  • 具有知识库的 Azure 人工智能搜索服务。

  • 更新知识库的权限。 使用分配给用户帐户的 Search Service 参与者角色配置 无密钥身份验证或使用 API 密钥

  • 如果知识库指定了 LLM,则搜索服务必须在 Microsoft Foundry 资源上具有 管理的身份,并具有 Cognitive Services User 权限。

  • 2025-11-01-preview REST API 或等效的 Azure SDK 预览包:.NETJavaJavaScriptPython

选择推理强度

本部分介绍:

推理努力级别

级别 Description 建议 限额
minimal 禁用基于 LLM 的查询规划,以实现自主检索的最低成本和延迟。 它在知识库中列出的各知识源上进行直接文本和向量搜索,并返回最匹配的段落。 由于始终搜索knowledge base中的所有知识源,并且不会执行查询扩展,因此行为是可预测的且易于控制。 这也意味着在检索请求中,alwaysQueryKnowledgeSource 属性将被忽略。 使用“最小”来从 搜索 API 执行迁移,或在您希望自行管理查询规划时。
  • outputMode 必须设置为 extractiveData.
  • 不支持答案合成Web 知识
  • 每个知识库最多可拥有10个知识源。
low 代理检索的默认模式,执行基于 LLM 的查询规划和知识源选择的一次性传递。 自主检索引擎生成子查询并将其分发到所选知识源,然后合并结果。 可以启用答案合成功能,以生成带有内联引文的自然语言响应。 如果想要在最小延迟和更深入的处理之间实现平衡,请使用“低”。
  • 5,000 个应答令牌。
  • 每个知识库的三个知识来源中的子查询最多为三个。
  • 语义排名最多 50 个文档,如果语义排名器使用 L3 分类,则最多 10 个文档。

在知识库中设置推理工作量

若要建立默认行为,请设置knowledge base中的属性。

  1. 使用 Create 或 Update Knowledge Base 设置 retrievalReasoningEffort

  2. 添加 retrievalReasoningEffort 属性。 以下 JSON 显示了语法。 有关知识库的详细信息,请参阅 创建 knowledge base

    "retrievalReasoningEffort": { /* no other parameters when effort is minimal */
        "kind": "low"
    }
    

在检索请求中设置推理强度

若要为每次查询覆盖默认设置,请在检索请求中设置属性。

  1. 修改 检索操作 来替代 知识库 retrievalReasoningEffort 的默认值。

  2. 添加 retrievalReasoningEffort 属性。 检索请求可能类似于以下示例。

    {
        "messages": [ /* trimmed for brevity */  ],
        "retrievalReasoningEffort": { "kind": "low" },
        "outputMode": "answerSynthesis",
        "maxRuntimeInSeconds": 30,
        "maxOutputSize": 6000
    }