검색 추론 작업 설정(미리 보기)

참고

Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.

Important

기능, 기능 또는 표시된 속성(미리 보기)은 서비스 수준 계약에 포함되지 않으며 프로덕션 워크로드에는 권장되지 않으며 일반적으로 사용 가능해지기 전에 변경되거나 제한될 수 있습니다. Azure AI 검색 미리 보기 용어는 독립 실행형 기능이든 일반 공급 기능의 일부이든 관계없이 모든 미리 보기 기능에 적용됩니다.

에이전트 검색에서 쿼리 계획 및 응답 공식화에 대한 LLM(대규모 언어 모델) 처리 수준을 지정할 수 있습니다. 검색 추론 작업(미리 보기)을 사용하여 비용 및 대기 시간에 영향을 주는 LLM 처리 수준을 설정합니다. 추가 LLM 처리는 관련성을 향상하지만 더 오래 걸리고 청구 가능한 LLM 리소스를 사용합니다.

기술 자료 또는 검색 요청에서 이 속성을 설정할 수 있습니다. 기술 자료 설정은 모든 쿼리에 대한 기본값을 설정하는 반면, 검색 요청 설정은 쿼리별로 기본값을 재정의합니다. 두 설정이 모두 없으면 서비스에서 .를 사용합니다 low.

사용량 지원

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

필수 구성 요소

  • 하나 이상의 기술 원본과 모델 구성이 있는 기존 기술 자료 입니다.

  • 기술 자료를 업데이트하고 쿼리할 수 있는 권한입니다. 사용자 계정에 할당된 Search Service 기여자 및 검색 인덱스 데이터 판독기 역할을 사용하여 키 없는 인증을 구성하거나 관리자 API 키를 사용합니다.

  • 최신 Azure.Search.Documents 미리 보기 패키지: dotnet add package Azure.Search.Documents --prerelease

  • 키 없는 인증의 경우 패키지:Azure.Identitydotnet add package Azure.Identity

추론 유형 선택

대기 시간, 비용 및 검색 깊이 간에 원하는 절충을 기반으로 추론 작업을 선택합니다.

추론 작업 수준

수준 설명 추천 제한
minimal 에이전트 검색에 대한 가장 낮은 비용 및 대기 시간을 제공하기 위해 LLM 기반 쿼리 계획을 사용하지 않도록 설정합니다. 기술 자료에 나열된 지식 원본에서 직접 텍스트 및 벡터 검색을 실행하고 가장 일치하는 구절을 반환합니다. 기술 자료의 모든 기술 자료는 항상 검색되고 쿼리 확장이 수행되지 않으므로 동작은 예측 가능하고 제어하기 쉽습니다. 또한 검색 요청의 alwaysQueryKnowledgeSource 속성이 무시됨을 의미합니다. minimal에서 마이그레이션하거나 쿼리 계획을 직접 관리하려는 경우에 사용합니다.
low LLM 기반 쿼리 계획 및 기술 자료 원본 선택의 단일 패스를 실행하는 에이전트 검색의 기본 모드입니다. 에이젠틱 검색 엔진은 서브쿼리를 생성하고 선택한 지식 소스로 팬아웃한 다음 결과를 병합합니다. 응답 합성(미리 보기)을 사용하도록 설정하여 인라인 인용을 사용하여 기본 자연어 응답을 생성할 수 있습니다. 최소 대기 시간과 심층 처리 간의 균형을 원하는 경우에 사용합니다 low .
  • 5,000개의 응답 토큰.
  • 의미 체계 순위에 대해 최대 50개의 문서와 의미 체계 순위가 L3 분류를 사용하는 경우 10개의 문서입니다.
medium 더 심층 검색 및 향상된 검색 스택을 에이전트 검색에 추가하여 완성도를 최대화합니다. 첫 번째 검색 후 정밀도 의미 체계 분류자는 검색된 문서를 평가합니다. 초기 결과가 충분히 관련이 없는 경우 서비스는 수정된 쿼리 계획을 사용하여 한 번의 후속 반복을 수행합니다. LLM 지원 지식 검색의 활용도를 극대화하려면 medium을(를) 사용하세요.
  • 10,000개의 응답 토큰.
  • 의미 체계 순위에 대해 최대 50개의 문서와 의미 체계 순위가 L3 분류를 사용하는 경우 20개의 문서입니다.
  • 선택한 지역에서 사용할 수 있습니다.
auto 간단한 검색 패스로 시작합니다. 첫 번째 패스가 충분한 접지를 제공하는 경우 서비스는 결과를 반환합니다. 그렇지 않으면 중간 수준의 노력 범위에서 LLM 기반 쿼리 계획 수립을 계속 수행합니다. 서비스가 각 요청에 대한 검색 깊이와 대기 시간의 균형을 맞추려는 경우에 사용합니다 auto .

중간 단위 검색에 대한 반복 검색

중간 검색 추론 작업은 초기 결과가 충분히 관련이 없는 경우 반복 검색을 제공합니다. 추가 의미 체계 분류자 모델이 호출되어 두 번째 반복이 필요한지 확인합니다.

시맨틱 분류기:

  • 질문에 대답하기에 충분한 컨텍스트가 있는 경우를 인식합니다.

  • 컨텍스트에 대한 기존 정보를 사용하여 부족한 결과를 다시 시도합니다. 새 쿼리는 더 집중된 세부 정보를 드릴다운하거나 검색 범위를 넓힐 수 있습니다. 응답의 활동 로그는 보다 포괄적인 답변에 사용되는 생성된 쿼리를 보여 줍니다.

  • L3 분류를 사용하여 다시 점수 지정합니다. 이 범위는 L2 순위와 동일하며, 절대 범위는 0부터 4.0까지입니다.

재시도는 하나뿐입니다. 각 반복은 대기 시간과 비용을 추가하므로 시스템은 한 패스로 재시도를 제한합니다. 두 번째 반복은 쿼리 파이프라인에 입력 토큰을 추가하여 전체 청구 가능한 입력 토큰 수에 추가합니다.

반복은 기존 기술 자료를 다시 사용하거나 다른 원본을 선택할 수 있습니다. 두 번째 패스는 누락된 정보를 제공하기 위해 가장 유망한 기술 원본을 선택합니다.

중간 검색에 대한 지역 지원

검색 서비스가 다음 지역 중 하나에 있는 경우 중간 검색 추론 작업을 설정할 수 있습니다.

  • 미국 동부 2
  • 미국 동부
  • 미국 중남부
  • 미국 서부 3
  • 미국 서부 2
  • 미국 서부
  • 독일 중서부
  • 북유럽
  • 스위스 북부
  • 스웨덴 중부
  • 스페인 중부
  • 영국 남부
  • 한국 중부
  • 일본 동부
  • 동남 아시아

지식 베이스에서 추론 노력 설정

지식 베이스 정의에서 retrievalReasoningEffort를 설정하여 해당 쿼리의 기본값을 설정합니다. 추론 작업에는 auto 모델 구성이 필요합니다. 다음 예제에서는 기존 knowledgeSources 구성과 models 구성을 유지하고, 추론 노력을 auto설정하고, 기술 자료를 업데이트합니다.

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

참조:KnowledgeBase

다른 수준을 사용하려면 KnowledgeRetrievalAutoReasoningEffort을 KnowledgeRetrievalLowReasoningEffort, KnowledgeRetrievalMediumReasoningEffort 또는 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)

참조:KnowledgeBase

다른 수준을 사용하려면 KnowledgeRetrievalAutoReasoningEffort을 KnowledgeRetrievalLowReasoningEffort, KnowledgeRetrievalMediumReasoningEffort 또는 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"
  }
}

참조:기술 자료 - 만들기 또는 업데이트

다른 수준을 사용하려면 low을(를) medium, minimal 또는 retrievalReasoningEffort.kind(으)로 설정합니다.

검색 요청에서 추론 작업 설정

해당 요청에 대해 기술 자료 기본값을 재정의하려면 조회 요청에서 retrievalReasoningEffort를 설정합니다. 다음 예제에서는 메시지를 보내고, auto를 사용하여 이전 섹션의 low 기본값을 재정의하며, 답변 합성(미리 보기)을 활성화합니다.

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

참조: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)

참조: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"
}

참조:지식 검색 - 검색

검색 요청은 기술 자료에 구성된 지식 소스를 기반으로 한 근거 기반 답변을 반환합니다.