Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Diese agentische Abruffunktion ist in der Rest-API 2026-04-01 allgemein über programmgesteuerten Zugriff verfügbar. Das Azure Portal und Microsoft Foundry-Portal bieten weiterhin Nur-Vorschau-Zugriff auf alle agentischen Abruffunktionen. Anleitungen zur Migration finden Sie unter Migrieren des agentischen Abrufcodes zur neuesten Version.
Wenn Sie eine Vorschau-REST-API verwenden, können Sie auf Funktionen zugreifen, die für dieses Feature noch nicht allgemein verfügbar sind. Vorschaufunktionen werden ohne Service-Level-Vereinbarung bereitgestellt und sind für Produktionsworkloads nicht empfohlen. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
Wichtig
Diese Features und Funktionen sind Teil der REST-API 2026-05-01-Preview. Die 2026-05-01-preview wird Ihnen als Teil Ihres Azure-Abonnements zur Verfügung gestellt und unterliegt den für „Previews“ geltenden Bestimmungen in den Microsoft-Produktbestimmungen, dem Nachtrag zum Datenschutz für Microsoft-Produkte und -Dienste („DPA“) und den Ergänzenden Nutzungsbedingungen für Microsoft Azure-Vorschauen.
Die Vorschauversion 2026-05-01 unterstützt Verbindungen mit anderen Microsoft-Diensten und Diensten von Drittanbietern. Die Nutzung dieser Dienste unterliegt den jeweiligen Bestimmungen und kann dazu führen, dass Daten außerhalb der Azure-Compliancegrenze verarbeitet oder gespeichert werden und dass Daten in die Azure-Compliancegrenze fließen.
Es liegt in Ihrer Verantwortung, zu verwalten, ob Ihre Daten außerhalb der Compliance- und geografischen Grenzen Ihrer Organisation und alle damit verbundenen Auswirkungen fließen und dass entsprechende Berechtigungen, Grenzen und Genehmigungen bereitgestellt werden.
Sie sind dafür verantwortlich, Anwendungen, die Sie im Kontext Ihrer spezifischen Anwendungsfälle erstellen, sorgfältig zu überprüfen und zu testen und alle geeigneten Entscheidungen und Anpassungen zu treffen. Dazu gehört die Implementierung ihrer eigenen verantwortungsvollen KI-Entschärfungen, wie Metaprompts, Inhaltsfilter oder andere Sicherheitssysteme, und sicherzustellen, dass Ihre Anwendungen angemessene Qualität, Zuverlässigkeit, Sicherheit und Vertrauenswürdigkeitsstandards erfüllen. Weitere Informationen finden Sie im Azure KI-Suche Transparenzhinweis.
In Azure KI-Suche ist eine knowledge base ein Objekt der obersten Ebene, das agentic retrieval koordiniert. Es definiert, welche Wissensquellen abzufragen sind, und das Standardverhalten für Abrufvorgänge. Zur Abfragezeit zielt die Abrufmethode auf die Wissensbasis ab, um die konfigurierte Abrufpipeline auszuführen.
Sie können eine Wissensbasis in einem Foundry IQ Workload im Microsoft Foundry(new)-Portal erstellen. Außerdem benötigen Sie eine Wissensbasis in allen agentischen Lösungen, die Sie mithilfe der Azure KI-Suche-APIs erstellen.
Eine Wissensbasis gibt Folgendes an:
Mindestens eine Wissensquelle, die auf durchsuchbare Inhalte verweist.
Eine optionale LLM für die Abfrageplanung, Antwortsynthese oder Webinhaltszusammenfassung. Unterstützte Aufgaben variieren je nach API-Version und Wissensquellentyp.
Benutzerdefinierte Eigenschaften, die Routing, Quellauswahl und Objektverschlüsselung steuern.
Verwendungsunterstützung
| Azure Portal | Microsoft Foundry Portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST-API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Voraussetzungen
Azure KI-Suche in einer beliebigen Region, die agentischen Abruf bereitstellt. Wenn Sie eine verwaltete Identität für den rollenbasierten Zugriff auf bereitgestellte Modelle verwenden, muss sich Ihr Suchdienst auf der Stufe "Einfach" oder höher befinden.
Eine oder mehrere Wissensquellen. Verwenden Sie die 2026-05-01-Vorschau-API-Version, um auf Vorschauwissensquellen zuzugreifen oder eine LLM mit Nicht-Web-Wissensquellen zu verwenden. Verwenden Sie die API-Version 2026-04-01 für allgemein verfügbare Wissensquellen und minimale, extrahierende Abrufe.
(Bedingt) Azure OpenAI mit einer unterstützten LLM-Bereitstellung. Eine LLM ist erforderlich, wenn Ihre Knowledge Base eine Webwissensquelle enthält. Für andere Wissensquellen ist eine LLM in der API-Version 2026-05-01-Preview optional und wird in der API-Version 2026-04-01 nicht unterstützt.
Berechtigungen zum Erstellen von Wissensdatenbanken. Konfigurieren Sie die schlüssellose Authentifizierung mit der Rolle "Mitwirkender des Suchdiensts ", die Ihrem Benutzerkonto zugewiesen ist (empfohlen), oder verwenden Sie einen API-Schlüssel.
Wenn die Wissensbasis ein LLM angibt, muss der Suchdienst über eine managed Identity mit Cognitive Services UserBerechtigungen für die ressource Microsoft Foundry verfügen.
Erforderliches
Azure.Search.Documents-Paket:Für 2026-05-01-preview-Funktionen: das neueste Vorschaupaket
dotnet add package Azure.Search.Documents --prereleaseFür 2026-04-01-Features das neueste stabile Paket:
dotnet add package Azure.Search.Documents
Erforderliches
azure-search-documents-Paket:Für 2026-05-01-preview-Funktionen: das neueste Vorschaupaket
pip install --pre azure-search-documentsFür 2026-04-01-Features das neueste stabile Paket:
pip install azure-search-documents
Erforderliche REST-API-Version:
Für Vorschaufunktionen: Search Service 2026-05-01-preview
Für allgemein verfügbare Features: Suchdienst 2026-04-01
Unterstützte Modelle
Verwenden Sie eine der folgenden LLMs aus Azure OpenAI in Foundry Models. Azure OpenAI bestimmt die regionale Verfügbarkeit für die ausgewählte Bereitstellung. Anweisungen zur Bereitstellung finden Sie unter Deploy Microsoft Foundry Models im Foundry-Portal.
| Modell | Unterstützte API-Versionen |
|---|---|
gpt-4o |
2025-11-01-preview, 2026-05-01-preview |
gpt-4o-mini |
2025-11-01-preview, 2026-05-01-preview |
gpt-4.1 |
2025-11-01-preview, 2026-05-01-preview |
gpt-4.1-mini |
2025-11-01-preview, 2026-05-01-preview |
gpt-4.1-nano |
2025-11-01-preview, 2026-05-01-preview |
gpt-5 |
2025-11-01-preview, 2026-05-01-preview |
gpt-5-mini |
2025-11-01-preview, 2026-05-01-preview |
gpt-5-nano |
2025-11-01-preview, 2026-05-01-preview |
gpt-5.1 |
2026-05-01-Vorschau |
gpt-5.2 |
2026-05-01-Vorschau |
gpt-5.4 |
2026-05-01-Vorschau |
gpt-5.4-mini |
2026-05-01-Vorschau |
gpt-5.4-nano |
2026-05-01-Vorschau |
Konfigurieren des Zugriffs
Azure KI-Suche benötigt Zugriff auf das LLM von Azure OpenAI in Foundry Models. Wir empfehlen Microsoft Entra ID für die Authentifizierung und den rollenbasierten Zugriff für die Autorisierung. Um Rollen zuzuweisen, müssen Sie ein Eigentümer oder Benutzerzugriffsadministrator sein. Wenn Sie keine Rollen verwenden können, verwenden Sie stattdessen die schlüsselbasierte Authentifizierung.
Configure Azure KI-Suche für die Verwendung einer verwalteten Identität.
Weisen Sie die verwaltete Identität Ihres Suchdienstes auf Ihrem Modellanbieter der Rolle Cognitive Services-Benutzer zu. Wenn Sie lokal testen, weisen Sie Ihrem Benutzerkonto dieselbe Rolle zu.
Führen Sie für lokale Tests die Schritte in Quickstart: Verbinden ohne Schlüssel aus, um sich bei einem bestimmten Abonnement und Mandanten anzumelden. Verwenden Sie
DefaultAzureCredentialstattAzureKeyCredentialin jeder Anforderung, die dem folgenden Beispiel ähnelt:// Authenticate using roles using Azure.Search.Documents.Indexes; using Azure.Identity; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
Configure Azure KI-Suche für die Verwendung einer verwalteten Identität.
Weisen Sie die verwaltete Identität Ihres Suchdienstes auf Ihrem Modellanbieter der Rolle Cognitive Services-Benutzer zu. Wenn Sie lokal testen, weisen Sie Ihrem Benutzerkonto dieselbe Rolle zu.
Führen Sie für lokale Tests die Schritte in Quickstart: Verbinden ohne Schlüssel aus, um sich bei einem bestimmten Abonnement und Mandanten anzumelden. Verwenden Sie
DefaultAzureCredentialstattAzureKeyCredentialin jeder Anforderung, die dem folgenden Beispiel ähnelt:# Authenticate using roles from azure.identity import DefaultAzureCredential index_client = SearchIndexClient(endpoint = "search_url", credential = DefaultAzureCredential())
Configure Azure KI-Suche für die Verwendung einer verwalteten Identität.
Weisen Sie die verwaltete Identität Ihres Suchdienstes auf Ihrem Modellanbieter der Rolle Cognitive Services-Benutzer zu. Wenn Sie lokal testen, weisen Sie Ihrem Benutzerkonto dieselbe Rolle zu.
Führen Sie für lokale Tests die Schritte in der Schnellstartanleitung aus: Verbinden ohne Schlüssel , um ein persönliches Zugriffstoken für ein bestimmtes Abonnement und einen bestimmten Mandanten abzurufen. Geben Sie Ihr Zugriffstoken in jeder Anforderung an, die dem folgenden Beispiel ähnelt:
# List indexes using roles GET https://{{search-url}}/indexes?api-version=2026-04-01 Content-Type: application/json Authorization: Bearer {{access-token}}
Wichtig
Codeausschnitte in diesem Artikel verwenden API-Schlüssel. Wenn Sie die rollenbasierte Authentifizierung verwenden, aktualisieren Sie jede Anforderung entsprechend. In einer Anforderung, die beide Ansätze angibt, hat der API-Schlüssel Vorrang.
Überprüfung vorhandener Wissensdatenbanken
Eine Wissensbasis ist ein wiederverwendbares Objekt auf oberster Ebene. Das Wissen über vorhandene Wissensbasen ist hilfreich, um neue Objekte wiederzuverwenden oder zu benennen.
Führen Sie den folgenden Code aus, um vorhandene Wissensdatenbanken anhand des Namens auflisten. Die Liste enthält alle Wissensdatenbanken für Ihren Suchdienst, unabhängig davon, welche API-Version Sie zum Erstellen verwendet haben.
// List knowledge bases by name
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
Console.WriteLine("Knowledge Bases:");
await foreach (var kb in knowledgeBases)
{
Console.WriteLine($" - {kb.Name}");
}
Reference:SearchIndexClient
# List knowledge bases by name
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
for kb in index_client.list_knowledge_bases():
print(f" - {kb.name}")
Reference:SearchIndexClient
# List knowledge bases
GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
api-key: {{search-api-key}}
Referenz:Wissensdatenbanken - Liste
Sie können auch eine einzelne Wissensdatenbank anhand des Namens zurückgeben, um die JSON-Definition zu überprüfen.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge base name to retrieve
string kbNameToGet = "earth-knowledge-base";
// Get a specific knowledge base definition
var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
var kb = knowledgeBaseResponse.Value;
// Serialize to JSON for display
string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);
Reference:SearchIndexClient
# Get a knowledge base definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
kb = index_client.get_knowledge_base("knowledge_base_name")
print(json.dumps(kb.as_dict(), indent = 2))
Reference:SearchIndexClient
# Get knowledge base
GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
api-key: {{search-api-key}}
Referenz:Wissensdatenbanken - Abrufen
Der folgende JSON-Code ist eine Beispielantwort für eine Knowledge Base.
{
"name": "my-kb",
"description": "A sample knowledge base.",
"retrievalInstructions": null,
"answerInstructions": null,
"outputMode": null,
"knowledgeSources": [
{
"name": "my-blob-ks"
}
],
"models": [],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "low"
}
}
Hinweis
Das Antwortschema spiegelt die API-Version wider, die Sie zum Erstellen der Wissensbasis verwendet haben. Eine mit der allgemein verfügbaren 2026-04-01-API-Version erstellte Knowledge Base gibt eine schmalere Definition als die 2026-05-01-Preview zurück. Weitere Informationen dazu, welche Eigenschaften jede Version unterstützt, finden Sie im nächsten Abschnitt.
Erstellen einer Wissensbasis
Wichtig
Die API-Version 2026-04-01 akzeptiert nur allgemein verfügbare Wissensquellentypen und unterstützt minimalen, extrahierenden Abruf. Vorschaufunktionen, wie z. B. Anfrageplanung, Antwortsynthese und konfigurierbarer Aufwand für logische Schlussfolgerungen, werden nicht unterstützt. Verwenden Sie für die vollständige Funktionalität die Vorschau 2026-05-01.
Eine Wissensdatenbank verbindet eine oder mehrere Wissensquellen (durchsuchbare Inhalte) mit einem optionalen LLM aus Azure OpenAI in Foundry Models. Die von Ihnen festgelegten Eigenschaften legen Standardwerte für die Abfrageausführung und die Abrufantwort fest.
Nachdem Sie eine Wissensdatenbank erstellt haben, können Sie die Eigenschaften jederzeit aktualisieren. Wenn die Wissensbasis verwendet wird, werden Aktualisierungen auf den nächsten Abruf wirksam.
// Create a knowledge base
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
var aoaiParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel,
ApiKey = aoaiApiKey
};
var knowledgeBase = new KnowledgeBase(
name: "my-kb",
knowledgeSources: new KnowledgeSourceReference[]
{
new KnowledgeSourceReference("hotels-ks"),
new KnowledgeSourceReference("earth-at-night-ks")
}
)
{
Description = "This knowledge base handles questions directed at two unrelated sample indexes.",
RetrievalInstructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
AnswerInstructions = "Provide a two-sentence, concise, and informative answer based on the retrieved documents.",
OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis,
Models = { new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: aoaiParams) },
RetrievalReasoningEffort = new KnowledgeRetrievalLowReasoningEffort()
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Console.WriteLine($"Knowledge base '{knowledgeBase.Name}' created or updated successfully.");
Reference:SearchIndexClient, KnowledgeBase
# Create a knowledge base
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
KnowledgeBase,
KnowledgeBaseAzureOpenAIModel,
KnowledgeSourceReference,
)
from azure.search.documents.knowledgebases.models import KnowledgeRetrievalLowReasoningEffort
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
aoai_params = AzureOpenAIVectorizerParameters(
resource_url = "aoai_endpoint",
api_key="aoai_api_key",
deployment_name = "aoai_gpt_deployment",
model_name = "aoai_gpt_model",
)
knowledge_base = KnowledgeBase(
name = "my-kb",
description = "This knowledge base handles questions directed at two unrelated sample indexes.",
retrieval_instructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
answer_instructions = "Provide a two-sentence, concise, and informative answer based on the retrieved documents.",
output_mode = "answerSynthesis",
knowledge_sources = [
KnowledgeSourceReference(name = "hotels-ks"),
KnowledgeSourceReference(name = "earth-at-night-ks"),
],
models = [KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters = aoai_params)],
encryption_key = None,
retrieval_reasoning_effort = KnowledgeRetrievalLowReasoningEffort(),
)
index_client.create_or_update_knowledge_base(knowledge_base)
print(f"Knowledge base '{knowledge_base.name}' created or updated successfully.")
Reference:SearchIndexClient, KnowledgeBase
# Create a knowledge base
PUT {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version=2026-05-01-preview
Content-Type: application/json
api-key: {{search-api-key}}
{
"name" : "my-kb",
"description": "This knowledge base handles questions directed at two unrelated sample indexes.",
"retrievalInstructions": "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
"answerInstructions": null,
"outputMode": "answerSynthesis",
"knowledgeSources": [
{
"name": "hotels-ks"
},
{
"name": "earth-at-night-ks"
}
],
"models" : [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{model-provider-url}}",
"apiKey": "{{model-api-key}}",
"deploymentId": "gpt-5.4-mini",
"modelName": "gpt-5.4-mini"
}
}
],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "low"
}
}
Knowledge Base-Eigenschaften
Übergeben Sie die folgenden Eigenschaften, um eine Wissensbasis zu erstellen.
| Namen | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
Name |
Der Name der Wissensbasis. Sie muss innerhalb der Wissensdatenbanksammlung eindeutig sein und den naming-Richtlinien für Objekte in Azure KI-Suche entsprechen. | Schnur | Ja |
KnowledgeSources |
Mindestens eine unterstützte Wissensquelle. | Array | Ja |
Description |
Eine Beschreibung der Wissensbasis. Der LLM verwendet die Beschreibung, um bei der Planung von Abfragen zu helfen. | Schnur | Nein |
RetrievalInstructions |
Eine Aufforderung für die LLM, um zu ermitteln, ob eine Wissensquelle in den Geltungsbereich einer Abfrage fallen soll. Schließen Sie diese Eingabeaufforderung ein, wenn Sie über mehrere Wissensquellen verfügen. Dieses Feld beeinflusst sowohl die Auswahl der Wissensquelle als auch die Abfrageformulierung. Anweisungen können z. B. Informationen anfügen oder eine Wissensquelle priorisieren. Anweisungen werden direkt an das LLM übergeben, was bedeutet, dass es möglich ist, Anweisungen zur Unterbrechung der Abfrageplanung bereitzustellen, z. B. Anweisungen, die dazu führen, eine wichtige Wissensquelle zu umgehen. | Schnur | Nein |
AnswerInstructions |
Benutzerdefinierte Anweisungen zum Erstellen von synthetisierten Antworten. Der Standardwert ist NULL. Weitere Informationen finden Sie unter Verwenden der Antwortsynthese für zitatgestützte Antworten. | Schnur | Nein |
OutputMode |
Gültige Werte sind AnswerSynthesis für eine LLM-formulierte Antwort oder ExtractedData für vollständige Suchergebnisse, die Sie als nachgeschalteten Schritt an eine LLM übergeben können. |
Schnur | Nein |
Models |
Erforderlich für Webwissensquellen. Optional für andere Wissensquellentypen. Gibt ein unterstütztes LLM zur Abfrageplanung oder zur Synthese von Antworten an. Rufen Sie Verbindungsdetails aus dem Microsoft Foundry-Portal oder einer Befehlszeilenanforderung ab, und stellen Sie diese dann mithilfe der klasse KnowledgeBaseAzureOpenAIModel bereit. Sie können die rollenbasierte Zugriffssteuerung anstelle von API-Schlüsseln für die Azure KI-Suche Verbindung mit dem Modell verwenden. | Array | Nein |
RetrievalReasoningEffort |
Bestimmt die Ebene der LLM-bezogenen Abfrageverarbeitung. Gültige Werte sind minimal, low (Standard) und medium. Weitere Informationen finden Sie unter Festlegen des Abrufbegründungsaufwands. |
Objekt | Nein |
EncryptionKey |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensdatenbank als auch in den generierten Objekten. | Objekt | Nein |
| Namen | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
name |
Der Name der Wissensbasis. Sie muss innerhalb der Wissensdatenbanksammlung eindeutig sein und den naming-Richtlinien für Objekte in Azure KI-Suche entsprechen. | Schnur | Ja |
description |
Eine Beschreibung der Wissensbasis. Der LLM verwendet die Beschreibung, um bei der Planung von Abfragen zu helfen. | Schnur | Nein |
retrieval_instructions |
Eine Aufforderung für die LLM, um zu ermitteln, ob eine Wissensquelle in den Geltungsbereich einer Abfrage fallen soll. Schließen Sie diese Eingabeaufforderung ein, wenn Sie über mehrere Wissensquellen verfügen. Dieses Feld beeinflusst sowohl die Auswahl der Wissensquelle als auch die Abfrageformulierung. Anweisungen können z. B. Informationen anfügen oder eine Wissensquelle priorisieren. Übergeben Sie Anweisungen direkt an das LLM. Es ist möglich, Anweisungen zur Unterbrechung der Abfrageplanung bereitzustellen, z. B. Anweisungen, die dazu führen, eine wichtige Wissensquelle zu umgehen. | Schnur | Nein |
answer_instructions |
Benutzerdefinierte Anweisungen zum Erstellen von synthetisierten Antworten. Der Standardwert ist NULL. Weitere Informationen finden Sie unter Verwenden der Antwortsynthese für zitatgestützte Antworten. | Schnur | Nein |
output_mode |
Gültige Werte sind answerSynthesis für eine LLM-formulierte Antwort oder extractedData für vollständige Suchergebnisse, die Sie als nachgeschalteten Schritt an eine LLM übergeben können. |
Schnur | Nein |
knowledge_sources |
Mindestens eine unterstützte Wissensquelle. | Array | Ja |
models |
Erforderlich für Webwissensquellen. Optional für andere Wissensquellentypen. Gibt ein unterstütztes LLM zur Abfrageplanung oder zur Synthese von Antworten an. Rufen Sie Verbindungsdetails aus dem Microsoft Foundry-Portal oder einer Befehlszeilenanforderung ab. Sie können die rollenbasierte Zugriffssteuerung anstelle von API-Schlüsseln für die Azure KI-Suche Verbindung mit dem Modell verwenden. | Array | Nein |
encryption_key |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensdatenbank als auch in den generierten Objekten. | Objekt | Nein |
retrieval_reasoning_effort |
Bestimmt die Ebene der LLM-bezogenen Abfrageverarbeitung. Gültige Werte sind minimal, low (Standard) und medium. Weitere Informationen finden Sie unter Festlegen des Abrufbegründungsaufwands. |
Objekt | Nein |
| Namen | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
name |
Der Name der Wissensbasis. Sie muss innerhalb der Wissensdatenbanksammlung eindeutig sein und den naming-Richtlinien für Objekte in Azure KI-Suche entsprechen. | Schnur | Ja |
description |
Eine Beschreibung der Wissensbasis. Der LLM verwendet die Beschreibung, um bei der Planung von Abfragen zu helfen. | Schnur | Nein |
retrievalInstructions |
Eine Aufforderung für die LLM, um zu ermitteln, ob eine Wissensquelle in den Geltungsbereich einer Abfrage fallen soll. Schließen Sie diese Eingabeaufforderung ein, wenn Sie über mehrere Wissensquellen verfügen. Dieses Feld beeinflusst sowohl die Auswahl der Wissensquelle als auch die Abfrageformulierung. Anweisungen können z. B. Informationen anfügen oder eine Wissensquelle priorisieren. Sie übergeben Anweisungen direkt an das LLM, was bedeutet, dass es möglich ist, Anweisungen zur Unterbrechung der Abfrageplanung bereitzustellen, z. B. Anweisungen, die dazu führen, eine wichtige Wissensquelle zu umgehen. | Schnur | Nein |
answerInstructions |
Benutzerdefinierte Anweisungen zum Erstellen von synthetisierten Antworten. Der Standardwert ist NULL. Weitere Informationen finden Sie unter Verwenden der Antwortsynthese für zitatgestützte Antworten. | Schnur | Nein |
outputMode |
Gültige Werte sind answerSynthesis für eine LLM-formulierte Antwort oder extractedData für vollständige Suchergebnisse, die Sie als nachgeschalteten Schritt an eine LLM übergeben können. |
Schnur | Nein |
knowledgeSources |
Mindestens eine unterstützte Wissensquelle. | Array | Ja |
models |
Erforderlich für Webwissensquellen. Optional für andere Wissensquellentypen. Gibt ein unterstütztes LLM zur Abfrageplanung oder zur Synthese von Antworten an. Rufen Sie Verbindungsdetails aus dem Microsoft Foundry-Portal oder einer Befehlszeilenanforderung ab. Sie können die rollenbasierte Zugriffssteuerung anstelle von API-Schlüsseln für die Azure KI-Suche Verbindung mit dem Modell verwenden. | Array | Nein |
encryptionKey |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensdatenbank als auch in den generierten Objekten. | Objekt | Nein |
retrievalReasoningEffort.kind |
Bestimmt die Ebene der LLM-bezogenen Abfrageverarbeitung. Gültige Werte sind minimal, low (Standard) und medium. Weitere Informationen finden Sie unter Festlegen des Abrufbegründungsaufwands. |
Objekt | Nein |
Konfigurieren von CORS für browserbasierte Abrufaufrufe (Vorschau)
Wichtig
Sie können die 2026-05-01-preview verwenden, um Cross-Origin Resource Sharing (CORS) zu aktivieren, wodurch browserbasierte Anwendungen Daten direkt vom Dienst anfordern können. Je nach Ihrer CORS-Konfiguration können externe Webseiten möglicherweise über den Browserkontext des Benutzers auf den Dienst und dessen Daten zugreifen oder diese aufrufen sowie andere Sicherheitsbedrohungen erstellen. Das Aktivieren von CORS erfolgt auf eigene Gefahr.
In der API-Version 2026-05-01-preview kann eine Wissensdatenbank corsOptions für browserbasierte Anwendungen definieren, die die Abrufaktion direkt aus JavaScript aufrufen. Die CORS-Richtlinie legt fest, welche Browser-Ursprünge Abrufanfragen an die Wissensdatenbank senden können.
Wenn Sie weglassen corsOptions, weist die Knowledge Base keine CORS-Richtlinie auf, und Browser blockieren ursprungsübergreifende Abrufanforderungen.
Im folgenden Beispiel wird eine Wissensdatenbank erstellt, die das Abrufen von Anforderungen von einem Browserursprung zulässt.
using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
var knowledgeBase = new KnowledgeBase(
name: "browser-chat-kb",
knowledgeSources: new[] { new KnowledgeSourceReference("product-docs-ks") }
)
{
Description = "A knowledge base that allows one browser app origin.",
CorsOptions = new CorsOptions(new[] { "https://myapp.example.com" })
{
MaxAgeInSeconds = 300
}
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference:CorsOptions, KnowledgeBase
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
CorsOptions,
KnowledgeBase,
KnowledgeSourceReference,
)
index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))
knowledge_base = KnowledgeBase(
name="browser-chat-kb",
description="A knowledge base that allows one browser app origin.",
knowledge_sources=[KnowledgeSourceReference(name="product-docs-ks")],
cors_options=CorsOptions(
allowed_origins=["https://myapp.example.com"],
max_age_in_seconds=300,
),
)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference:CorsOptions, KnowledgeBase
PUT {{search-url}}/knowledgebases/browser-chat-kb?api-version=2026-05-01-preview
Content-Type: application/json
api-key: {{search-api-key}}
{
"name": "browser-chat-kb",
"description": "A knowledge base that allows one browser app origin.",
"knowledgeSources": [
{
"name": "product-docs-ks"
}
],
"corsOptions": {
"allowedOrigins": [
"https://myapp.example.com"
],
"maxAgeInSeconds": 300
}
}
corsOptions akzeptiert die folgenden Eigenschaften.
| Namen | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
allowedOrigins |
Listet die Ursprünge auf, die die Wissensdatenbank aus einem Browser aufrufen können. Verwenden Sie für Produktionsanwendungen eine explizite Liste der Ursprünge. Sie können verwenden "*" , um alle Ursprünge zuzulassen, diese Einstellung wird jedoch nicht für die Produktion empfohlen. |
Array | Ja |
maxAgeInSeconds |
Steuert, wie lange Browser die Preflight-Antwort zwischenspeichern können. Wenn dieser Wert nicht angegeben wird, beträgt die Dauer des Preflight-Caches standardmäßig 300 Sekunden. | Integer | Nein |
Abfragen einer Wissensbasis
Rufen Sie nach dem Erstellen einer Wissensdatenbank die Abrufaktion oder den MCP-Endpunkt auf, um sie abzufragen.
Löschen einer Wissensbasis
Wenn Sie die Knowledge Base nicht mehr benötigen oder sie in Ihrem Suchdienst neu erstellen müssen, führen Sie den folgenden Code aus, um das Objekt zu löschen.
// Delete a knowledge base
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
Reference:SearchIndexClient
# Delete a knowledge base
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
index_client.delete_knowledge_base("knowledge_base_name")
print(f"Knowledge base deleted successfully.")
Reference:SearchIndexClient
# Delete a knowledge base
DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
api-key: {{search-api-key}}
Referenz:Knowledge Basen - Löschen