Erstellen einer indizierten OneLake-Wissensquelle

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.

Important

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.

Die Vorschau 2026-05-01 kann keine Zugriffsberechtigungen ändern, die außerhalb der Vorschau von 2026-05-01 festgelegt wurden. Wenn Sie 2026-05-01-preview mit Inhalten mit Zugriffs- oder Berechtigungseinschränkungen verwenden, tritt eine zeitliche Verzögerung auf, bevor 2026-05-01-preview Änderungen an diesen Zugriffs- oder Berechtigungseinschränkungen erkennt.

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.

Eine indexierte OneLake-Wissensquelle nimmt Microsoft OneLake-Dateien in eine agentische Abrufpipeline in Azure KI-Suche ein. Wissensquellen werden unabhängig erstellt, in einer Wissensbasis referenziert und als Erdungsdaten verwendet, wenn die Wissensbasis zur Laufzeit abgefragt wird.

Wenn Sie eine indizierte OneLake-Wissensquelle erstellen, geben Sie eine externe Datenquelle, Modelle und Eigenschaften an, um die folgenden Azure KI-Suche Objekte automatisch zu generieren:

  • Eine Datenquelle, die ein Seehaus darstellt.
  • Ein Skillset, das Segmente vektorisiert und optional multimodale Inhalte aus dem Lakehouse vektorisiert.
  • Ein Index, der angereicherte Inhalte speichert und die Kriterien für den agentischen Abruf erfüllt.
  • Ein Indexer, der die vorherigen Objekte verwendet, um die Indizierungs- und Anreicherungspipeline zu steuern.

Der generierte Indexer entspricht dem OneLake-Indexer, dessen Voraussetzungen, unterstützte Aufgaben, unterstützte Dokumentformate, unterstützte Verknüpfungen und Einschränkungen auch für OneLake-Wissensquellen gelten. Weitere Informationen finden Sie in der OneLake-Indexerdokumentation.

Verwendungsunterstützung

Azure Portal Microsoft Foundry Portal .NET SDK Python SDK Java SDK JavaScript SDK REST-API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Voraussetzungen

  • 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

Überprüfen auf vorhandene Wissensquellen

Eine Wissensquelle ist ein wiederverwendbares Objekt auf oberster Ebene. Das Wissen über vorhandene Wissensquellen ist hilfreich, um neue Objekte wiederzuverwenden oder zu benennen.

Führen Sie den folgenden Code aus, um Wissensquellen nach Namen und Typ auflisten.

// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();

Console.WriteLine("Knowledge Sources:");

await foreach (var ks in knowledgeSources)
{
    Console.WriteLine($"  Name: {ks.Name}, Type: {ks.GetType().Name}");
}

Reference:SearchIndexClient

# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))

for ks in index_client.list_knowledge_sources():
    print(f"  - {ks.name} ({ks.kind})")

Reference:SearchIndexClient

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}

Referenz:Wissensquellen - Liste

Sie können auch eine einzelne Wissensquelle 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 source name to retrieve
string ksNameToGet = "earth-knowledge-source";

// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;

// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions 
{ 
    WriteIndented = true,
    DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));

Reference:SearchIndexClient

# Get a knowledge source 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"))

ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))

Reference:SearchIndexClient

### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}

Referenz:Wissensquellen - Abrufen

Der folgende JSON-Code ist eine Beispielantwort für eine indizierte OneLake-Wissensquelle.

{
  "name": "my-onelake-ks",
  "kind": "indexedOneLake",
  "description": "A sample indexed OneLake knowledge source.",
  "encryptionKey": null,
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "<REDACTED>",
    "lakehouseId": "<REDACTED>",
    "targetPath": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "standard",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<REDACTED>",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<your-foundry-resource-endpoint>",
          "deploymentId": "gpt-5-mini",
          "apiKey": "<REDACTED>",
          "modelName": "gpt-5-mini"
        }
      },
      "ingestionSchedule": null,
      "aiServices": {
        "uri": "<your-foundry-resource-endpoint>",
        "apiKey": "<REDACTED>"
      }
    },
    "createdResources": {
    "datasource": "my-onelake-ks-datasource",
    "indexer": "my-onelake-ks-indexer",
    "skillset": "my-onelake-ks-skillset",
    "index": "my-onelake-ks-index"
    }
  }
}

Erstellen einer Wissensquelle

Führen Sie den folgenden Code aus, um eine indizierte OneLake-Wissensquelle zu erstellen.

// Create an indexed OneLake knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;
using Azure;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

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

var embeddingParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiEmbeddingDeployment,
    ModelName = aoaiEmbeddingModel
};

var ingestionParams = new KnowledgeSourceIngestionParameters
{
    DisableImageVerbalization = false,
    ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    },
    IngestionPermissionOptions = new List<KnowledgeSourceIngestionPermissionOption>
    {
        KnowledgeSourceIngestionPermissionOption.UserIds,
        KnowledgeSourceIngestionPermissionOption.GroupIds
    }
};

var oneLakeParams = new IndexedOneLakeKnowledgeSourceParameters(
    fabricWorkspaceId: fabricWorkspaceId,
    lakehouseId: lakehouseId)
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedOneLakeKnowledgeSource(
    name: "my-onelake-ks",
    indexedOneLakeParameters: oneLakeParams)
{
    Description = "This knowledge source pulls content from a lakehouse."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");

Reference:SearchIndexClient, IndexedOneLakeKnowledgeSource

# Create an indexed OneLake knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedOneLakeKnowledgeSource, IndexedOneLakeKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters

index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))

knowledge_source = IndexedOneLakeKnowledgeSource(
    name = "my-onelake-ks",
    description= "This knowledge source pulls content from a lakehouse.",
    encryption_key = None,
    indexed_one_lake_parameters = IndexedOneLakeKnowledgeSourceParameters(
        fabric_workspace_id = "fabric_workspace_id",
        lakehouse_id = "lakehouse_id",
        target_path = None,
        ingestion_parameters = KnowledgeSourceIngestionParameters(
            identity = None,
            disable_image_verbalization = False,
            chat_completion_model = KnowledgeBaseAzureOpenAIModel(
                azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
                    resource_url = "aoai_endpoint",
                    deployment_name = "aoai_gpt_deployment",
                    model_name = "aoai_gpt_model",
                    api_key = "aoai_api_key"
                )
            ),
            embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
                azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
                    resource_url = "aoai_endpoint",
                    deployment_name = "aoai_embedding_deployment",
                    model_name = "aoai_embedding_model",
                    api_key = "aoai_api_key"
                )
            ),
            content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
            ingestion_schedule = None,
            ingestion_permission_options = ["user_ids", "group_ids"]
        )
    )
)

index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")

Reference:SearchIndexClient

### Create an indexed OneLake knowledge source
PUT {{search-url}}/knowledgesources/my-onelake-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json

{
    "name": "my-onelake-ks",
    "kind": "indexedOneLake",
    "description": "This knowledge source pulls content from a lakehouse.",
    "indexedOneLakeParameters": {
      "fabricWorkspaceId": "<YOUR FABRIC WORKSPACE GUID>",
      "lakehouseId": "<YOUR LAKEHOUSE GUID>",
      "targetPath": null,
      "ingestionParameters": {
        "identity": null,
        "disableImageVerbalization": null,
        "chatCompletionModel": {
            "kind": "azureOpenAI",
            "azureOpenAIParameters": {
                "resourceUri": "{{aoai-endpoint}}",
                "deploymentId": "{{aoai-gpt-deployment}}",
                "modelName": "{{aoai-gpt-model}}",
                "apiKey": "{{aoai-key}}"
            }
        },
        "embeddingModel": {
            "kind": "azureOpenAI",
            "azureOpenAIParameters": {
                "resourceUri": "{{aoai-endpoint}}",
                "deploymentId": "{{aoai-embedding-deployment}}",
                "modelName": "{{aoai-embedding-model}}",
                "apiKey": "{{aoai-key}}"
            }
        },
        "contentExtractionMode": "minimal",
        "ingestionSchedule": null,
        "ingestionPermissionOptions": ["userIds", "groupIds"]
    }
  }
}

Referenz:Wissensquellen – Erstellen oder Aktualisieren

Hinweis

Die Erzwingung von Berechtigungen auf Dokumentebene mithilfe von ingestionPermissionOptions erfordert die API-Version 2026-05-01-preview. Dieses Feature wird von 2026-04-01 nicht unterstützt.

Quellspezifische Eigenschaften

Die folgenden Eigenschaften gelten für indizierte OneLake-Wissensquellen.

Namen Beschreibung Typ Bearbeitbar Erforderlich
Name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. Schnur Nein Ja
Description Eine Beschreibung der Wissensquelle. Schnur Ja Nein
EncryptionKey Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. Objekt Ja Nein
IndexedOneLakeKnowledgeSourceParameters Spezifische Parameter für OneLake-Wissensquellen: FabricWorkspaceId, LakehouseId, und TargetPath. Objekt Ja
FabricWorkspaceId Die GUID des Arbeitsbereichs, der das Seehaus enthält. Schnur Nein Ja
LakehouseId Die GUID des Lakehouse. Schnur Nein Ja
TargetPath Ein Ordner oder eine Verknüpfung innerhalb des Lakehouse. Wenn nicht angegeben, wird das gesamte Lakehouse indiziert. Schnur Nein Nein
Namen Beschreibung Typ Bearbeitbar Erforderlich
name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. Schnur Nein Ja
description Eine Beschreibung der Wissensquelle. Schnur Ja Nein
encryption_key Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. Objekt Ja Nein
indexed_one_lake_parameters Spezifische Parameter für OneLake-Wissensquellen: fabric_workspace_id, lakehouse_id, und target_path. Objekt Ja
fabric_workspace_id Die GUID des Arbeitsbereichs, der das Seehaus enthält. Schnur Nein Ja
lakehouse_id Die GUID des Lakehouse. Schnur Nein Ja
target_path Ein Ordner oder eine Verknüpfung innerhalb des Lakehouse. Wenn nicht angegeben, wird das gesamte Lakehouse indiziert. Schnur Nein Nein
Namen Beschreibung Typ Bearbeitbar Erforderlich
name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. Schnur Nein Ja
kind Die Art der Wissensquelle, die in diesem Fall indexedOneLake ist. Schnur Nein Ja
description Eine Beschreibung der Wissensquelle. Schnur Ja Nein
encryptionKey Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. Objekt Ja Nein
indexedOneLakeParameters Spezifische Parameter für OneLake-Wissensquellen: fabricWorkspaceId, lakehouseId, und targetPath. Objekt Ja
fabricWorkspaceId Die GUID des Arbeitsbereichs, der das Seehaus enthält. Schnur Nein Ja
lakehouseId Die GUID des Lakehouse. Schnur Nein Ja
targetPath Ein Ordner oder eine Verknüpfung innerhalb des Lakehouse. Wenn nicht angegeben, wird das gesamte Lakehouse indiziert. Schnur Nein Nein

Eigenschaften der Aufnahmeparameter

Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters Eigenschaften übergeben, um zu steuern, wie Inhalte aufgenommen und verarbeitet werden.

Namen Beschreibung Typ Bearbeitbar Erforderlich
Identity Eine verwaltete Identität , die im generierten Indexer verwendet werden soll. Objekt Ja Nein
DisableImageVerbalization Aktiviert oder deaktiviert die Verwendung der Bildverbalisierung. Der Standardwert ist False, was die Bildverbalisation ermöglicht. Stellen Sie auf True ein, um die Bildverbalisierung zu deaktivieren. Boolean Nein Nein
ChatCompletionModel Ein Chat-Vervollständigungsmodell, das Bilder verbalisiert oder Inhalte extrahiert. Unterstützte Modelle sind gpt-4o, , gpt-4o-minigpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, und gpt-5-minigpt-5-nano. Die GenAI Prompt-Fähigkeit ist im generierten Skillset enthalten. Das Festlegen dieses Parameters erfordert auch, dass DisableImageVerbalization auf False gesetzt ist. Wenn ContentExtractionMode auf standard festgelegt ist, muss ChatCompletionModel.AzureOpenAIParameters.ResourceUri gleich AiServices.Uri sein, und beide Parameter müssen auf dieselbe Microsoft Foundry-Ressource auf services.ai.azure.com verweisen. Objekt Nur ApiKey und DeploymentName können bearbeitet werden Nein
EmbeddingModel Ein Texteinbettungsmodell, das Text- und Bildinhalte während der Indizierung und zur Abfragezeit vektorisiert. Unterstützte Modelle sind text-embedding-ada-002, text-embedding-3-smallund text-embedding-3-large. Die Azure OpenAI Embedding Skill ist im generierten Skillset enthalten, und der Azure OpenAI-Vektorizer ist im generierten Index enthalten. Objekt Nur ApiKey und DeploymentName können bearbeitet werden Nein
ContentExtractionMode Steuert, wie Inhalte aus Dateien extrahiert werden. Die Standardeinstellung ist minimal, die grundlegende Inhaltsextraktionsmethoden für Text und Bilder verwendet. Legen Sie diese Einstellung auf standard fest, um erweiterte Dokumentaufteilung und -segmentierung mithilfe der Azure Content Understanding-Funktion durchzuführen, die im generierten Skillset enthalten ist. Nur für standard kann der Parameter AiServices angegeben werden, und ChatCompletionModel.AzureOpenAIParameters.ResourceUri muss AiServices.Uri entsprechen. Weitere Informationen finden Sie in der ChatCompletionModel Zeile. Schnur Nein Nein
AiServices Eine Foundry-Ressource für den Zugriff auf Azure Content Understanding in Foundry Tools. Das Festlegen dieses Parameters erfordert, dass ContentExtractionMode auf standard gesetzt ist. Weitere Informationen finden Sie in der ChatCompletionModel Zeile. Objekt Nur ApiKey bearbeitbar Nein
IngestionSchedule Fügt dem generierten Indexer Planungsinformationen hinzu. Sie können später auch einen Zeitplan hinzufügen , um die Datenaktualisierung zu automatisieren. Objekt Ja Nein
IngestionPermissionOptions Die Berechtigungen auf Dokumentebene, die zusammen mit den Inhalten übernommen werden sollen. Geben Sie UserIds, GroupIds oder RbacScope an, um Berechtigungsmetadaten im Index zu speichern. Sie können auch SensitivityLabel angeben, um Metadaten zu Microsoft Purview-Vertraulichkeitsbezeichnungen für Blob-, indizierte OneLake- und indizierte SharePoint-Wissensquellen zu erfassen. Informationen zu quellspezifischen RBAC-Richtlinien finden Sie unter "Aufnehmen von RBAC-Berechtigungen aus blob storage " und "Aufnehmen von ACLs aus ADLS Gen2". Informationen zum Erzwingen dieser Berechtigungen zur Abfragezeit finden Sie unter Erzwingen von Berechtigungen zur Abfragezeit. Array Nein Nein
AssetStore (nur in der Vorschau 2026-05-01) Ein Blob-Container, der zum dauerhaften Speichern von aus Quelldokumenten extrahierten Bildern verwendet wird. Erforderlich, um die Bildbereitstellung (Vorschau) für die Knowledge Base zu aktivieren. Wenn Sie diesen Parameter festlegen, wird neben der Wissensquelle ein Wissensspeicher zum Speichern der Bildartefakte verwendet. Sie können diesen Wissensspeicher wie jeder andere überprüfen und verwalten. Das Speicherkonto muss für die Lebensdauer der Wissensdatenbank für den Suchdienst zugänglich bleiben. Objekt Nein Nein
Namen Beschreibung Typ Bearbeitbar Erforderlich
identity Eine verwaltete Identität , die im generierten Indexer verwendet werden soll. Objekt Ja Nein
disable_image_verbalization Aktiviert oder deaktiviert die Verwendung der Bildverbalisierung. Der Standardwert ist False, was die Bildverbalisation ermöglicht. Stellen Sie auf True ein, um die Bildverbalisierung zu deaktivieren. Boolean Nein Nein
chat_completion_model Ein Chat-Vervollständigungsmodell, das Bilder verbalisiert oder Inhalte extrahiert. Unterstützte Modelle sind gpt-4o, , gpt-4o-minigpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, und gpt-5-minigpt-5-nano. Die GenAI Prompt-Fähigkeit ist im generierten Skillset enthalten. Das Festlegen dieses Parameters erfordert auch, dass disable_image_verbalization auf False gesetzt ist. Wenn content_extraction_mode auf standard festgelegt ist, muss chat_completion_model.azure_open_ai_parameters.resource_url gleich ai_services.uri sein, und beide Parameter müssen auf dieselbe Microsoft Foundry-Ressource auf services.ai.azure.com verweisen. Objekt Nur api_key und deployment_name können bearbeitet werden Nein
embedding_model Ein Texteinbettungsmodell, das Text- und Bildinhalte während der Indizierung und zur Abfragezeit vektorisiert. Unterstützte Modelle sind text-embedding-ada-002, text-embedding-3-smallund text-embedding-3-large. Die Azure OpenAI Embedding Skill ist im generierten Skillset enthalten, und der Azure OpenAI-Vektorizer ist im generierten Index enthalten. Objekt Nur api_key und deployment_name können bearbeitet werden Nein
content_extraction_mode Steuert, wie Inhalte aus Dateien extrahiert werden. Die Standardeinstellung ist minimal, die grundlegende Inhaltsextraktionsmethoden für Text und Bilder verwendet. Legen Sie diese Einstellung auf standard fest, um erweiterte Dokumentaufteilung und -segmentierung mithilfe der Azure Content Understanding-Funktion durchzuführen, die im generierten Skillset enthalten ist. Nur für standard kann der Parameter ai_services angegeben werden, und chat_completion_model.azure_open_ai_parameters.resource_url muss ai_services.uri entsprechen. Weitere Informationen finden Sie in der chat_completion_model Zeile. Schnur Nein Nein
ai_services Eine Foundry-Ressource für den Zugriff auf Azure Content Understanding in den Foundry-Tools. Das Festlegen dieses Parameters erfordert, dass content_extraction_mode auf standard gesetzt ist. Weitere Informationen finden Sie in der chat_completion_model Zeile. Objekt Nur api_key bearbeitbar Nein
ingestion_schedule Fügt dem generierten Indexer Planungsinformationen hinzu. Sie können später auch einen Zeitplan hinzufügen , um die Datenaktualisierung zu automatisieren. Objekt Ja Nein
ingestion_permission_options Die Berechtigungen auf Dokumentebene, die zusammen mit den Inhalten übernommen werden sollen. Geben Sie user_ids, group_ids oder rbac_scope an, um Berechtigungsmetadaten im Index zu speichern. Sie können auch sensitivity_label angeben, um Metadaten zu Microsoft Purview-Vertraulichkeitsbezeichnungen für Blob-, indizierte OneLake- und indizierte SharePoint-Wissensquellen zu erfassen. Informationen zu quellspezifischen RBAC-Richtlinien finden Sie unter "Aufnehmen von RBAC-Berechtigungen aus blob storage " und "Aufnehmen von ACLs aus ADLS Gen2". Informationen zum Erzwingen dieser Berechtigungen zur Abfragezeit finden Sie unter Erzwingen von Berechtigungen zur Abfragezeit. Array Nein Nein
asset_store (nur in der Vorschau 2026-05-01) Ein Blob-Container, der zum dauerhaften Speichern von aus Quelldokumenten extrahierten Bildern verwendet wird. Erforderlich, um die Bildbereitstellung (Vorschau) für die Knowledge Base zu aktivieren. Wenn Sie diesen Parameter festlegen, wird neben der Wissensquelle ein Wissensspeicher zum Speichern der Bildartefakte verwendet. Sie können diesen Wissensspeicher wie jeder andere überprüfen und verwalten. Das Speicherkonto muss für die Lebensdauer der Wissensdatenbank für den Suchdienst zugänglich bleiben. Objekt Nein Nein
Namen Beschreibung Typ Bearbeitbar Erforderlich
identity Eine verwaltete Identität , die im generierten Indexer verwendet werden soll. Objekt Ja Nein
disableImageVerbalization Aktiviert oder deaktiviert die Verwendung der Bildverbalisierung. Der Standardwert ist false, was die Bildverbalisation ermöglicht. Stellen Sie auf true ein, um die Bildverbalisierung zu deaktivieren. Boolean Nein Nein
chatCompletionModel Ein Chat-Vervollständigungsmodell, das Bilder verbalisiert oder Inhalte extrahiert. Unterstützte Modelle sind gpt-4o, , gpt-4o-minigpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, und gpt-5-minigpt-5-nano. Die GenAI Prompt-Fähigkeit ist im generierten Skillset enthalten. Das Festlegen dieses Parameters erfordert auch, dass disableImageVerbalization auf false gesetzt ist. Wenn contentExtractionMode auf standard festgelegt ist, muss chatCompletionModel.azureOpenAIParameters.resourceUri gleich aiServices.uri sein, und beide Parameter müssen auf dieselbe Microsoft Foundry-Ressource auf services.ai.azure.com verweisen. Objekt Nur apiKey und deploymentId können bearbeitet werden Nein
embeddingModel Ein Texteinbettungsmodell, das Text- und Bildinhalte während der Indizierung und zur Abfragezeit vektorisiert. Unterstützte Modelle sind text-embedding-ada-002, text-embedding-3-smallund text-embedding-3-large. Die Azure OpenAI Embedding Skill ist im generierten Skillset enthalten, und der Azure OpenAI-Vektorizer ist im generierten Index enthalten. Objekt Nur apiKey und deploymentId können bearbeitet werden Nein
contentExtractionMode Steuert, wie Inhalte aus Dateien extrahiert werden. Die Standardeinstellung ist minimal, die grundlegende Inhaltsextraktionsmethoden für Text und Bilder verwendet. Legen Sie diese Einstellung auf standard fest, um erweiterte Dokumentaufteilung und -segmentierung mithilfe der Azure Content Understanding-Funktion durchzuführen, die im generierten Skillset enthalten ist. Nur für standard kann der Parameter ai_services angegeben werden, und chatCompletionModel.azureOpenAIParameters.resourceUri muss aiServices.uri entsprechen. Weitere Informationen finden Sie in der chatCompletionModel Zeile. Schnur Nein Nein
aiServices Eine Foundry-Ressource für den Zugriff auf Azure Content Understanding in den Foundry-Tools. Das Festlegen dieses Parameters erfordert, dass contentExtractionMode auf standard gesetzt ist. Weitere Informationen finden Sie in der chatCompletionModel Zeile. Objekt Nur apiKey bearbeitbar Nein
ingestionSchedule Fügt dem generierten Indexer Planungsinformationen hinzu. Sie können später auch einen Zeitplan hinzufügen , um die Datenaktualisierung zu automatisieren. Objekt Ja Nein
ingestionPermissionOptions Die Berechtigungen auf Dokumentebene, die zusammen mit den Inhalten übernommen werden sollen. Geben Sie userIds, groupIds oder rbacScope an, um Berechtigungsmetadaten im Index zu speichern. Sie können auch sensitivityLabel angeben, um Metadaten zu Microsoft Purview-Vertraulichkeitsbezeichnungen für Blob-, indizierte OneLake- und indizierte SharePoint-Wissensquellen zu erfassen. Informationen zu quellspezifischen RBAC-Richtlinien finden Sie unter "Aufnehmen von RBAC-Berechtigungen aus blob storage " und "Aufnehmen von ACLs aus ADLS Gen2". Informationen zum Erzwingen dieser Berechtigungen zur Abfragezeit finden Sie unter Erzwingen von Berechtigungen zur Abfragezeit. Array Nein Nein
assetStore (nur in der Vorschau 2026-05-01) Ein Blob-Container, der zum dauerhaften Speichern von aus Quelldokumenten extrahierten Bildern verwendet wird. Erforderlich, um die Bildbereitstellung (Vorschau) für die Knowledge Base zu aktivieren. Wenn Sie diesen Parameter festlegen, wird neben der Wissensquelle ein Wissensspeicher zum Speichern der Bildartefakte verwendet. Sie können diesen Wissensspeicher wie jeder andere überprüfen und verwalten. Das Speicherkonto muss für die Lebensdauer der Wissensdatenbank für den Suchdienst zugänglich bleiben. Objekt Nein Nein

Überprüfen des Ingestion-Status

Führen Sie den folgenden Code aus, um den Fortschritt und die Integrität der Erfassung zu überwachen, einschließlich der Wissensquelle und detaillierter Indizierungsfehler für Wissensquellen, die eine Indexerpipeline generieren und einen Suchindex auffüllen.

using Azure.Search.Documents.Indexes;
using System.Text.Json;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;

// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);

Reference:SearchIndexClient

# Check knowledge source ingestion status
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"))

status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))

Reference:SearchIndexClient

### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
api-key: {{api-key}}
Content-Type: application/json 

Referenz:Wissensquellen – Status abrufen

Eine Antwort auf eine Anforderung, die Aufnahmeparameter enthält und aktiv Inhalte erfasst, kann folgendermaßen aussehen.

{
  "kind": "azureBlob",
  "synchronizationStatus": "active",
  "synchronizationInterval": "1d",
  "currentSynchronizationState": {
    "startTime": "2026-04-10T19:30:00Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": [
      {
        "key": "Item id 1",
        "docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
        "statusCode": 400,
        "componentName": "DocumentExtraction.AzureBlob.MyDataSource",
        "errorMessage": "Could not read the value of column 'foo' at index '0'.",
        "details": "The file could not be parsed.",
        "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
      }
    ]
  },
  "lastSynchronizationState": {
    "status": "partialSuccess",
    "startTime": "2026-04-09T19:30:00Z",
    "endTime": "2026-04-09T19:40:01Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": null
  },
  "statistics": {
    "totalSynchronizations": 25,
    "averageSynchronizationDuration": "00:15:20",
    "averageItemsProcessedPerSynchronization": 500
  }
}

Hinweis

Die Eigenschaft kind und das Array currentSynchronizationState.errors[] mit Fehlerdetails auf Dokumentebene sind ab der API-Version 2026-04-01 verfügbar. Für frühere API-Versionen werden diese Felder nicht zurückgegeben. Das lastSynchronizationState.status Feld ist auch neu in 2026-04-01.

Überprüfen der generierten Objekte

Wenn Sie diese Wissensquelle erstellen, generiert Azure KI-Suche automatisch eine Datenquelle, einen Fähigkeitensatz, einen Indexer und einen Index. Die Erstellungsantwort listet jedes Objekt unter createdResources.

Diese Objekte werden gemäß einer festen Vorlage generiert, und ihre Namen basieren auf dem Namen der Wissensquelle. Sie können die Objektnamen nicht ändern. Vermeiden Sie das direkte Bearbeiten dieser Objekte, da Änderungen Fehler oder Inkompatibilitäten verursachen können, die die Indexerpipeline unterbrechen.

Sie können das Azure Portal verwenden, um die Objekterstellung zu überprüfen. Der Workflow lautet:

  1. Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.

  2. Überprüfen Sie die Datenquelle, um die Verbindung mit Ihrem Datenspeicher zu überprüfen. Die Verbindung verwendet entweder eine Verbindungszeichenfolge oder eine verwaltete Identität, je nachdem, wie Sie die Wissensquelle konfiguriert haben.

  3. Überprüfen Sie das Skillset, um zu sehen, wie Ihre Inhalte in Blöcke unterteilt und optional vektorisiert werden.

  4. Überprüfen Sie den Index, um zu sehen, wie Ihre Inhalte für den Abruf indiziert und verfügbar gemacht werden, einschließlich der durchsuchbaren und filterbaren Felder und welche Felder Vektoren für die Ähnlichkeitssuche speichern. Verwenden Sie den Such-Explorer, um Abfragen für den generierten Index auszuführen.

Zuweisen zu einer Wissensbasis

Wenn Sie mit der Wissensquelle zufrieden sind, fügen Sie sie einer Wissensbasis hinzu.

Achten Sie darauf, bei allen Wissensdatenbanken, die eine indizierte OneLake-Wissensquelle angeben, includeReferenceSourceData auf true zu setzen. Dieser Schritt ist erforderlich, um die Quelldokument-URL in das Zitat abzurufen.

Abfragen einer Wissensbasis

Rufen Sie nach der Konfiguration der Knowledge Base die Abrufaktion oder den MCP-Endpunkt auf, um die Wissensquelle abzufragen. Diese Wissensquelle unterstützt optionale Konfigurationen für die Erzwingung von Berechtigungen auf Dokumentebene und die darstellung eingebetteter Bilder.

Erzwingen von Berechtigungen auf Dokumentebene

Um Berechtigungen auf Dokumentebene zu erzwingen, legen Sie fest ingestionPermissionOptions , wenn Sie diese Wissensquelle erstellen, und fügen Sie dann das Zugriffstoken des Benutzers in die Abrufanforderung ein. Weitere Informationen finden Sie unter Erzwingen von Berechtigungen zur Abfragezeit (Vorschau).

In Dokumente eingebettete Bilder anzeigen

Um in Antworten der Antwortsynthese in Dokumente eingebettete Bilder (z. B. Diagramme oder Scans) bereitzustellen, konfigurieren Sie assetStore für diese Wissensquelle, und aktivieren Sie dann die Bildbereitstellung für die Wissensdatenbank. Weitere Informationen finden Sie unter In Dokumente eingebettete Bilder in der agentischen Suche anzeigen (Vorschau).

Löschen einer Wissensquelle

Bevor Sie eine Wissensquelle löschen können, müssen Sie alle Knowledge Basen löschen, die darauf verweisen, oder die Knowledge Base-Definition aktualisieren, um den Verweis zu entfernen. Für Wissensquellen, die eine Index- und Indexerpipeline generieren, werden auch alle generierten Objekte gelöscht. Wenn Sie jedoch einen vorhandenen Index zum Erstellen einer Wissensquelle verwendet haben, wird Ihr Index nicht gelöscht.

Wenn Sie versuchen, eine verwendete Wissensquelle zu löschen, schlägt die Aktion fehl und gibt eine Liste der betroffenen Wissensdatenbanken zurück.

So löschen Sie eine Wissensquelle:

  1. Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.

    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

    Eine Beispielantwort könnte wie folgt aussehen:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.

    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

    Eine Beispielantwort könnte wie folgt aussehen:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie, wenn Sie über mehrere Wissensquellen verfügen, die Wissensbasis, um die Quelle zu entfernen. In diesem Beispiel wird das Löschen gezeigt.

    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

  4. Löschen Sie die Wissensquelle.

    await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName);
    System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
    

    Reference:SearchIndexClient

  1. Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.

    # Get knowledge bases
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    
    print("Knowledge Bases:")
    for kb in index_client.list_knowledge_bases():
        print(f"  - {kb.name}")
    

    Reference:SearchIndexClient

    Eine Beispielantwort könnte wie folgt aussehen:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.

    # Get a knowledge base definition
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    kb = index_client.get_knowledge_base("knowledge_base_name")
    print(kb)
    

    Reference:SearchIndexClient

    Eine Beispielantwort könnte wie folgt aussehen:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie, wenn Sie über mehrere Wissensquellen verfügen, die Wissensbasis, um die Quelle zu entfernen. In diesem Beispiel wird das Löschen gezeigt.

    # 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

  4. Löschen Sie die Wissensquelle.

    # Delete a knowledge source
    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_source("knowledge_source_name")
    print(f"Knowledge source deleted successfully.")
    

    Reference:SearchIndexClient

  1. Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.

    ### Get knowledge bases
    GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
    api-key: {{api-key}}
    

    Referenz:Wissensdatenbanken - Liste

    Eine Beispielantwort könnte wie folgt aussehen:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.

    ### Get a knowledge base definition
    GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Referenz:Wissensdatenbanken - Abrufen

    Eine Beispielantwort könnte wie folgt aussehen:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie, wenn Sie über mehrere Wissensquellen verfügen, die Wissensbasis, um die Quelle zu entfernen. In diesem Beispiel wird das Löschen gezeigt.

    ### Delete a knowledge base
    DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Referenz:Knowledge Basen - Löschen

  4. Löschen Sie die Wissensquelle.

    ### Delete a knowledge source
    DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Referenz:Wissensquellen - Löschen