Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Observera
Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.
Viktigt
Funktioner, funktioner eller egenskaper som har markerats (förhandsversion) omfattas inte av ett serviceavtal, rekommenderas inte för produktionsarbetsbelastningar och kan ändras eller begränsas innan de blir allmänt tillgängliga. Villkoren för Azure AI-sökning förhandsgranskning gäller för alla förhandsgranskningsfunktioner, oavsett om de är fristående eller en del av en allmänt tillgänglig funktion.
Som standard utför en kunskapsbas i Azure AI-sökning dataextraktion, vilket returnerar råa underlagssegment från dina kunskapskällor. Dataextrahering är användbart för att hämta specifik information men saknar den kontext och det resonemang som krävs för komplexa frågor.
Du kan i stället aktivera svarssyntes (förhandsversion), som använder den LLM som anges i kunskapsbasen för att besvara frågor på naturligt språk. Varje svar innehåller citat till de hämtade källorna och följer alla instruktioner som du anger, till exempel att använda punktlistor.
Du kan ange den här egenskapen i en kunskapsbas eller en hämtningsbegäran. Inställningen för kunskapsbasen etablerar standardvärdet för alla frågor, medan inställningen hämta begäran åsidosätter standardinställningen från fråga till fråga.
Användningsstöd
| Azure Portal | Microsoft Foundry-portalen | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Förutsättningar
En Azure AI-sökning-tjänst med en knowledge-bas som anger en LLM.
Behörighet att uppdatera kunskapsbaser. Konfigurera nyckellös autentisering med rollen Search Service-deltagare tilldelad till ditt användarkonto (rekommenderas) eller använd en administratörs-API-nyckel.
För utgående anrop till LLM måste söktjänsten ha en hanterad identitet med Cognitive Services-användare behörigheter på Microsoft Foundry-resursen.
Det senaste
Azure.Search.Documentsförhandsversionspaketet:dotnet add package Azure.Search.Documents --prereleaseFör nyckellös autentisering, paketet
Azure.Identity:dotnet add package Azure.Identity
Det senaste
azure-search-documentsförhandsversionspaketet:pip install --pre azure-search-documentsFör nyckellös autentisering, paketet
azure-identity:pip install azure-identity
Versionen 2026-08-01-preview av REST-API:t för söktjänsten.
För nyckellös autentisering inkluderar du en Microsoft Entra ID token i rubriken för
Authorizationvarje HTTP-begäran.
Begränsningar och överväganden
minimal-resonemangsinsatsen för hämtning inaktiverar bearbetning med LLM och är därför inte kompatibel med svarssyntes i vare sig kunskapsbasdefinitioner eller hämtningsbegäranden. Mer information finns i Ange hämtningsskäl.Svarssyntes medför användningsbaserade avgifter från Azure OpenAI, som baseras på antalet indata- och utdatatoken. Avgifter visas under den LLM som tilldelats kunskapsbasen. Mer information finns i Regiontillgänglighet, gränser och fakturering.
Aktivera svarssyntes i en kunskapsbas
Det här avsnittet visar hur du aktiverar svarssyntes i en befintlig kunskapsbas. Även om du kan använda den här konfigurationen för nya kunskapsbaser ligger skapandet av kunskapsbasen utanför omfånget för den här artikeln.
Ange OutputMode till "answerSynthesis" för KnowledgeBase definitionen. Du kan också ange AnswerInstructions för att anpassa svarsutdata. I följande exemplet instrueras kunskapsbasen att 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);
Referens:SearchIndexClient, KnowledgeBase
Ange output_mode till "answerSynthesis" för KnowledgeBase definitionen. Du kan också ange answer_instructions för att anpassa svarsutdata. I följande exemplet instrueras kunskapsbasen att 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)
Referens:SearchIndexClient, KnowledgeBase
Ange outputMode till "answerSynthesis" för kunskapsbasdefinitionen. Du kan också ange answerInstructions för att anpassa svarsutdata. I följande exemplet instrueras kunskapsbasen att 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"
}
Referens:Kunskapsbas – Skapa eller uppdatera
Aktivera svarssyntes i en hämtningsbegäran
För kontroll per fråga över svarsformatet kan du aktivera svarssyntes vid frågetillfället. Den här metoden åsidosätter standardutdataläget som anges i kunskapsbasen.
Ange OutputMode till "answerSynthesis" på en 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);
Referens:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Ange output_mode till "answerSynthesis" på en 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)
Referens:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Ange outputMode till "answerSynthesis" på en hämtningsbegäran.
### 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"
}
Referens:Kunskapshämtning – Hämta
Hämta ett syntetiserat svar
När svarssyntesen är aktiverad returnerar kunskapsbasen ett naturligt språksvar baserat på de instruktioner som du har angett i kunskapsbasen. Citat till dina kunskapskällor formateras som [ref_id:<number>].
Om dina instruktioner till exempel är Use concise bulleted lists och frågan är What is healthcare?bör svaret likna följande exempel.
{
"response": [
{
"content": [
{
"type": "text",
"text": "- Healthcare encompasses various services provided to patients and the general population ..."
}
]
}
]
}
De fullständiga text utdata är följande:
"- 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]."
Beroende på kunskapsbasens konfiguration kan svaret innehålla annan information, till exempel aktivitetsloggar och referensmatriser. Mer information finns i Skapa en kunskapsbas.
Relaterat innehåll
- Skapa en kunskapsbas
- Fråga en kunskapsbas
- Snabbstart: Agentbaserad hämtning (använder svarsgenerering)
- Python exempel: Azure AI-sökning blob-kunskapskälla (använder svarssyntes)