Aufwand für die Abfragelogik festlegen (Vorschau)

Hinweis

Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.

Important

Features, Funktionen oder Eigenschaften, die als (Vorschau) gekennzeichnet sind, werden von keiner Dienstebenenvereinbarung (SLA) abgedeckt, werden für Produktionsworkloads nicht empfohlen und können geändert oder eingeschränkt werden, bevor sie allgemein verfügbar sind. Die Azure KI-Suche Vorschaubedingungen gelten für alle Vorschaufunktionen, unabhängig davon, ob sie eigenständig oder Teil eines allgemein verfügbaren Features ist.

Beim agentischen Abruf können Sie die Ebene der Verarbeitung eines großen Sprachmodells (LLM) für die Abfrageplanung und Die Antwortformulierung angeben. Verwenden Sie den Abruflogikaufwand (Vorschau), um LLM-Verarbeitungsstufen festzulegen, die sich auf Kosten und Latenz auswirken. Die zusätzliche LLM-Verarbeitung verbessert die Relevanz, benötigt aber auch länger und verwendet abrechnende LLM-Ressourcen.

Sie können diese Eigenschaft in einer Wissensdatenbank oder einer Abrufanforderung festlegen. Die Einstellung der Knowledge Base legt den Standard für alle Abfragen fest, während die Einstellung für die Abrufanfrage diesen Standard für jede Abfrage einzeln außer Kraft setzt. Wenn keine der beiden Einstellungen vorhanden ist, verwendet der Dienst low.

Nutzungssupport

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

Voraussetzungen

  • Eine vorhandene Wissensbasis mit mindestens einer Wissensquelle und einer Modellkonfiguration.

  • Berechtigung zum Aktualisieren und Abfragen von Wissensdatenbanken. Konfigurieren Sie die schlüssellose Authentifizierung mit den Rollen "Suchdienstmitwirkender" und " Suchindexdatenleser ", die Ihrem Benutzerkonto zugewiesen sind (empfohlen), oder verwenden Sie einen Administrator-API-Schlüssel.

  • Das neueste Azure.Search.Documents Vorschaupaket: dotnet add package Azure.Search.Documents --prerelease

  • Für die schlüssellose Authentifizierung das Paket Azure.Identity: dotnet add package Azure.Identity

  • Das neueste azure-search-documents Vorschaupaket: pip install --pre azure-search-documents

  • Für die schlüssellose Authentifizierung das Paket azure-identity: pip install azure-identity

Wählen Sie einen Denkaufwand aus.

Wählen Sie einen Denkaufwand je nach dem gewünschten Kompromiss zwischen Latenz, Kosten und Abruftiefe.

Begründungsanstrengungsstufen

Ebene Beschreibung Empfehlung Grenzen
minimal Deaktiviert die auf LLM basierende Abfrageplanung, um die Kosten und Latenz bei der Verwendung von agentisch gesteuerten Abrufen zu minimieren. Es gibt direkte Text- und Vektorsuchen in den Wissensquellen aus, die in der Wissensbasis aufgeführt sind, und gibt die am besten passenden Passagen zurück. Da alle Wissensquellen in der Wissensbasis immer durchsucht werden und keine Abfrageerweiterung ausgeführt wird, ist das Verhalten vorhersehbar und einfach zu steuern. Dies bedeutet auch, dass die alwaysQueryKnowledgeSource Eigenschaft für eine Abrufanforderung ignoriert wird. Verwenden Sie minimal sie für Migrationen aus der Such-API oder wenn Sie die Abfrageplanung selbst verwalten möchten.
low Der Standardmodus des agentischen Abrufs, wobei ein einzelner Pass der LLM-basierten Abfrageplanung und der Wissensquellenauswahl ausgeführt wird. Das agentische Abrufmodul generiert Unterabfragen und fächert sie an die ausgewählten Wissensquellen weiter und führt dann die Ergebnisse zusammen. Sie können die Antwortsynthese (Vorschau) aktivieren, um eine geerdete natürliche Sprachantwort mit Inlinezitationen zu erzeugen. Verwenden Sie low, wenn Sie ein Gleichgewicht zwischen minimaler Latenz und umfangreicherer Verarbeitung wünschen.
  • 5.000 Antworttoken.
  • Maximal 50 Dokumente für die semantische Rangfolge und 10 Dokumente, wenn der semantische Rangierer die L3-Klassifizierung verwendet.
medium Fügt eine tiefere Suche und einen erweiterten Abrufstapel zum agentischen Abruf hinzu, um die Vollständigkeit zu maximieren. Nach der ersten Suche wertet ein präziser semantischer Klassifizierer die abgerufenen Dokumente aus. Wenn die anfänglichen Ergebnisse nicht ausreichend relevant sind, führt der Dienst eine Nachverfolgungsiteration mithilfe eines überarbeiteten Abfrageplans aus. Verwenden Sie medium, um den Nutzen des LLM-gestützten Wissensabrufs zu maximieren.
  • 10.000 Antworttoken.
  • Maximal 50 Dokumente für die semantische Rangfolge und 20 Dokumente, wenn der semantische Rangierer L3-Klassifizierung verwendet.
  • Verfügbar in ausgewählten Regionen.
auto Beginnt mit einem einfachen Abrufdurchlauf. Wenn der erste Durchlauf genügend Kontext liefert, gibt der Dienst das Ergebnis zurück. Andernfalls wird sie mit der LLM-basierten Abfrageplanung bis zu mittlerem Aufwand fortgesetzt. Verwenden Sie auto, wenn der Dienst für jede Anfrage die Abruftiefe und Latenz ausgleichen soll.

Iterative Suche für mittlere Abrufe

Ein mittlerer Abruf von Gründen bietet iterative Suche, wenn die anfänglichen Ergebnisse nicht ausreichend relevant sind. Ein zusätzliches semantisches Klassifizierermodell wird aufgerufen, um festzustellen, ob eine zweite Iteration erforderlich ist.

Der semantische Klassifizierer:

  • Erkennt, wenn genügend Kontext vorhanden ist, um die Frage zu beantworten.

  • Erneute Versuche bei unzureichenden Ergebnissen unter Verwendung vorhandener Informationen für den Kontext. Neue Abfragen können einen Drilldown für genauere Details ausführen oder die Suche erweitern. Das Aktivitätsprotokoll in der Antwort zeigt die generierten Abfragen an, die für eine umfassendere Antwort verwendet werden.

  • Neubewertung unter Verwendung der L3-Klassifikation. Der Bereich ist identisch mit der L2-Rangfolge, einem absoluten Bereich von Null bis 4,0.

Es gibt nur einen Wiederholungsversuch. Jede Iteration fügt Latenz und Kosten hinzu, sodass das System den Wiederholungsversuche auf einen Durchlauf beschränkt. Eine zweite Iteration fügt der Abfragepipeline Eingabe-Token hinzu, was zur insgesamt in Rechnung stellbaren Eingabe-Token-Anzahl beiträgt.

Iteration kann vorhandene Wissensquellen wiederverwenden oder verschiedene Quellen auswählen. Der zweite Durchgang wählt die vielversprechendste Wissensquelle aus, um die fehlenden Informationen bereitzustellen.

Regionsunterstützung für mittleren Abruf

Sie können einen mittleren Abrufbegründungsaufwand festlegen, wenn sich Ihr Suchdienst in einer der folgenden Regionen befindet:

  • Ost-USA 2
  • Ost-USA
  • Süd-Mittel-USA
  • USA, Westen 3
  • USA, Westen 2
  • USA, Westen
  • Deutschland West Central
  • Nordeuropa
  • Schweiz Nord
  • Schweden Zentral
  • Spanien Zentral
  • Vereinigtes Königreich Süd
  • Korea Zentral
  • Japan Ost
  • Südostasien

Festlegen des Begründungsaufwands in einer Wissensbasis

Legen Sie retrievalReasoningEffort in einer Knowledge Base-Definition fest, um die Standardeinstellung für ihre Abfragen festzulegen. Der auto Argumentationsaufwand erfordert eine Modellkonfiguration. Das folgende Beispiel behält die bestehende Konfiguration knowledgeSources und auto bei, setzt den Reasoning-Aufwand auf models und aktualisiert die Wissensdatenbank.

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);

Referenz:KnowledgeBase

Wenn Sie eine andere Ebene verwenden möchten, ersetzen Sie diese durch KnowledgeRetrievalAutoReasoningEffort , oder KnowledgeRetrievalLowReasoningEffortKnowledgeRetrievalMediumReasoningEffort.KnowledgeRetrievalMinimalReasoningEffort

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)

Referenz:KnowledgeBase

Wenn Sie eine andere Ebene verwenden möchten, ersetzen Sie diese durch KnowledgeRetrievalAutoReasoningEffort , oder KnowledgeRetrievalLowReasoningEffortKnowledgeRetrievalMediumReasoningEffort.KnowledgeRetrievalMinimalReasoningEffort

@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"
  }
}

Referenz:Knowledge Basen – Erstellen oder Aktualisieren

Um eine andere Ebene zu verwenden, setzen Sie retrievalReasoningEffort.kind auf minimal, low oder medium.

Festlegen des Aufwands für die Begründung in einer Abruf-Anforderung

Legen Sie retrievalReasoningEffort in einer Abrufanfrage fest, um den Standard der Knowledge Base für diese Anfrage außer Kraft zu setzen. Im folgenden Beispiel wird eine Nachricht gesendet, low verwendet, um den Standardwert auto aus dem vorherigen Abschnitt zu überschreiben, und die Antwortsynthese (Vorschau) aktiviert.

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);

Referenz: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)

Referenz: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"
}

Reference:Knowledge Retrieval - Abrufen

Die Abrufanfrage gibt eine fundierte Antwort auf der Grundlage der in der Wissensbasis konfigurierten Wissensquellen zurück.