Ange hämtningsskälet (förhandsversion)

Observera

Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.

Important

Funktioner, funktioner eller egenskaper som har markerats (förhandsversion) omfattas inte av ett serviceavtal, rekommenderas inte för produktionsarbetsbelastningar och kan ändras eller begränsas innan de blir allmänt tillgängliga. Villkoren för Azure AI-sökning förhandsgranskning gäller för alla förhandsgranskningsfunktioner, oavsett om de är fristående eller en del av en allmänt tillgänglig funktion.

I agentisk hämtning kan du ange nivån för llm-bearbetning (large language model) för frågeplanering och svarsformulering. Använd hämtningsskälet (förhandsversion) för att ange LLM-bearbetningsnivåer som påverkar kostnader och svarstid. Extra LLM-bearbetning förbättrar relevansen, men det tar också längre tid och använder fakturerbara LLM-resurser.

Du kan ange den här egenskapen i en kunskapsbas eller en hämtningsbegäran. Inställningen för kunskapsbasen etablerar standardvärdet för alla frågor, medan inställningen hämta begäran åsidosätter standardinställningen från fråga till fråga. Om ingen av dessa inställningar finns använder lowtjänsten .

Användningsstöd

Azure Portal Microsoft Foundry-portalen .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Förutsättningar

  • En befintlig kunskapsbas med minst en kunskapskälla och en modellkonfiguration.

  • Behörighet att uppdatera och göra frågor mot kunskapsbaser. Konfigurera nyckellös autentisering med rollerna Search Service Contributor och Search Index Data Reader som tilldelats ditt användarkonto (rekommenderas) eller använd en administratörs-API-nyckel.

  • Det senaste Azure.Search.Documents förhandsversionspaketet: dotnet add package Azure.Search.Documents --prerelease

  • För nyckellös autentisering, paketet Azure.Identity: dotnet add package Azure.Identity

  • Det senaste azure-search-documents förhandsversionspaketet: pip install --pre azure-search-documents

  • För nyckellös autentisering, paketet azure-identity: pip install azure-identity

Välj en resonemangsinsats

Välj ett resonemang baserat på den kompromiss du vill ha mellan svarstid, kostnad och hämtningsdjup.

Resonemangets ansträngningsnivåer

Nivå Beskrivning Rekommendation Gränser
minimal Inaktiverar LLM-baserad frågeplanering för att leverera den lägsta kostnaden och svarstiden för agentisk hämtning. Den utfärdar direkta text- och vektorsökningar mellan de kunskapskällor som anges i kunskapsbasen och returnerar de bästa matchande avsnitten. Eftersom alla kunskapskällor i kunskapsbasen alltid genomsöks och ingen frågeexpansion utförs är beteendet förutsägbart och enkelt att kontrollera. Det innebär också att egenskapen för alwaysQueryKnowledgeSource en hämtningsbegäran ignoreras. Använd minimal för migreringar från sök-API: et eller när du vill hantera frågeplanering själv.
low Standardläget för agentisk hämtning, som kör ett enda pass av LLM-baserad frågeplanering och val av kunskapskälla. Den agentiska hämtningsmotorn genererar underfrågor och fläktar ut dem till de valda kunskapskällorna och sammanfogar sedan resultaten. Du kan aktivera svarssyntes (förhandsversion) för att skapa ett grundat naturligt språksvar med infogade citat. Använd low när du vill ha en balans mellan minimal svarstid och djupare bearbetning.
  • 5 000 svarstoken.
  • Högst 50 dokument för semantisk rangordning och 10 dokument om den semantiska rankaren använder L3-klassificering.
medium Lägger till djupare sökning och en förbättrad hämtningsstack till agentisk hämtning för att maximera fullständigheten. Efter den första sökningen utvärderar en semantisk klassificerare med hög precision de hämtade dokumenten. Om de första resultaten inte är tillräckligt relevanta utför tjänsten en uppföljande iteration med hjälp av en reviderad frågeplan. Använd medium för att maximera verktyget för LLM-assisterad kunskapshämtning.
  • 10 000 svarstoken.
  • Högst 50 dokument för semantisk rangordning och 20 dokument om den semantiska rankaren använder L3-klassificering.
  • Tillgänglig i utvalda regioner.
auto Börjar med ett lätt hämtningspass. Om den första genomgången ger tillräcklig förankring, returnerar tjänsten resultatet. Annars fortsätter det med LLM-baserad frågeplanering, med en ansträngningsnivå på upp till medel. Använd auto när du vill att tjänsten ska balansera hämtningsdjup och svarstid för varje begäran.
  • Kräver REST API för förhandsversionen av 2026-08-01.
  • Kräver en modell på kunskapsbasen.
  • Tillgänglig i alla regioner som stöder agentisk hämtning.
  • Tidigare API-versioner returnerar 400 Bad Request.

Iterativ sökning för mediumåtervinning

Ett medelstort resonemang för hämtning ger iterativ sökning om de första resultaten inte är tillräckligt relevanta. En extra semantisk klassificerarmodell anropas för att avgöra om en andra iteration krävs.

Den semantiska klassificeraren:

  • Identifierar när det finns tillräckligt med kontext för att besvara frågan.

  • Försök igen vid otillräckliga resultat, använder befintlig information för sammanhang. Nya frågor kan öka detaljnivån för mer fokuserad information eller bredda sökningen. Aktivitetsloggen i svaret visar de genererade frågor som används för ett mer omfattande svar.

  • Omvärderar med L3-klassificering. Intervallet är identiskt med L2-rangordningen, ett absolut intervall på noll till 4,0.

Det finns bara ett nytt försök. Varje iteration lägger till svarstid och kostnad, så systemet begränsar återförsök till ett pass. En andra iteration lägger till indatatoken i frågepipelinen, vilket lägger till det totala antalet fakturerbara indatatoken.

Iteration kan återanvända befintliga kunskapskällor eller välja olika källor. I det andra steget väljs den mest lovande kunskapskällan ut för att ge den saknade informationen.

Regionstöd för medelnivå hämtning

Du kan ange ett medelhögt hämtningsskäl om söktjänsten finns i någon av följande regioner:

  • USA, östra 2
  • Östra USA
  • Sydcentrala USA
  • USA, västra 3
  • USA, västra 2
  • Västra USA
  • Tyskland, västra centrala
  • Europa, norra
  • Schweiz, norra
  • Sweden Central
  • Spanien centrala
  • Storbritannien, södra
  • Centrala Korea
  • Japan, östra
  • Sydostasien

Ange arbetsnivån för resonemang i en kunskapsbas

Ange retrievalReasoningEffort i en kunskapsbasdefinition för att ange standardvärdet för frågor i den. auto Resonemangsinsatsen kräver en modellkonfiguration. I följande exempel bevaras den befintliga knowledgeSources och models konfigurationen, resonemanget anges till autooch kunskapsbasen uppdateras.

using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;

var endpoint = new Uri("<search-endpoint>");
var credential = new DefaultAzureCredential();
var knowledgeBaseName = "<knowledge-base-name>";

var indexClient = new SearchIndexClient(endpoint, credential);
var knowledgeBase = (
    await indexClient.GetKnowledgeBaseAsync(knowledgeBaseName)).Value;
knowledgeBase.RetrievalReasoningEffort =
    new KnowledgeRetrievalAutoReasoningEffort();
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);

Referens:KnowledgeBase

Om du vill använda en annan nivå ersätter du KnowledgeRetrievalAutoReasoningEffort med KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEfforteller KnowledgeRetrievalMediumReasoningEffort.

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.knowledgebases.models import (
    KnowledgeRetrievalAutoReasoningEffort,
)

endpoint = "<search-endpoint>"
credential = DefaultAzureCredential()
knowledge_base_name = "<knowledge-base-name>"

index_client = SearchIndexClient(endpoint, credential)
knowledge_base = index_client.get_knowledge_base(knowledge_base_name)
knowledge_base.retrieval_reasoning_effort = (
    KnowledgeRetrievalAutoReasoningEffort()
)
index_client.create_or_update_knowledge_base(knowledge_base)

Referens:KnowledgeBase

Om du vill använda en annan nivå ersätter du KnowledgeRetrievalAutoReasoningEffort med KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEfforteller KnowledgeRetrievalMediumReasoningEffort.

@api-version = 2026-08-01-preview
@knowledge-base-url = {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}

PUT {{knowledge-base-url}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "{{knowledge-base-name}}",
  "knowledgeSources": [
    {
      "name": "{{knowledge-source-name}}"
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "{{aoai-endpoint}}",
        "authIdentity": null,
        "deploymentId": "{{model-deployment-name}}",
        "modelName": "{{model-name}}"
      }
    }
  ],
  "retrievalReasoningEffort": {
    "kind": "auto"
  }
}

Referens:Kunskapsbaser – Skapa eller uppdatera

Om du vill använda en annan nivå anger du retrievalReasoningEffort.kind till minimal, loweller medium.

Ange resonemangsinsatsen i en hämtningsbegäran

Ange retrievalReasoningEffort i en hämtningsbegäran för att åsidosätta standardvärdet för kunskapsbasen för den begäran. I följande exempel skickas ett meddelande, används low för att åsidosätta auto standardvärdet från föregående avsnitt och aktiverar svarssyntes (förhandsversion).

using Azure.Identity;
using Azure.Search.Documents.KnowledgeBases;
using Azure.Search.Documents.KnowledgeBases.Models;

var endpoint = new Uri("<search-endpoint>");
var credential = new DefaultAzureCredential();
var knowledgeBaseName = "<knowledge-base-name>";

var kbClient = new KnowledgeBaseRetrievalClient(
    endpoint, knowledgeBaseName, credential);
var request = new KnowledgeBaseRetrievalRequest
{
    RetrievalReasoningEffort =
        new KnowledgeRetrievalLowReasoningEffort(),
    OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis
};

request.Messages.Add(
    new KnowledgeBaseMessage(
        content: new[] {
            new KnowledgeBaseMessageTextContent("What is the return policy?")
        }
    ) { Role = "user" }
);

var result = await kbClient.RetrieveAsync(request);

Referens:KnowledgeBaseRetrievalRequest

from azure.identity import DefaultAzureCredential
from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient
from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseMessage,
    KnowledgeBaseMessageTextContent,
    KnowledgeBaseRetrievalRequest,
    KnowledgeRetrievalOutputMode,
    KnowledgeRetrievalLowReasoningEffort,
)

endpoint = "<search-endpoint>"
credential = DefaultAzureCredential()
knowledge_base_name = "<knowledge-base-name>"

kb_client = KnowledgeBaseRetrievalClient(
    endpoint,
    credential,
    knowledge_base_name=knowledge_base_name,
)
request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[
                KnowledgeBaseMessageTextContent(
                    text="What is the return policy?"
                )
            ],
        )
    ],
    retrieval_reasoning_effort=KnowledgeRetrievalLowReasoningEffort(),
    output_mode=KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
)

result = kb_client.retrieve(request)

Referens:KnowledgeBaseRetrievalRequest

@api-version = 2026-08-01-preview
@retrieve-url = {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve

POST {{retrieve-url}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What is the return policy?"
        }
      ]
    }
  ],
  "retrievalReasoningEffort": {
    "kind": "low"
  },
  "outputMode": "answerSynthesis"
}

Referens:Kunskapshämtning – Hämta

Hämtningsbegäran returnerar ett grundat svar baserat på de kunskapskällor som konfigurerats i kunskapsbasen.