Erstellen einer Wissensbasis in Azure KI-Suche

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 --prerelease

    • Fü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-documents

    • Für 2026-04-01-Features das neueste stabile Paket: pip install azure-search-documents

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.

  1. Configure Azure KI-Suche für die Verwendung einer verwalteten Identität.

  2. 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.

  3. 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 DefaultAzureCredential statt AzureKeyCredential in 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());
    
  1. Configure Azure KI-Suche für die Verwendung einer verwalteten Identität.

  2. 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.

  3. 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 DefaultAzureCredential statt AzureKeyCredential in jeder Anforderung, die dem folgenden Beispiel ähnelt:

    # Authenticate using roles
    from azure.identity import DefaultAzureCredential
    index_client = SearchIndexClient(endpoint = "search_url", credential = DefaultAzureCredential())
    
  1. Configure Azure KI-Suche für die Verwendung einer verwalteten Identität.

  2. 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.

  3. 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"
    }
}

Referenz:Knowledge Basen – Erstellen oder Aktualisieren

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