Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.
Importante
Le funzionalità, le funzionalità o le proprietà contrassegnate (anteprima) non sono coperte da un contratto di servizio, non sono consigliate per i carichi di lavoro di produzione e potrebbero cambiare o essere vincolate prima che diventino disponibili a livello generale. Le condizioni di anteprima Azure AI Search si applicano a tutte le funzionalità di anteprima, indipendente o parte di una funzionalità disponibile a livello generale.
Per impostazione predefinita, una knowledge base in Azure AI Search esegue l'estrazione dei dati, che restituisce blocchi di base non elaborati dalle origini delle informazioni. L'estrazione dei dati è utile per recuperare informazioni specifiche, ma manca il contesto e il ragionamento necessari per query complesse.
È invece possibile abilitare la sintesi delle risposte (anteprima), che usa l'LLM specificato nella knowledge base per rispondere alle query in linguaggio naturale. Ogni risposta include citazioni alle origini recuperate e segue tutte le istruzioni fornite, ad esempio l'uso di elenchi puntati.
È possibile impostare questa proprietà in una Knowledge Base o in una richiesta di recupero. L'impostazione della base di conoscenza definisce il valore predefinito per tutte le query, mentre l'impostazione della richiesta di recupero sovrascrive tale valore predefinito per ogni singola query.
Supporto per l'utilizzo
| Portale di Azure | Portale di Microsoft Foundry | .NET SDK | Python SDK | JAVA SDK | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerequisiti
Un servizio Azure AI Search con una base knowledge che specifica un LLM.
Autorizzazione per aggiornare le knowledge base. Configurare l'autenticazione senza chiave con il ruolo Collaboratore servizio di ricerca assegnato all'account utente (scelta consigliata) o usare una chiave API amministratore.
Per le chiamate in uscita a LLM, il servizio di ricerca deve avere un'identità gestita con autorizzazioni di Utente di servizi cognitivi sulla risorsa Microsoft Foundry.
Pacchetto di anteprima
Azure.Search.Documentspiù recente:dotnet add package Azure.Search.Documents --prereleasePer l'autenticazione senza chiave, il
Azure.Identitypacchetto:dotnet add package Azure.Identity
Pacchetto di anteprima
azure-search-documentspiù recente:pip install --pre azure-search-documentsPer l'autenticazione senza chiave, il
azure-identitypacchetto:pip install azure-identity
Versione 2026-08-01-preview dell'API REST del servizio di ricerca.
Per l'autenticazione senza chiave, includere un token Microsoft Entra ID nell'intestazione
Authorizationdi ogni richiesta HTTP.
Limitazioni e considerazioni
Il tentativo di ragionamento del recupero di
minimaldisabilita l'elaborazione LLM, pertanto non è compatibile con la sintesi delle risposte nelle definizioni della Knowledge Base e nelle richieste di recupero. Per altre informazioni, vedere Impostare lo sforzo di ragionamento per il recupero.La sintesi delle risposte comporta addebiti con pagamento in base al consumo da Azure OpenAI, che si basano sul numero di token di input e output. Gli addebiti vengono visualizzati sotto il modello linguistico di grandi dimensioni assegnato alla knowledge base. Per altre informazioni, vedere Disponibilità, limiti e fatturazione dell'area.
Abilitare la sintesi delle risposte in una Knowledge Base
Questa sezione illustra come abilitare la sintesi delle risposte in una Knowledge Base esistente. Sebbene sia possibile usare questa configurazione per le nuove knowledge base, la creazione della Knowledge Base non rientra nell'ambito di questo articolo.
Impostare OutputMode su "answerSynthesis" nella definizione di KnowledgeBase. Facoltativamente, impostare AnswerInstructions per personalizzare l'output delle risposte. Nell'esempio seguente viene indicato alla knowledge base di 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
Impostare output_mode su "answerSynthesis" nella definizione di KnowledgeBase. Facoltativamente, impostare answer_instructions per personalizzare l'output delle risposte. Nell'esempio seguente viene indicato alla knowledge base di 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
Impostare outputMode su "answerSynthesis" nella definizione della Knowledge Base. Facoltativamente, impostare answerInstructions per personalizzare l'output delle risposte. Nell'esempio seguente viene indicato alla knowledge base di 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"
}
Reference:Knowledge Base - Creare o aggiornare
Abilitare la sintesi delle risposte in una richiesta di recupero
Per il controllo per query sul formato di risposta, è possibile abilitare la sintesi delle risposte in fase di query. Questo approccio esegue l'override della modalità di output predefinita specificata nella Knowledge Base.
Impostare OutputMode su "answerSynthesis" in un 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
Impostare output_mode su "answerSynthesis" in un 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
Impostare outputMode su "answerSynthesis" per una richiesta di recupero.
### 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"
}
Riferimento:Recupero della Conoscenza - Recuperare
Ottenere una risposta sintetizzata
Quando la sintesi delle risposte è abilitata, la Knowledge Base restituisce una risposta in linguaggio naturale in base alle istruzioni specificate facoltativamente nella Knowledge Base. Le citazioni alle fonti di conoscenza sono formattate come [ref_id:<number>].
Ad esempio, se le istruzioni sono Use concise bulleted lists e la query è What is healthcare?, la risposta dovrebbe essere simile all'esempio seguente.
{
"response": [
{
"content": [
{
"type": "text",
"text": "- Healthcare encompasses various services provided to patients and the general population ..."
}
]
}
]
}
L'output completo text è il seguente:
"- 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]."
A seconda della configurazione della Knowledge Base, la risposta potrebbe includere altre informazioni, ad esempio i log attività e le matrici di riferimento. Per altre informazioni, vedere Creare una knowledge base.
Contenuto correlato
- Creare una knowledge base
- Interrogare una base di conoscenza
- Guida introduttiva: Recupero agentico (usa la sintesi delle risposte)
- Esempio di Python: origine dati di conoscenza dei BLOB di Azure AI Search (usa la sintesi delle risposte)