Defina o esforço de raciocínio de recuperação (pré-visualização)

Nota

O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.

Importante

Funcionalidades, capacidades ou propriedades assinaladas (pré-visualização) não são abrangidas por um acordo de nível de serviço, não são recomendadas para cargas de trabalho em produção e podem mudar ou ser limitadas antes de se tornarem geralmente disponíveis. Os termos de pré-visualização do Pesquisa de IA do Azure aplicam-se a todas as funcionalidades de pré-visualização, sejam independentes ou parte de uma funcionalidade geralmente disponível.

Na recuperação agentica, pode especificar o nível de processamento de grandes modelos de linguagem (LLM) para planeamento de consultas e formulação de respostas. Utilize o retrieval reasoning effort (pré-visualização) para definir os níveis de processamento do LLM que afetam os custos e a latência. O processamento extra de LLM melhora a relevância, mas também demora mais tempo e utiliza recursos faturáveis de LLM.

Podes definir esta propriedade numa base de conhecimento ou num pedido de recuperação. A configuração da base de conhecimento define a predefinição para todas as consultas, enquanto a configuração do pedido de recuperação substitui essa predefinição para cada consulta. Se nenhuma das definições estiver presente, o serviço utiliza low.

Suporte de utilização

portal do Azure Microsoft Foundry portal .NET SDK Python SDK Java SDK JavaScript SDK API REST
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Pré-requisitos

  • Uma base de conhecimento existente com pelo menos uma fonte de conhecimento e uma configuração de modelo.

  • Permissão para atualizar e consultar bases de conhecimento. Configure autenticação sem chave com os papéis de Contribuidor de Serviço de Pesquisa e Leitor de Dados de Índice de Pesquisa atribuídos à sua conta de utilizador (recomendado) ou utilize uma chave API de administrador.

  • O pacote de pré-visualização mais recente Azure.Search.Documents: dotnet add package Azure.Search.Documents --prerelease

  • Para autenticação sem chave, o Azure.Identity pacote: dotnet add package Azure.Identity

  • O pacote de pré-visualização mais recente azure-search-documents: pip install --pre azure-search-documents

  • Para autenticação sem chave, o azure-identity pacote: pip install azure-identity

Escolha um esforço de raciocínio

Escolha um esforço de raciocínio com base no equilíbrio que pretende entre latência, custo e profundidade da recuperação.

Níveis de esforço de raciocínio

Nível Descrição Recomendação Limites
minimal Desativa o planeamento de consultas baseado em LLM para oferecer o menor custo e latência para a recuperação agentica. Emite pesquisas diretas de texto e vetoriais entre as fontes de conhecimento listadas na base de conhecimento, e devolve as passagens com melhor correspondência. Como todas as fontes de conhecimento na base de conhecimento são sempre pesquisadas e não é realizada qualquer expansão de consultas, o comportamento é previsível e fácil de controlar. Também significa que a alwaysQueryKnowledgeSource propriedade num pedido de obtenção é ignorada. Use minimal para migrações a partir da API de Pesquisa ou quando quiser gerir o planeamento de consultas por si próprio.
low O modo padrão de recuperação agentica, através da execução de uma única passagem de planejamento de consultas com base em LLM e na seleção de fontes de conhecimento. O motor de recuperação agential gera subconsultas e espalha-as para as fontes de conhecimento selecionadas, depois funde os resultados. Pode ativar a síntese de respostas (pré-visualização) para produzir uma resposta fundamentada em linguagem natural com citações em linha. Usa low quando quiseres um equilíbrio entre latência mínima e processamento mais profundo.
  • 5.000 fichas de resposta.
  • Máximo de 50 documentos para classificação semântica, e 10 documentos se o classificador semântico usar classificação L3.
medium Adiciona uma pesquisa mais profunda e uma pilha de recuperação melhorada à recuperação agential para maximizar a completude. Após a primeira pesquisa, um classificador semântico de alta precisão avalia os documentos recuperados. Se os resultados iniciais não forem suficientemente relevantes, o serviço realiza uma iteração subsequente usando um plano de consulta revisto. Use medium para maximizar a utilidade da recuperação de conhecimento assistida por LLM.
  • 10.000 tokens de resposta.
  • Máximo de 50 documentos para classificação semântica, e 20 documentos se o classificador semântico usar classificação L3.
  • Disponível em regiões selecionadas.
auto Começa com uma etapa ligeira de recuperação. Se a primeira passagem fornecer aterragem suficiente, o serviço devolve o resultado. Caso contrário, prossegue com o planeamento de consultas com base em LLM, até um nível de esforço médio. Use auto quando quiser que o serviço equilibre a profundidade de recuperação e a latência para cada pedido.

Pesquisa iterativa para recuperação de meios

Um esforço moderado em raciocínio de recuperação fornece uma pesquisa iterativa se os resultados iniciais não forem suficientemente relevantes. É chamado um modelo semântico adicional de classificador para determinar se é necessária uma segunda iteração.

O classificador semântico:

  • Reconhece quando há contexto suficiente para responder à pergunta.

  • Tenta novamente em caso de resultados insuficientes, usando a informação existente para fornecer contexto. Novas consultas podem aprofundar para obter mais detalhes ou alargar a pesquisa. O registo de atividade na resposta mostra as consultas geradas usadas para uma resposta mais abrangente.

  • Reavaliações usando classificação L3. O intervalo é idêntico ao ranking L2, um intervalo absoluto de zero a 4,0.

Só há uma tentativa de novo. Cada iteração acrescenta latência e custo, por isso o sistema limita as retentativa a uma única tentativa. Uma segunda iteração adiciona tokens de entrada ao pipeline de consulta, o que aumenta a contagem total de tokens de entrada faturáveis.

A iteração pode reutilizar fontes de conhecimento existentes ou escolher fontes diferentes. A segunda fase seleciona a fonte de conhecimento mais promissora para fornecer a informação em falta.

Suporte regional para recuperação de meios

Pode definir um esforço de raciocínio de recuperação média se o seu serviço de pesquisa estiver numa das seguintes regiões:

  • E.U.A. Leste 2
  • E.U.A. Leste
  • E.U.A. Centro-Sul
  • E.U.A. Oeste 3
  • E.U.A. Oeste 2
  • E.U.A. Oeste
  • Alemanha Centro-Oeste
  • Europa do Norte
  • Norte da Suíça
  • Suécia Central
  • Espanha Central
  • Sul do Reino Unido
  • Coreia Central
  • Leste do Japão
  • Sudeste Asiático

Defina o esforço de raciocínio numa base de conhecimento

Defina retrievalReasoningEffort numa definição de base de conhecimento para estabelecer o valor predefinido das suas consultas. O auto esforço de raciocínio requer uma configuração de modelo. O exemplo seguinte preserva a configuração existente de knowledgeSources e models, define o esforço de raciocínio para auto e atualiza a base de conhecimento.

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

Referência:KnowledgeBase

Para usar outro nível, substitua KnowledgeRetrievalAutoReasoningEffort por KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffort, ou 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)

Referência:KnowledgeBase

Para usar outro nível, substitua KnowledgeRetrievalAutoReasoningEffort por KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffort, ou 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"
  }
}

Referência:Bases de Conhecimento - Criar ou Atualizar

Para usar outro nível, defina retrievalReasoningEffort.kind para minimal, low, ou medium.

Defina o esforço de raciocínio num pedido de recuperação

Defina retrievalReasoningEffort num pedido de recuperação para substituir a predefinição da base de conhecimento para esse pedido. O exemplo seguinte envia uma mensagem, é usada low para sobrescrever o auto padrão da secção anterior e permite a síntese de respostas (pré-visualização).

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

Referência: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)

Referência: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"
}

Referência:Recuperação de Conhecimento - Recuperar

O pedido de recuperação retorna uma resposta fundamentada baseada nas fontes de conhecimento configuradas na base de conhecimento.