Erstellen einer Wissensbasis in Azure KI-Suche

Hinweis

Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.

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-08-01-Preview. Die Vorschau 2026-08-01 wird Ihnen als Teil Ihres Azure-Abonnements lizenziert und unterliegt den Bedingungen für "Vorschauen" in den Microsoft Produktbedingungen, dem Microsoft Produkt- und Dienstdatenschutzzusatz ("DPA") und den ergänzenden Nutzungsbedingungen für Microsoft Azure Previews.

Die Version 2026-08-01-preview unterstützt Verbindungen zu anderen Microsoft-Diensten und Drittanbieterdiensten. 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.

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-08-01-preview API-Version, um auf Vorschauwissensquellen zuzugreifen oder eine LLM mit Nicht-Web-Wissensquellen zu verwenden. Verwenden Sie die 2026-04-01 API-Version 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 2026-08-01-preview API-Version optional und wird in der 2026-04-01 API-Version nicht unterstützt.

  • Berechtigung 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 Administrator-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-08-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

  • Für die schlüssellose Authentifizierung das Paket Azure.Identity: dotnet add package Azure.Identity

  • Erforderliches azure-search-documents-Paket:

    • Für 2026-08-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

  • Für die schlüssellose Authentifizierung das Paket azure-identity: pip install azure-identity

  • Erforderliche REST-API-Version für den Suchdienst:

  • Fügen Sie für die schlüssellose Authentifizierung ein Microsoft Entra ID-Token in den Authorization Header jeder HTTP-Anforderung ein.

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.

Die GPT-4-Familie ist veraltet. Informationen zum Modelllebenszyklus, zu Stilllegungsdaten und zum aktuellen Status finden Sie unter Modellstilllegung und Veraltung und Zeitplan für die Modellstilllegung – Microsoft Foundry.

Modell Unterstützte API-Versionen
gpt-4o (veraltet) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4o-mini (veraltet) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4.1 (veraltet) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4.1-mini (veraltet) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4.1-nano (veraltet) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5-mini 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5-nano 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5.1 2026-05-01-vorschau, 2026-08-01-preview
gpt-5.2 2026-05-01-vorschau, 2026-08-01-preview
gpt-5.4 2026-05-01-vorschau, 2026-08-01-preview
gpt-5.4-mini 2026-05-01-vorschau, 2026-08-01-preview
gpt-5.4-nano 2026-05-01-vorschau, 2026-08-01-preview
gpt-5.5 2026-08-01-Vorschau
gpt-5.6-sol 2026-08-01-Vorschau
gpt-5.6-terra 2026-08-01-Vorschau
gpt-5.6-luna 2026-08-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. Aktivieren sie die rollenbasierte Zugriffssteuerung für Azure KI-Suche.

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

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

  4. 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. Aktivieren sie die rollenbasierte Zugriffssteuerung für Azure KI-Suche.

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

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

  4. 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-endpoint>", credential = DefaultAzureCredential())
    
  1. Aktivieren sie die rollenbasierte Zugriffssteuerung für Azure KI-Suche.

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

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

  4. 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 {{search-endpoint}}/indexes?api-version=2026-04-01
    Content-Type: application/json
    Authorization: Bearer {{search-access-token}}
    

Wichtig

Die Codeausschnitte in diesem Artikel verwenden die schlüssellose Authentifizierung. Um stattdessen einen API-Schlüssel zu 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.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

for kb in index_client.list_knowledge_bases():
    print(f"  - {kb.name}")

Reference:SearchIndexClient

# List knowledge bases
GET {{search-endpoint}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

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.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
import json

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

kb = index_client.get_knowledge_base("<knowledge-base-name>")
print(json.dumps(kb.as_dict(), indent = 2))

Reference:SearchIndexClient

# Get knowledge base
GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

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 wissensbasis, die mit der allgemein verfügbaren 2026-04-01 API-Version erstellt wurde, gibt eine schmalere Definition als die .2026-08-01-preview Weitere Informationen dazu, welche Eigenschaften jede Version unterstützt, finden Sie unter Erstellen einer Wissensbasis.

Erstellen einer Wissensbasis

Wichtig

Die 2026-04-01 API-Version akzeptiert nur allgemein verfügbare Wissensquellentypen und unterstützt nur minimale, extrahierende Abrufe. Es unterstützt keine Funktionen, die nur in der Vorschau verfügbar sind, wie z. B. Abfrageplanung, Antwortsynthese und konfigurierbaren Reasoning-Aufwand. Verwenden Sie für die vollständige Funktionalität die 2026-08-01-preview.

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.Identity;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());

var aoaiParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiGptDeployment,
    ModelName = aoaiGptModel,
};

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 = "Answer in two concise sentences.",
    OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis,
    Models = { new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: aoaiParams) },
    RetrievalReasoningEffort = new KnowledgeRetrievalAutoReasoningEffort()
};

await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Console.WriteLine($"Knowledge base '{knowledgeBase.Name}' created or updated successfully.");

Reference:SearchIndexClient, KnowledgeBase

# Create a knowledge base
from azure.identity import DefaultAzureCredential
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 (
    KnowledgeRetrievalAutoReasoningEffort,
    KnowledgeRetrievalOutputMode,
)

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

aoai_params = AzureOpenAIVectorizerParameters(
    resource_url = "<aoai-endpoint>",
    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 = "Answer in two concise sentences.",
    output_mode = KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
    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 = KnowledgeRetrievalAutoReasoningEffort(),
)

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-endpoint}}/knowledgebases/my-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
    "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": "Answer in two concise sentences.",
    "outputMode": "answerSynthesis",
    "knowledgeSources": [
        {
            "name": "hotels-ks"
        },
        {
            "name": "earth-at-night-ks"
        }
    ],
    "models" : [
        {
            "kind": "azureOpenAI",
            "azureOpenAIParameters": {
                "resourceUri": "{{aoai-endpoint}}",
                "deploymentId": "gpt-5.4-mini",
                "modelName": "gpt-5.4-mini"
            }
        }
    ],
    "encryptionKey": null,
    "retrievalReasoningEffort": {
        "kind": "auto"
    }
}

Referenz:Knowledge Basen – Erstellen oder Aktualisieren

Konfigurieren von Standard-Abrufgrenzwerten (Vorschau)

Ab der 2026-08-01-preview API-Version können Sie das optionale retrieveDefaults Objekt verwenden, um anforderungsweite Standardwerte auf einer Wissensbasis zu speichern. Jede gespeicherte Eigenschaft gilt nur, wenn in einer Abrufanfrage das entsprechende Anforderungsfeld weggelassen wird:

Gespeicherte Eigenschaft Anforderungsfeld abrufen
maxRuntimeInSeconds maxRuntimeInSeconds
maxOutputDocuments maxOutputDocuments
maxOutputSizeInTokens maxOutputSize

Das Ausgabetokenbudget verwendet beim Speichern und Überschreiben unterschiedliche Eigenschaftsnamen. Setzen Sie maxOutputSizeInTokens in retrieveDefaults, und verwenden Sie maxOutputSize in einer Abrufanforderung.

Der effektive Wert für jede Eigenschaft wird unabhängig in dieser Reihenfolge bestimmt:

  1. Der entsprechende Wert bei der Abrufanfrage.
  2. Der Wert im Knowledge Base-Objekt retrieveDefaults .
  3. Die Dienstvorgabe, wenn die Eigenschaft auf beiden Ebenen fehlt.

Im folgenden Beispiel wird eine vorhandene Suchindex-Wissensquelle mit dem Namen verwendet your-knowledge-source. Es speichert ein 45-Sekunden-Laufzeitbudget, maximal acht Ausgabedokumente und ein Ausgabebudget von 12.000 Token.

using System;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;

string searchEndpoint = "<search-endpoint>";

var options = new SearchClientOptions(
    SearchClientOptions.ServiceVersion.V2026_08_01_Preview);
var indexClient = new SearchIndexClient(
    new Uri(searchEndpoint),
    new DefaultAzureCredential(),
    options);

var knowledgeBase = new KnowledgeBase(
    "your-knowledge-base",
    new[] { new KnowledgeSourceReference("your-knowledge-source") })
{
    Description = "A knowledge base for product support content.",
    RetrieveDefaults = new KnowledgeBaseRetrieveDefaults
    {
        MaxRuntimeInSeconds = 45,
        MaxOutputDocuments = 8,
        MaxOutputSizeInTokens = 12000
    }
};

await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);

Reference:SearchIndexClient, SearchClientOptions.ServiceVersion, KnowledgeBase

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    KnowledgeBase,
    KnowledgeBaseRetrieveDefaults,
    KnowledgeSourceReference,
)

search_endpoint = "<search-endpoint>"
index_client = SearchIndexClient(
    endpoint=search_endpoint,
    credential=DefaultAzureCredential(),
    api_version="2026-08-01-preview",
)

knowledge_base = KnowledgeBase(
    name="your-knowledge-base",
    description="A knowledge base for product support content.",
    knowledge_sources=[
        KnowledgeSourceReference(name="your-knowledge-source"),
    ],
    retrieve_defaults=KnowledgeBaseRetrieveDefaults(
        max_runtime_in_seconds=45,
        max_output_documents=8,
        max_output_size_in_tokens=12000,
    ),
)

index_client.create_or_update_knowledge_base(knowledge_base)

Reference:SearchIndexClient, KnowledgeBase

PUT {{search-endpoint}}/knowledgebases/your-knowledge-base?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "your-knowledge-base",
  "description": "A knowledge base for product support content.",
  "knowledgeSources": [
    {
      "name": "your-knowledge-source"
    }
  ],
  "retrieveDefaults": {
    "maxRuntimeInSeconds": 45,
    "maxOutputDocuments": 8,
    "maxOutputSizeInTokens": 12000
  }
}

Referenz:Knowledge Basen – Erstellen oder Aktualisieren

Informationen zum Überschreiben dieser gespeicherten Werte mit 20 Sekunden, einem Dokument und 5.000 Token für eine Anfrage finden Sie unter Standardwerte für das Abrufen der Knowledge Base überprüfen.

Konfigurieren von CORS für browserbasierte Abrufaufrufe (Vorschau)

Wichtig

Cross-Origin Resource Sharing (CORS) ermöglicht browserbasierten Anwendungen, Daten direkt aus dem Dienst anzufordern. Je nach Ihrer CORS-Konfiguration greifen externe Webseiten möglicherweise mithilfe des Browserkontexts des Benutzers auf den Dienst und dessen Daten zu oder rufen sie auf. Dieser Zugriff kann Sicherheitsbedrohungen erzeugen. Das Aktivieren von CORS erfolgt auf eigene Gefahr.

Ab der API-Version 2026-05-01-preview kann eine Wissensdatenbank corsOptions für browserbasierte Anwendungen definieren, die die Aktion „retrieve“ 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.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());

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.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    CorsOptions,
    KnowledgeBase,
    KnowledgeSourceReference,
)

index_client = SearchIndexClient(endpoint="<search-endpoint>", credential=DefaultAzureCredential())

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-endpoint}}/knowledgebases/browser-chat-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "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
  }
}

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.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
index_client.delete_knowledge_base("<knowledge-base-name>")
print(f"Knowledge base deleted successfully.")

Reference:SearchIndexClient

# Delete a knowledge base
DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Authorization: Bearer {{search-access-token}}

Referenz:Knowledge Basen - Löschen