Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nota
Pesquisa de IA do Azure está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.
Importante
Recursos, funcionalidades ou propriedades marcados como (versão prévia) não são cobertos por um contrato de nível de serviço (SLA), não são recomendados para cargas de trabalho de produção e podem mudar ou ser restringidos antes da disponibilidade geral. Os termos de visualização do Pesquisa de IA do Azure se aplicam a toda funcionalidade em visualização, seja autônoma ou parte de um recurso de disponibilidade geral.
Por padrão, uma base de conhecimento no Pesquisa de IA do Azure realiza a extração de dados, que retorna segmentos brutos de fundamentação das suas fontes de conhecimento. A extração de dados é útil para recuperar informações específicas, mas não tem o contexto e o raciocínio necessários para consultas complexas.
Em vez disso, você pode habilitar a síntese de resposta (versão prévia), que usa a LLM especificada em sua base de dados de conhecimento para responder a consultas em linguagem natural. Cada resposta inclui citações para as fontes recuperadas e segue todas as instruções fornecidas, como o uso de listas com marcadores.
Você pode definir essa propriedade em uma base de dados de conhecimento ou em uma solicitação de recuperação. A configuração da base de conhecimento define o padrão para todas as consultas, enquanto a configuração da solicitação de recuperação substitui esse padrão consulta por consulta.
Suporte de uso
| Portal do Azure | Portal Foundry da Microsoft | SDK do .NET | SDK do Python | SDK do Java | SDK do JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pré-requisitos
Um serviço Pesquisa de IA do Azure com uma base de conhecimento que especifica uma LLM.
Permissão para atualizar bases de dados de conhecimento. Configure a autenticação sem chave com a função Colaborador do Serviço de Pesquisa atribuída à sua conta de usuário (recomendada) ou use uma chave de API de administrador.
Para chamadas de saída para o LLM, o serviço de pesquisa deve possuir uma identidade gerenciada com permissões de Usuário de Serviços Cognitivos no recurso Microsoft Foundry.
O pacote de versão prévia
Azure.Search.Documentsmais recente:dotnet add package Azure.Search.Documents --prereleasePara autenticação sem chave, o
Azure.Identitypacote:dotnet add package Azure.Identity
O pacote de versão prévia
azure-search-documentsmais recente:pip install --pre azure-search-documentsPara autenticação sem chave, o
azure-identitypacote:pip install azure-identity
A versão 2026-08-01-preview da API REST do Serviço de Pesquisa.
Para autenticação sem chave, inclua um token Microsoft Entra ID no
Authorizationcabeçalho de cada solicitação HTTP.
Limitações e considerações
O esforço de raciocínio de recuperação
minimaldesabilita o processamento de LLM; portanto, ele é incompatível com a síntese de resposta em definições de base de dados de conhecimento e solicitações de recuperação. Para obter mais informações, consulte Definir o esforço de raciocínio de recuperação.A síntese de respostas gera cobranças no modelo pagamento conforme o uso do OpenAI do Azure, com base no número de tokens de entrada e saída. As cobranças são exibidas no LLM atribuído à base de dados de conhecimento. Para obter mais informações, consulte Disponibilidade, limites e cobrança de região.
Habilitar a síntese de resposta em uma base de dados de conhecimento
Esta seção demonstra como habilitar a síntese de respostas em uma base de dados de conhecimento existente. Embora você possa usar essa configuração para novas bases de dados de conhecimento, a criação da base de dados de conhecimento está além do escopo deste artigo.
Defina OutputMode como "answerSynthesis" na definição KnowledgeBase. Opcionalmente, defina AnswerInstructions para personalizar a saída da resposta. O exemplo a seguir instrui a base de dados de conhecimento a Use concise bulleted lists.
var aoaiParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri("<aoai-endpoint>"),
DeploymentName = "<aoai-gpt-deployment>",
ModelName = "<aoai-gpt-model>",
};
var knowledgeBase = new KnowledgeBase(
name: "<knowledge-base-name>",
knowledgeSources: new[] { new KnowledgeSourceReference("<knowledge-source-name>") })
{
Models = { new KnowledgeBaseAzureOpenAIModel(aoaiParams) },
OutputMode = "answerSynthesis",
AnswerInstructions = "Use concise bulleted lists",
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference:SearchIndexClient, KnowledgeBase
Defina output_mode como "answerSynthesis" na definição KnowledgeBase. Opcionalmente, defina answer_instructions para personalizar a saída da resposta. O exemplo a seguir instrui a base de dados de conhecimento a Use concise bulleted lists.
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
KnowledgeBase,
KnowledgeBaseAzureOpenAIModel,
KnowledgeSourceReference,
)
aoai_params = AzureOpenAIVectorizerParameters(
resource_url="<aoai-endpoint>",
deployment_name="<aoai-gpt-deployment>",
model_name="<aoai-gpt-model>",
)
knowledge_base = KnowledgeBase(
name="<knowledge-base-name>",
models=[KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters=aoai_params)],
knowledge_sources=[KnowledgeSourceReference(name="<knowledge-source-name>")],
output_mode="answerSynthesis",
answer_instructions="Use concise bulleted lists",
)
index_client = SearchIndexClient(endpoint=search_endpoint, credential=credential)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference:SearchIndexClient, KnowledgeBase
Defina outputMode para "answerSynthesis" na definição da base de conhecimento. Opcionalmente, defina answerInstructions para personalizar a saída da resposta. O exemplo a seguir instrui a base de dados de conhecimento a Use concise bulleted lists.
### Enable answer synthesis in a knowledge base
PUT {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "{{knowledge-base-name}}",
"knowledgeSources": [ ... // OMITTED FOR BREVITY ],
"models": [ ... // OMITTED FOR BREVITY ],
"outputMode": "answerSynthesis",
"answerInstructions": "Use concise bulleted lists"
}
Referência:Base de Dados de Conhecimento – Criar ou Atualizar
Habilitar a síntese de resposta em uma solicitação de recuperação
Para controle por consulta sobre o formato de resposta, você pode habilitar a síntese de resposta no momento da consulta. Essa abordagem substitui o modo de saída padrão especificado na base de dados de conhecimento.
Defina OutputMode para "answerSynthesis" em um KnowledgeBaseRetrievalRequest.
var client = new KnowledgeBaseRetrievalClient(
endpoint: new Uri(searchEndpoint),
knowledgeBaseName: knowledgeBaseName,
credential: credential);
var request = new KnowledgeBaseRetrievalRequest();
request.Messages.Add(
new KnowledgeBaseMessage(
content: new[]
{
new KnowledgeBaseMessageTextContent("What is healthcare?")
}) { Role = "user" });
request.OutputMode = "answerSynthesis";
var result = await client.RetrieveAsync(request);
Reference:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Defina output_mode para "answerSynthesis" em um KnowledgeBaseRetrievalRequest.
from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseMessage,
KnowledgeBaseMessageTextContent,
KnowledgeBaseRetrievalRequest,
)
agent_client = KnowledgeBaseRetrievalClient(
endpoint=search_endpoint,
credential=credential,
knowledge_base_name=knowledge_base_name,
)
request = KnowledgeBaseRetrievalRequest(
messages=[
KnowledgeBaseMessage(
role="user",
content=[KnowledgeBaseMessageTextContent(text="What is healthcare?")],
)
],
output_mode="answerSynthesis",
)
result = agent_client.retrieve(retrieval_request=request)
Reference:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Defina outputMode para "answerSynthesis" em uma solicitação de recuperação.
### Enable answer synthesis in a retrieve request
POST {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What is healthcare?"
}
]
}
],
"outputMode": "answerSynthesis"
}
Referência:Recuperação de Conhecimento – Recuperar
Obter uma resposta sintetizada
Quando a síntese de resposta está habilitada, a base de dados de conhecimento retorna uma resposta de linguagem natural com base nas instruções especificadas opcionalmente na base de dados de conhecimento. As citações às fontes de conhecimento são formatadas como [ref_id:<number>].
Por exemplo, se suas instruções forem Use concise bulleted lists e sua consulta for What is healthcare?, a resposta deverá ser semelhante ao exemplo a seguir.
{
"response": [
{
"content": [
{
"type": "text",
"text": "- Healthcare encompasses various services provided to patients and the general population ..."
}
]
}
]
}
A saída completa text é a seguinte:
"- Healthcare encompasses various services provided to patients and the general population, including primary health services, hospital care, dental care, mental health services, and alternative health services [ref_id:1].\n- It involves the delivery of safe, effective, patient-centered care through different modalities, such as in-person encounters, shared medical appointments, and group education sessions [ref_id:0].\n- Behavioral health is a significant aspect of healthcare, focusing on the connection between behavior and overall health, including mental health and substance use [ref_id:2].\n- The healthcare system aims to ensure quality of care, access to providers, and accountability for positive outcomes while managing costs effectively [ref_id:2].\n- The global health system is evolving to address complex health needs, emphasizing the importance of cross-sectoral collaboration and addressing social determinants of health [ref_id:4]."
Dependendo da configuração da base de dados de conhecimento, a resposta pode incluir outras informações, como logs de atividades e matrizes de referência. Para obter mais informações, consulte Criar uma base de dados de conhecimento.
Conteúdo relacionado
- Criar uma base de dados de conhecimento
- Consultar uma base de dados de conhecimento
- Início Rápido: recuperação por meio de agentes (usa síntese de respostas)
- Exemplo em Python: fonte de conhecimento de blob da Pesquisa de IA do Azure (usa síntese de respostas)