Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
Ważne
Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.
Domyślnie baza wiedzy w Wyszukiwanie AI platformy Azure wykonuje wyodrębnianie danych, w wyniku którego zwracane są surowe fragmenty danych źródłowych służące jako podstawa z Twoich źródeł wiedzy. Wyodrębnianie danych jest przydatne do pobierania określonych informacji, ale samo w sobie nie zapewnia kontekstu i rozumowania niezbędnego do złożonych zapytań.
Zamiast tego możesz włączyć syntezę odpowiedzi (wersja zapoznawcza), która używa modelu LLM określonego w bazie wiedzy, aby odpowiadać na zapytania w języku naturalnym. Każda odpowiedź zawiera cytaty do pobranych źródeł i postępuje zgodnie z podanymi instrukcjami, takimi jak używanie list punktowanych.
Tę właściwość można ustawić w bazie wiedzy lub żądaniu pobierania. Ustawienie bazy wiedzy ustala ustawienie domyślne dla wszystkich zapytań, natomiast ustawienie żądania pobrania zastępuje to ustawienie dla każdego zapytania osobno.
Wsparcie użytkowania
| Portal Azure | Portal Microsoft Foundry | .NET SDK | SDK języka Python | SDK Java | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Wymagania wstępne
Usługa Wyszukiwanie AI platformy Azure z bazą wiedzy knowledge base, która określa LLM.
Uprawnienie do aktualizowania baz wiedzy. Skonfiguruj uwierzytelnianie bez klucza przy użyciu roli Współautor usługi wyszukiwania przypisanej do konta użytkownika (zalecane) lub użyj klucza interfejsu API administratora.
W przypadku wywołań wychodzących do usługi LLM usługa wyszukiwania musi mieć managed identity z uprawnieniami Cognitive Services User na zasobie Microsoft Foundry.
Najnowszy pakiet
Azure.Search.Documentswersji zapoznawczej:dotnet add package Azure.Search.Documents --prereleaseW przypadku uwierzytelniania bezkluczowego pakiet
Azure.Identity:dotnet add package Azure.Identity
Najnowszy pakiet
azure-search-documentswersji zapoznawczej:pip install --pre azure-search-documentsW przypadku uwierzytelniania bezkluczowego pakiet
azure-identity:pip install azure-identity
Interfejs API REST usługi Search w wersji 2026-08-01-preview.
W przypadku uwierzytelniania bez klucza dołącz token Microsoft Entra ID w nagłówku
Authorizationkażdego żądania HTTP.
Ograniczenia i zagadnienia
Ustawienie
minimalpoziomu wnioskowania podczas pobierania wyłącza przetwarzanie przez LLM, więc jest niezgodne z syntezą odpowiedzi zarówno w definicjach baz wiedzy, jak i w żądaniach pobierania. Aby uzyskać więcej informacji, zobacz Ustawianie nakładu pracy z uzasadnieniem pobierania.Synteza odpowiedzi wiąże się z opłatami naliczanymi zgodnie z rzeczywistym użyciem w usłudze Azure OpenAI, które są oparte na liczbie tokenów wejściowych i wyjściowych. Opłaty są wyświetlane w obszarze usługi LLM przypisanej do bazy wiedzy. Aby uzyskać więcej informacji, zobacz Dostępność regionów, limity i rozliczenia.
Włączanie syntezy odpowiedzi w bazie wiedzy
W tej sekcji pokazano, jak włączyć syntezę odpowiedzi w istniejącej bazie wiedzy. Chociaż ta konfiguracja jest używana dla nowych baz wiedzy, tworzenie bazy wiedzy wykracza poza zakres tego artykułu.
Ustaw dla definicji OutputMode"answerSynthesis" na KnowledgeBase. Opcjonalnie ustaw wartość AnswerInstructions , aby dostosować dane wyjściowe odpowiedzi. Poniższy przykład instruuje bazę wiedzy na Use concise bulleted listsadres .
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
Ustaw dla definicji output_mode"answerSynthesis" na KnowledgeBase. Opcjonalnie ustaw wartość answer_instructions , aby dostosować dane wyjściowe odpowiedzi. Poniższy przykład instruuje bazę wiedzy na Use concise bulleted listsadres .
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
Ustaw outputMode na "answerSynthesis" w definicji bazy wiedzy. Opcjonalnie ustaw wartość answerInstructions , aby dostosować dane wyjściowe odpowiedzi. Poniższy przykład instruuje bazę wiedzy na Use concise bulleted listsadres .
### 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"
}
Dokumentacja:Baza wiedzy — tworzenie lub aktualizowanie
Włączanie syntezy odpowiedzi w żądaniu pobierania
W przypadku kontroli poszczególnych zapytań nad formatem odpowiedzi można włączyć syntezę odpowiedzi w czasie zapytania. To podejście zastępuje domyślny tryb wyjściowy określony w bazie wiedzy.
Ustaw OutputMode na "answerSynthesis" w obiekcie 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);
Dokumentacja:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Ustaw output_mode na "answerSynthesis" w obiekcie 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)
Dokumentacja:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest
Ustaw outputMode na "answerSynthesis" w żądaniu pobrania.
### 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"
}
Referencja:Odzyskiwanie wiedzy - Pobieranie
Uzyskiwanie syntetyzowanej odpowiedzi
Po włączeniu syntezy odpowiedzi baza wiedzy zwraca odpowiedź w języku naturalnym na podstawie instrukcji opcjonalnych określonych w bazie wiedzy. Cytaty ze źródeł wiedzy są formatowane jako [ref_id:<number>].
Jeśli na przykład instrukcje dotyczą Use concise bulleted lists , a zapytanie to What is healthcare?, odpowiedź powinna być podobna do poniższego przykładu.
{
"response": [
{
"content": [
{
"type": "text",
"text": "- Healthcare encompasses various services provided to patients and the general population ..."
}
]
}
]
}
Pełne text dane wyjściowe są następujące:
"- 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]."
W zależności od konfiguracji bazy wiedzy odpowiedź może zawierać inne informacje, takie jak dzienniki aktywności i tablice referencyjne. Aby uzyskać więcej informacji, zobacz Tworzenie bazy wiedzy.
Powiązana zawartość
- Tworzenie bazy wiedzy
- Wykonywanie zapytań względem bazy wiedzy
- Szybki start: wyszukiwanie agentowe (wykorzystuje syntezę odpowiedzi)
- Przykład w języku Python: Wyszukiwanie AI platformy Azure — źródło wiedzy dla obiektów blob (używa syntezy odpowiedzi)