Ustawianie wysiłku powodowania pobierania (wersja zapoznawcza)

Uwaga

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

Ważna

Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.

W agentycznym pobieraniu można określić poziom przetwarzania dużego modelu językowego (LLM) na potrzeby planowania zapytań i formułowania odpowiedzi. Użyj poziomu wysiłku rozumowania przy wyszukiwaniu (wersja zapoznawcza), aby ustawić poziomy przetwarzania modelu LLM, które wpływają na koszty i opóźnienie. Dodatkowe przetwarzanie przez LLM poprawia trafność, ale trwa dłużej i zużywa zasoby LLM podlegające rozliczeniu.

Tę właściwość można ustawić w bazie wiedzy lub żądaniu pobierania. Ustawienie bazy wiedzy ustala ustawienie domyślne dla wszystkich zapytań, natomiast ustawienie żądania pobrania zastępuje to ustawienie dla każdego zapytania osobno. Jeśli żadne ustawienie nie jest obecne, usługa używa elementu low.

Wsparcie użytkowania

Portal Azure Portal Microsoft Foundry .NET SDK SDK języka Python SDK Java JavaScript SDK API REST
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Wymagania wstępne

  • Istniejąca baza wiedzy z co najmniej jednym źródłem wiedzy i konfiguracją modelu.

  • Uprawnienie do aktualizowania i wykonywania zapytań dotyczących baz wiedzy. Skonfiguruj uwierzytelnianie bez klucza przy użyciu ról Współautor usługi wyszukiwania i Czytelnik danych indeksu wyszukiwania przypisanych do konta użytkownika (zalecane) lub użyj klucza interfejsu API administratora.

  • Najnowszy pakiet Azure.Search.Documents wersji zapoznawczej: dotnet add package Azure.Search.Documents --prerelease

  • W przypadku uwierzytelniania bezkluczowego pakiet Azure.Identity: dotnet add package Azure.Identity

  • Najnowszy pakiet azure-search-documents wersji zapoznawczej: pip install --pre azure-search-documents

  • W przypadku uwierzytelniania bezkluczowego pakiet azure-identity: pip install azure-identity

Wybierz poziom wysiłku intelektualnego

Wybierz poziom wysiłku rozumowania w zależności od tego, jaki kompromis chcesz osiągnąć między opóźnieniem, kosztem i głębokością pobierania.

Poziomy nakładu pracy rozumowania

Poziom Opis Zalecenie Limity
minimal Wyłącza planowanie zapytań oparte na LLM, aby zapewnić najniższe koszty i opóźnienia dla agentowego pobierania danych. Wykonuje bezpośrednie wyszukiwanie tekstowe i wektorowe w źródłach wiedzy wymienionych w bazie wiedzy i zwraca najlepiej pasujące fragmenty. Ponieważ wszystkie źródła wiedzy w bazie wiedzy są zawsze przeszukiwane i nie są wykonywane żadne rozszerzanie zapytań, zachowanie jest przewidywalne i łatwe do kontrolowania. Oznacza to również, że alwaysQueryKnowledgeSource właściwość żądania pobierania jest ignorowana. Użyj minimal do migracji z Search API lub gdy chcesz samodzielnie zarządzać planowaniem zapytań.
low Domyślny tryb agentowego pobierania przy użyciu pojedynczego przebiegu planowania zapytań opartych na LLM i wyboru źródeł wiedzy. Silnik agentycznego wyszukiwania generuje podzapytania i rozsyła je do wybranych źródeł wiedzy, a następnie scala wyniki. Możesz włączyć syntezę odpowiedzi (wersja zapoznawcza) w celu utworzenia uziemionej odpowiedzi w języku naturalnym z wbudowanymi cytatami. Użyj low , jeśli chcesz zrównoważyć minimalne opóźnienia i dokładniejsze przetwarzanie.
  • 5000 tokenów odpowiedzi.
  • Maksymalnie 50 dokumentów do rankingowania semantycznego i 10 dokumentów, jeśli ranker semantyczny używa klasyfikacji L3.
medium Dodaje dokładniejsze wyszukiwanie i ulepszony mechanizm pobierania do agentycznego pobierania, aby zmaksymalizować kompletność. Po pierwszym wyszukiwaniu klasyfikator semantyczny o wysokiej dokładności ocenia pobrane dokumenty. Jeśli początkowe wyniki nie są wystarczająco istotne, usługa wykonuje jedną iterację kontynuacji przy użyciu poprawionego planu zapytania. Użyj medium, aby zmaksymalizować użyteczność wyszukiwania wiedzy wspomaganego przez modele LLM.
  • 10 000 tokenów odpowiedzi.
  • Maksymalnie 50 dokumentów dla rankingu semantycznego i 20 dokumentów, jeśli ranker semantyczny stosuje klasyfikację L3.
  • Dostępne w wybranych regionach.
auto Rozpoczyna się od lekkiego przebiegu pobierania. Jeśli pierwszy pass zapewnia wystarczającą liczbę uziemienia, usługa zwraca wynik. W przeciwnym razie kontynuowane jest planowanie zapytań oparte na modelu LLM, do poziomu średniego nakładu pracy. Użyj auto polecenia , jeśli chcesz, aby usługa równoważyła głębokość pobierania i opóźnienie dla każdego żądania.

Wyszukiwanie iteracyjne dla odczytu mediów

Średni wysiłek związany z rozumowaniem przy wyszukiwaniu umożliwia wyszukiwanie iteracyjne, jeśli wstępne wyniki nie są wystarczająco istotne. Wywoływany jest dodatkowy model klasyfikatora semantycznego w celu określenia, czy konieczna jest druga iteracja.

Klasyfikator semantyczny:

  • Rozpoznaje, kiedy jest wystarczająca ilość kontekstu, aby odpowiedzieć na pytanie.

  • Ponawianie prób przy niewystarczających wynikach, wykorzystując istniejące informacje jako kontekst. Nowe zapytania mogą przechodzić do szczegółów bardziej skoncentrowanych lub rozszerzać wyszukiwanie. Dziennik aktywności w odpowiedzi zawiera wygenerowane zapytania używane do bardziej kompleksowej odpowiedzi.

  • Ponowna ocena przy użyciu klasyfikacji L3. Zakres jest identyczny z klasyfikacją L2, bezwzględny zakres od zera do 4,0.

Jest tylko jedna ponowna próba. Każda iteracja dodaje opóźnienie i koszt, więc system ogranicza ponawianie prób do jednego przebiegu. Druga iteracja dodaje tokeny wejściowe do potoku zapytania, co zwiększa całkowitą rozliczaną liczbę tokenów wejściowych.

Iteracja może ponownie używać istniejących źródeł wiedzy lub wybierać różne źródła. Drugi etap wybiera najbardziej obiecujące źródło wiedzy, aby dostarczyć brakujących informacji.

Obsługa regionów dla przywoływania nośnika

Możesz ustawić średni wysiłek obliczeniowy przy przetwarzaniu zapytań, jeśli usługa wyszukiwania znajduje się w jednym z następujących regionów:

  • Wschodnie stany USA 2
  • Wschodnie stany USA
  • Południowo-środkowe stany USA
  • Zachodnie stany USA 3
  • Zachodnie stany USA 2
  • Zachodnie stany USA
  • Niemcy Środkowo-Zachodnie
  • Europa Północna
  • Szwajcaria Północna
  • Szwecja Środkowa
  • Hiszpania Środkowa
  • Południowe Zjednoczone Królestwo
  • Korea Środkowa
  • Japonia Wschodnia
  • Azja Południowo-Wschodnia

Ustaw wysiłek rozumowania w bazie wiedzy

Ustaw retrievalReasoningEffort w definicji bazy wiedzy, aby ustanowić wartość domyślną dla zapytań. Wysiłek auto rozumowania wymaga konfiguracji modelu. Poniższy przykład zachowuje istniejącą konfigurację knowledgeSources i models, ustawia wysiłek wnioskowania na auto i aktualizuje bazę wiedzy.

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

Dokumentacja:Baza wiedzy

Aby użyć innego poziomu, zastąp ciąg KnowledgeRetrievalAutoReasoningEffort ciągiem KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffortlub 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)

Dokumentacja:Baza wiedzy

Aby użyć innego poziomu, zastąp ciąg KnowledgeRetrievalAutoReasoningEffort ciągiem KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffortlub 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"
  }
}

Dokumentacja:Bazy wiedzy — tworzenie lub aktualizowanie

Aby użyć innego poziomu, ustaw wartość retrievalReasoningEffort.kindminimal, lowlub medium.

Ustawianie złożoności rozumowania w żądaniu wyszukiwania

Ustaw retrievalReasoningEffort w żądaniu pobrania, aby zastąpić domyślną wartość bazy wiedzy dla tego żądania. Poniższy przykład wysyła wiadomość, używa low, aby zastąpić domyślne ustawienie auto z poprzedniej sekcji, i włącza syntezę odpowiedzi (wersja zapoznawcza).

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

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

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

Referencja:Odzyskiwanie wiedzy - Pobieranie

Żądanie pobrania zwraca odpowiedź opartą na źródłach wiedzy skonfigurowanych w bazie wiedzy.