Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel (SLA) bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Verwenden Sie eine Blob-Wissensquelle, um Azure-Blob-Inhalte in einer agentischen Abrufpipeline zu indizieren und abzufragen. Wissensquellen werden unabhängig erstellt, in einer Wissensbasis referenziert und als Erdungsdaten verwendet, wenn ein Agent oder Chatbot eine Abrufaktion zur Abfragezeit aufruft.
Im Gegensatz zu einer Suchindex-Wissensquelle, die einen vorhandenen und qualifizierten Index angibt, gibt eine BLOB-Wissensquelle eine externe Datenquelle, Modelle und Eigenschaften an, um automatisch die folgenden Azure AI Search-Objekte zu generieren:
- Eine Datenquelle, die einen Blob-Container darstellt.
- Ein Fähigkeiten-Set, das multimodale Inhalte aus dem Container in Segmente unterteilt und optional 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.
Hinweis
Wenn der Benutzerzugriff auf der Dokumentebene (BLOB) in Azure Storage angegeben ist, kann eine Wissensquelle Berechtigungsmetadaten an indizierte Inhalte in Azure AI Search weiterleiten. Weitere Informationen finden Sie unter ADLS Gen2-Berechtigungsmetadaten oder Blob-RBAC-Bereiche.
Voraussetzungen
Azure AI Search in jeder Region, die agentisches Abrufen ermöglicht. Sie müssen den semantischen Rangierer aktiviert haben.
Ein Azure Blob Storage - oder Azure Data Lake Storage (ADLS)-Gen2-Konto .
Ein Blobcontainer mit unterstützten Inhaltstypen für Textinhalte. Bei optionaler Bildverbalisierung hängt der unterstützte Inhaltstyp davon ab, ob Ihr Chat-Vervollständigungsmodell die Bilddatei analysieren und beschreiben kann.
Die neueste Vorschauversion der
Azure.Search.DocumentsClientbibliothek für .NET SDK.Berechtigung zum Erstellen und Verwenden von Objekten in Azure AI Search. Wir empfehlen den rollenbasierten Zugriff, aber Sie können API-Schlüssel verwenden, wenn eine Rollenzuweisung nicht machbar ist. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Suchdienst.
Überprüfen auf vorhandene Wissensquellen
Eine Wissensquelle ist ein wiederverwendbares Objekt der obersten 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}");
}
Sie können auch eine einzelne Wissensquelle anhand des Namens zurück, um ihre 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));
Der folgende JSON-Code ist eine Beispielantwort für eine Blob-Wissensquelle.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"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",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
Hinweis
Vertrauliche Informationen sind redigiert. Die generierten Ressourcen werden am Ende der Antwort angezeigt.
Erstellen einer Wissensquelle
Führen Sie den folgenden Code aus, um eine Blob-Wissensquelle zu erstellen.
// Create a blob knowledge source
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 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
}
};
var blobParams = new AzureBlobKnowledgeSourceParameters(
connectionString: connectionString,
containerName: containerName
)
{
IsAdlsGen2 = false,
IngestionParameters = ingestionParams
};
var knowledgeSource = new AzureBlobKnowledgeSource(
name: "my-blob-ks",
azureBlobParameters: blobParams
)
{
Description = "This knowledge source pulls from a blob storage container."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Quellspezifische Eigenschaften
Sie können die folgenden Eigenschaften übergeben, um eine BLOB-Wissensquelle zu erstellen.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
name |
Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss, und befolgen Sie die Benennungsrichtlinien für Objekte in Azure AI Search. | String | Nein | Yes |
Description |
Eine Beschreibung der Wissensquelle. | String | Yes | Nein |
encryptionKey |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. | Object | Yes | Nein |
chatCompletionParams |
Parameter, die spezifisch für Chat-Vervollständigungsmodelle bei der Abfrageplanung und optionalen Antwortsynthese genutzt werden, wenn der Abrufaufwand niedrig oder mittel ist. | Object | Nein | |
embeddingParams |
Parameter, die speziell für einbettende Modelle verwendet werden, wenn Sie Blöcke von Inhalten vektorisieren möchten. | Object | Nein | |
azureBlobParameters |
Spezifische Parameter für Blob-Wissensquellen: connectionString, containerName, , folderPathund isAdlsGen2. |
Object | Nein | |
connectionString |
Eine schlüsselbasierte Verbindungszeichenfolge oder, wenn Sie eine verwaltete Identität verwenden, die Ressourcen-ID. | String | Nein | Yes |
containerName |
Den Namen des Blobspeichercontainers | String | Nein | Yes |
folderPath |
Ein Ordner innerhalb des Containers. | String | Nein | Nein |
isAdlsGen2 |
Der Standardwert lautet False. Legen Sie True fest, wenn Sie ein ADLS Gen2-Speicherkonto verwenden. |
Boolean | Nein | Nein |
ingestionParameters Eigenschaften
Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters Eigenschaften übergeben, um zu steuern, wie Inhalte aufgenommen und verarbeitet werden.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
Identity |
Eine verwaltete Identität , die im generierten Indexer verwendet werden soll. | Object | Yes | Nein |
DisableImageVerbalization |
Aktiviert oder deaktiviert die Verwendung der Bildverbalisation. Der Standardwert ist False, was die Bildverbaliserung aktiviert. Setzen Sie True auf, 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 wird in das generierte Skillset aufgenommen. Das Festlegen dieses Parameters erfordert auch, dass disable_image_verbalization auf False gesetzt wird. |
Object | Nur api_key und deployment_name 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-Fähigkeit wird in das generierte Skillset aufgenommen, und der Azure OpenAI-Vektorizer wird in den generierten Index aufgenommen. |
Object | Nur api_key und deployment_name können bearbeitet werden |
Nein |
ContentExtractionMode |
Steuert, wie Inhalte aus Dateien extrahiert werden. Der Standard ist minimal, das die Standardinhaltsextraktion für Text und Bilder verwendet. Wird auf standard gesetzt, um erweitertes Dokumentanalysieren und Segmentieren mithilfe der Azure Content Understanding-Fähigkeit zu nutzen, die in das generierte Skillset aufgenommen wird. Nur für standard können die Parameter AiServices und AssetStore angegeben werden. |
String | Nein | Nein |
AiServices |
Eine Microsoft Foundry-Ressource für den Zugriff auf Azure Content Understanding in Foundry Tools. Das Festlegen dieses Parameters erfordert, dass ContentExtractionMode auf standard gesetzt ist. |
Object | Nur api_key bearbeitbar |
Yes |
IngestionSchedule |
Fügt dem generierten Indexer Planungsinformationen hinzu. Sie können später auch einen Zeitplan hinzufügen , um die Datenaktualisierung zu automatisieren. | Object | Yes | Nein |
IngestionPermissionOptions |
Die Berechtigungen auf Dokumentebene, um aus ausgewählten Wissensquellen Daten zu extrahieren: entweder ADLS Gen2 oder indiziertes SharePoint. Wenn Sie user_ids, group_ids oder rbac_scope angeben, sind im generierten ADLS Gen2-Indexer oder SharePoint-Indexer die aufgenommenen Berechtigungen enthalten. |
Array | Nein | Nein |
Überprüfen des Erfassungsstatus
Führen Sie den folgenden Code aus, um den Fortschritt und den Zustand der Datenübernahme zu überwachen, einschließlich des Indexerstatus für Wissensquellen, die eine Indexerpipeline generieren und einen Suchindex auffüllen.
// Get knowledge source ingestion status
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
// Get the knowledge source 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);
Eine Antwort für eine Anforderung, die Aufnahmeparameter enthält und aktiv Inhalte erfasst, kann wie im folgenden Beispiel aussehen.
{
"synchronizationStatus": "active", // creating, active, deleting
"synchronizationInterval" : "1d", // null if no schedule
"currentSynchronizationState" : { // spans multiple indexer "runs"
"startTime": "2025-10-27T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"lastSynchronizationState" : { // null on first sync
"startTime": "2025-10-27T19:30:00Z",
"endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"statistics": { // null on first sync
"totalSynchronization": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization" : 500
}
}
Überprüfen der erstellten Objekte
Wenn Sie eine Blob-Wissensquelle erstellen, erstellt Ihr Suchdienst auch einen Indexer, einen Index, ein Skillset und eine Datenquelle. Es wird nicht empfohlen, diese Objekte zu bearbeiten, da ein Fehler oder eine Inkompatibilität die Pipeline unterbrechen kann.
Nachdem Sie eine Wissensquelle erstellt haben, werden in der Antwort die erstellten Objekte aufgelistet. Diese Objekte werden gemäß einer festen Vorlage erstellt, und ihre Namen basieren auf dem Namen der Wissensquelle. Sie können die Objektnamen nicht ändern.
Wir empfehlen die Verwendung des Azure-Portals zur Überprüfung der Ausgabeerstellung. Der Workflow lautet:
- Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.
- Überprüfen Sie den Index auf durchsuchbare Inhalte. Verwenden Sie den Such-Explorer, um Abfragen auszuführen.
- Überprüfen Sie die Kompetenzen, um zu erfahren, wie Ihre Inhalte aufgeteilt und optional vektorisiert werden.
- Überprüfen Sie die Datenquelle auf Verbindungsdetails. Unser Beispiel verwendet API-Schlüssel aus Gründen der Einfachheit, Aber Sie können Microsoft Entra-ID für die Authentifizierung und rollenbasierte Zugriffssteuerung für die Autorisierung verwenden.
Zuweisen zu einer Wissensbasis
Wenn Sie mit der Wissensquelle zufrieden sind, fahren Sie mit dem nächsten Schritt fort: Geben Sie die Wissensquelle in einer Wissensbasis an.
Nachdem die Knowledge Base konfiguriert wurde, verwenden Sie die Abrufaktion , um die Wissensquelle abzufragen.
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:
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}"); }Eine Beispielantwort könnte wie folgt aussehen:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseRufen 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);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 }Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie die Wissensbasis , um die Wissensquelle zu entfernen, wenn Sie über mehrere Quellen verfügen. 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.");Löschen Sie die Wissensquelle.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
Hinweis
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel (SLA) bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Verwenden Sie eine Blob-Wissensquelle, um Azure-Blob-Inhalte in einer agentischen Abrufpipeline zu indizieren und abzufragen. Wissensquellen werden unabhängig erstellt, in einer Wissensbasis referenziert und als Erdungsdaten verwendet, wenn ein Agent oder Chatbot eine Abrufaktion zur Abfragezeit aufruft.
Im Gegensatz zu einer Suchindex-Wissensquelle, die einen vorhandenen und qualifizierten Index angibt, gibt eine BLOB-Wissensquelle eine externe Datenquelle, Modelle und Eigenschaften an, um automatisch die folgenden Azure AI Search-Objekte zu generieren:
- Eine Datenquelle, die einen Blob-Container darstellt.
- Ein Fähigkeiten-Set, das multimodale Inhalte aus dem Container in Segmente unterteilt und optional 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.
Hinweis
Wenn der Benutzerzugriff auf der Dokumentebene (BLOB) in Azure Storage angegeben ist, kann eine Wissensquelle Berechtigungsmetadaten an indizierte Inhalte in Azure AI Search weiterleiten. Weitere Informationen finden Sie unter ADLS Gen2-Berechtigungsmetadaten oder Blob-RBAC-Bereiche.
Voraussetzungen
Azure AI Search in jeder Region, die agentisches Abrufen ermöglicht. Sie müssen den semantischen Rangierer aktiviert haben.
Ein Azure Blob Storage - oder Azure Data Lake Storage (ADLS)-Gen2-Konto .
Ein Blobcontainer mit unterstützten Inhaltstypen für Textinhalte. Bei optionaler Bildverbalisierung hängt der unterstützte Inhaltstyp davon ab, ob Ihr Chat-Vervollständigungsmodell die Bilddatei analysieren und beschreiben kann.
Die neueste Vorschauversion der
azure-search-documentsClientbibliothek für Python.Berechtigung zum Erstellen und Verwenden von Objekten in Azure AI Search. Wir empfehlen den rollenbasierten Zugriff, aber Sie können API-Schlüssel verwenden, wenn eine Rollenzuweisung nicht machbar ist. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Suchdienst.
Überprüfen auf vorhandene Wissensquellen
Eine Wissensquelle ist ein wiederverwendbares Objekt der obersten 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
import requests
import json
endpoint = "{search_url}/knowledgesources"
params = {"api-version": "2025-11-01-preview", "$select": "name, kind"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
Sie können auch eine einzelne Wissensquelle anhand des Namens zurück, um ihre JSON-Definition zu überprüfen.
# Get a knowledge source definition
import requests
import json
endpoint = "{search_url}/knowledgesources/{knowledge_source_name}"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
Der folgende JSON-Code ist eine Beispielantwort für eine Blob-Wissensquelle.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"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",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
Hinweis
Vertrauliche Informationen sind redigiert. Die generierten Ressourcen werden am Ende der Antwort angezeigt.
Erstellen einer Wissensquelle
Führen Sie den folgenden Code aus, um eine Blob-Wissensquelle zu erstellen.
# Create a blob knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import AzureBlobKnowledgeSource, AzureBlobKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
knowledge_source = AzureBlobKnowledgeSource(
name = "my-blob-ks",
description = "This knowledge source pulls from a blob storage container.",
encryption_key = None,
azure_blob_parameters = AzureBlobKnowledgeSourceParameters(
connection_string = "blob_connection_string",
container_name = "blob_container_name",
folder_path = None,
is_adls_gen2 = False,
ingestion_parameters = KnowledgeSourceIngestionParameters(
identity = None,
disable_image_verbalization = False,
chat_completion_model = KnowledgeBaseAzureOpenAIModel(
azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
# TRIMMED FOR BREVITY
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
# TRIMMED FOR BREVITY
)
),
content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
ingestion_schedule = None,
ingestion_permission_options = None
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Quellspezifische Eigenschaften
Sie können die folgenden Eigenschaften übergeben, um eine BLOB-Wissensquelle zu erstellen.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
name |
Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss, und befolgen Sie die Benennungsrichtlinien für Objekte in Azure AI Search. | String | Nein | Yes |
description |
Eine Beschreibung der Wissensquelle. | String | Yes | Nein |
encryption_key |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. | Object | Yes | Nein |
azure_blob_parameters |
Spezifische Parameter für Blob-Wissensquellen: connection_string, container_name, , folder_pathund is_adls_gen2. |
Object | Nein | |
connection_string |
Eine schlüsselbasierte Verbindungszeichenfolge oder, wenn Sie eine verwaltete Identität verwenden, die Ressourcen-ID. | String | Nein | Yes |
container_name |
Den Namen des Blobspeichercontainers | String | Nein | Yes |
folder_path |
Ein Ordner innerhalb des Containers. | String | Nein | Nein |
is_adls_gen2 |
Der Standardwert lautet False. Legen Sie True fest, wenn Sie ein ADLS Gen2-Speicherkonto verwenden. |
Boolean | Nein | Nein |
ingestionParameters Eigenschaften
Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters Eigenschaften übergeben, um zu steuern, wie Inhalte aufgenommen und verarbeitet werden.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
identity |
Eine verwaltete Identität , die im generierten Indexer verwendet werden soll. | Object | Yes | Nein |
disable_image_verbalization |
Aktiviert oder deaktiviert die Verwendung der Bildverbalisation. Der Standardwert ist False, was die Bildverbaliserung aktiviert. Setzen Sie True auf, 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 wird in das generierte Skillset aufgenommen. Das Festlegen dieses Parameters erfordert auch, dass disable_image_verbalization auf False gesetzt wird. |
Object | 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-Fähigkeit wird in das generierte Skillset aufgenommen, und der Azure OpenAI-Vektorizer wird in den generierten Index aufgenommen. |
Object | Nur api_key und deployment_name können bearbeitet werden |
Nein |
content_extraction_mode |
Steuert, wie Inhalte aus Dateien extrahiert werden. Der Standard ist minimal, das die Standardinhaltsextraktion für Text und Bilder verwendet. Wird auf standard gesetzt, um erweitertes Dokumentanalysieren und Segmentieren mithilfe der Azure Content Understanding-Fähigkeit zu nutzen, die in das generierte Skillset aufgenommen wird. Nur für standard können die Parameter ai_services und asset_store angegeben werden. |
String | Nein | Nein |
ai_services |
Eine Microsoft Foundry-Ressource für den Zugriff auf Azure Content Understanding in Foundry Tools. Das Festlegen dieses Parameters erfordert, dass content_extraction_mode auf standard gesetzt ist. |
Object | Nur api_key bearbeitbar |
Yes |
asset_store |
Ein BLOB-Container zum Speichern extrahierter Bilder. Das Festlegen dieses Parameters erfordert, dass content_extraction_mode auf standard gesetzt ist. |
Object | Nein | 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. | Object | Yes | Nein |
ingestion_permission_options |
Die Berechtigungen auf Dokumentebene, um aus ausgewählten Wissensquellen Daten zu extrahieren: entweder ADLS Gen2 oder indiziertes SharePoint. Wenn Sie user_ids, group_ids oder rbac_scope angeben, sind im generierten ADLS Gen2-Indexer oder SharePoint-Indexer die aufgenommenen Berechtigungen enthalten. |
Array | Nein | Nein |
Überprüfen des Erfassungsstatus
Führen Sie den folgenden Code aus, um den Einleseprozess und den Zustand zu überwachen, einschließlich des Indexerstatus für Wissensquellen, die eine Indexerpipeline generieren und einen Suchindex befüllen.
# Check knowledge source ingestion status
import requests
import json
endpoint = "{search_url}/knowledgesources/{knowledge_source_name}/status"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
Eine Antwort für eine Anforderung, die Aufnahmeparameter enthält und aktiv Inhalte erfasst, kann wie im folgenden Beispiel aussehen.
{
"synchronizationStatus": "active", // creating, active, deleting
"synchronizationInterval" : "1d", // null if no schedule
"currentSynchronizationState" : { // spans multiple indexer "runs"
"startTime": "2025-10-27T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"lastSynchronizationState" : { // null on first sync
"startTime": "2025-10-27T19:30:00Z",
"endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"statistics": { // null on first sync
"totalSynchronization": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization" : 500
}
}
Überprüfen der erstellten Objekte
Wenn Sie eine Blob-Wissensquelle erstellen, erstellt Ihr Suchdienst auch einen Indexer, einen Index, ein Skillset und eine Datenquelle. Es wird nicht empfohlen, diese Objekte zu bearbeiten, da ein Fehler oder eine Inkompatibilität die Pipeline unterbrechen kann.
Nachdem Sie eine Wissensquelle erstellt haben, werden in der Antwort die erstellten Objekte aufgelistet. Diese Objekte werden gemäß einer festen Vorlage erstellt, und ihre Namen basieren auf dem Namen der Wissensquelle. Sie können die Objektnamen nicht ändern.
Wir empfehlen die Verwendung des Azure-Portals zur Überprüfung der Ausgabeerstellung. Der Workflow lautet:
- Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.
- Überprüfen Sie den Index auf durchsuchbare Inhalte. Verwenden Sie den Such-Explorer, um Abfragen auszuführen.
- Überprüfen Sie die Kompetenzen, um zu erfahren, wie Ihre Inhalte aufgeteilt und optional vektorisiert werden.
- Überprüfen Sie die Datenquelle auf Verbindungsdetails. Unser Beispiel verwendet API-Schlüssel aus Gründen der Einfachheit, Aber Sie können Microsoft Entra-ID für die Authentifizierung und rollenbasierte Zugriffssteuerung für die Autorisierung verwenden.
Zuweisen zu einer Wissensbasis
Wenn Sie mit der Wissensquelle zufrieden sind, fahren Sie mit dem nächsten Schritt fort: Geben Sie die Wissensquelle in einer Wissensbasis an.
Nachdem die Knowledge Base konfiguriert wurde, verwenden Sie die Abrufaktion , um die Wissensquelle abzufragen.
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:
Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.
# Get knowledge bases import requests import json endpoint = "{search_url}/knowledgebases" params = {"api-version": "2025-11-01-preview", "$select": "name"} headers = {"api-key": "{api_key}"} response = requests.get(endpoint, params = params, headers = headers) print(json.dumps(response.json(), indent = 2))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" } ] }Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.
# Get a knowledge base definition import requests import json endpoint = "{search_url}/knowledgebases/{knowledge_base_name}" params = {"api-version": "2025-11-01-preview"} headers = {"api-key": "{api_key}"} response = requests.get(endpoint, params = params, headers = headers) print(json.dumps(response.json(), indent = 2))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" } }Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie die Wissensbasis , um die Wissensquelle zu entfernen, wenn Sie über mehrere Quellen verfügen. 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.")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.")
Hinweis
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel (SLA) bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Verwenden Sie eine Blob-Wissensquelle, um Azure-Blob-Inhalte in einer agentischen Abrufpipeline zu indizieren und abzufragen. Wissensquellen werden unabhängig erstellt, in einer Wissensbasis referenziert und als Erdungsdaten verwendet, wenn ein Agent oder Chatbot eine Abrufaktion zur Abfragezeit aufruft.
Im Gegensatz zu einer Suchindex-Wissensquelle, die einen vorhandenen und qualifizierten Index angibt, gibt eine BLOB-Wissensquelle eine externe Datenquelle, Modelle und Eigenschaften an, um automatisch die folgenden Azure AI Search-Objekte zu generieren:
- Eine Datenquelle, die einen Blob-Container darstellt.
- Ein Fähigkeiten-Set, das multimodale Inhalte aus dem Container in Segmente unterteilt und optional 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.
Hinweis
Wenn der Benutzerzugriff auf der Dokumentebene (BLOB) in Azure Storage angegeben ist, kann eine Wissensquelle Berechtigungsmetadaten an indizierte Inhalte in Azure AI Search weiterleiten. Weitere Informationen finden Sie unter ADLS Gen2-Berechtigungsmetadaten oder Blob-RBAC-Bereiche.
Voraussetzungen
Azure AI Search in jeder Region, die agentisches Abrufen ermöglicht. Sie müssen den semantischen Rangierer aktiviert haben.
Ein Azure Blob Storage - oder Azure Data Lake Storage (ADLS)-Gen2-Konto .
Ein Blobcontainer mit unterstützten Inhaltstypen für Textinhalte. Bei optionaler Bildverbalisierung hängt der unterstützte Inhaltstyp davon ab, ob Ihr Chat-Vervollständigungsmodell die Bilddatei analysieren und beschreiben kann.
Die Version 2025-11-01-Preview der REST-API des Suchdiensts.
Berechtigung zum Erstellen und Verwenden von Objekten in Azure AI Search. Wir empfehlen den rollenbasierten Zugriff, aber Sie können API-Schlüssel verwenden, wenn eine Rollenzuweisung nicht machbar ist. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Suchdienst.
Überprüfen auf vorhandene Wissensquellen
Eine Wissensquelle ist ein wiederverwendbares Objekt der obersten Ebene. Das Wissen über vorhandene Wissensquellen ist hilfreich, um neue Objekte wiederzuverwenden oder zu benennen.
Verwenden Sie Wissensquellen – ABRUFEN (REST-API), um Wissensquellen nach Name und Typ auflisten.
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
Sie können auch eine einzelne Wissensquelle anhand des Namens zurück, um ihre JSON-Definition zu überprüfen.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
Der folgende JSON-Code ist eine Beispielantwort für eine Blob-Wissensquelle.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"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",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
Hinweis
Vertrauliche Informationen sind redigiert. Die generierten Ressourcen werden am Ende der Antwort angezeigt.
Erstellen einer Wissensquelle
Verwenden Sie Wissensquellen – Erstellen oder Aktualisieren (REST-API), um eine Blob-Wissensquelle zu erstellen.
PUT {{search-url}}/knowledgesources/my-blob-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "This knowledge source pulls from a blob storage container.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<YOUR AZURE STORAGE CONNECTION STRING>",
"containerName": "<YOUR BLOB CONTAINER NAME>",
"folderPath": null,
"isADLSGen2": false,
"ingestionParameters": {
"identity": null,
"disableImageVerbalization": null,
"chatCompletionModel": { TRIMMED FOR BREVITY },
"embeddingModel": { TRIMMED FOR BREVITY },
"contentExtractionMode": "minimal",
"ingestionSchedule": null,
"ingestionPermissionOptions": []
}
}
}
Quellspezifische Eigenschaften
Sie können die folgenden Eigenschaften übergeben, um eine BLOB-Wissensquelle zu erstellen.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
name |
Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss, und befolgen Sie die Benennungsrichtlinien für Objekte in Azure AI Search. | String | Nein | Yes |
kind |
Die Art der Wissensquelle, die in diesem Fall azureBlob ist. |
String | Nein | Yes |
description |
Eine Beschreibung der Wissensquelle. | String | Yes | Nein |
encryptionKey |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. | Object | Yes | Nein |
azureBlobParameters |
Spezifische Parameter für Blob-Wissensquellen: connectionString, containerName, , folderPathund isADLSGen2. |
Object | Nein | |
connectionString |
Eine schlüsselbasierte Verbindungszeichenfolge oder, wenn Sie eine verwaltete Identität verwenden, die Ressourcen-ID. | String | Nein | Yes |
containerName |
Den Namen des Blobspeichercontainers | String | Nein | Yes |
folderPath |
Ein Ordner innerhalb des Containers. | String | Nein | Nein |
isADLSGen2 |
Der Standardwert lautet false. Legen Sie true fest, wenn Sie ein ADLS Gen2-Speicherkonto verwenden. |
Boolean | Nein | Nein |
ingestionParameters Eigenschaften
Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters Eigenschaften übergeben, um zu steuern, wie Inhalte aufgenommen und verarbeitet werden.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
identity |
Eine verwaltete Identität , die im generierten Indexer verwendet werden soll. | Object | Yes | Nein |
disableImageVerbalization |
Aktiviert oder deaktiviert die Verwendung der Bildverbalisation. Der Standardwert ist false, was die Bildverbaliserung aktiviert. Setzen Sie true auf, 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 wird in das generierte Skillset aufgenommen. Das Festlegen dieses Parameters erfordert auch, dass disableImageVerbalization auf false gesetzt wird. |
Object | 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-Fähigkeit wird in das generierte Skillset aufgenommen, und der Azure OpenAI-Vektorizer wird in den generierten Index aufgenommen. |
Object | Nur apiKey und deploymentId können bearbeitet werden |
Nein |
contentExtractionMode |
Steuert, wie Inhalte aus Dateien extrahiert werden. Der Standard ist minimal, das die Standardinhaltsextraktion für Text und Bilder verwendet. Wird auf standard gesetzt, um erweitertes Dokumentanalysieren und Segmentieren mithilfe der Azure Content Understanding-Fähigkeit zu nutzen, die in das generierte Skillset aufgenommen wird. Nur für standard können die Parameter aiServices und assetStore angegeben werden. |
String | Nein | Nein |
aiServices |
Eine Microsoft Foundry-Ressource für den Zugriff auf Azure Content Understanding in Foundry Tools. Das Festlegen dieses Parameters erfordert, dass contentExtractionMode auf standard gesetzt ist. |
Object | Nur apiKey bearbeitbar |
Yes |
assetStore |
Ein BLOB-Container zum Speichern extrahierter Bilder. Das Festlegen dieses Parameters erfordert, dass contentExtractionMode auf standard gesetzt ist. |
Object | Nein | Nein |
ingestionSchedule |
Fügt dem generierten Indexer Planungsinformationen hinzu. Sie können später auch einen Zeitplan hinzufügen , um die Datenaktualisierung zu automatisieren. | Object | Yes | Nein |
ingestionPermissionOptions |
Die Berechtigungen auf Dokumentebene, um aus ausgewählten Wissensquellen Daten zu extrahieren: entweder ADLS Gen2 oder indiziertes SharePoint. Wenn Sie userIds, groupIds oder rbacScope angeben, sind im generierten ADLS Gen2-Indexer oder SharePoint-Indexer die aufgenommenen Berechtigungen enthalten. |
Array | Nein | Nein |
Überprüfen des Erfassungsstatus
Verwenden Sie Wissensquellen - Status (REST API), um den Fortschritt der Datenaufnahme und die Gesundheit zu überwachen, einschließlich des Indexerstatus für Wissensquellen, die eine Indexer-Pipeline generieren und einen Suchindex füllen.
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
Eine Antwort für eine Anforderung, die Aufnahmeparameter enthält und aktiv Inhalte erfasst, kann wie im folgenden Beispiel aussehen.
{
"synchronizationStatus": "active", // creating, active, deleting
"synchronizationInterval" : "1d", // null if no schedule
"currentSynchronizationState" : { // spans multiple indexer "runs"
"startTime": "2025-10-27T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"lastSynchronizationState" : { // null on first sync
"startTime": "2025-10-27T19:30:00Z",
"endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"statistics": { // null on first sync
"totalSynchronization": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization" : 500
}
}
Überprüfen der erstellten Objekte
Wenn Sie eine Blob-Wissensquelle erstellen, erstellt Ihr Suchdienst auch einen Indexer, einen Index, ein Skillset und eine Datenquelle. Es wird nicht empfohlen, diese Objekte zu bearbeiten, da ein Fehler oder eine Inkompatibilität die Pipeline unterbrechen kann.
Nachdem Sie eine Wissensquelle erstellt haben, werden in der Antwort die erstellten Objekte aufgelistet. Diese Objekte werden gemäß einer festen Vorlage erstellt, und ihre Namen basieren auf dem Namen der Wissensquelle. Sie können die Objektnamen nicht ändern.
Wir empfehlen die Verwendung des Azure-Portals zur Überprüfung der Ausgabeerstellung. Der Workflow lautet:
- Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.
- Überprüfen Sie den Index auf durchsuchbare Inhalte. Verwenden Sie den Such-Explorer, um Abfragen auszuführen.
- Überprüfen Sie die Kompetenzen, um zu erfahren, wie Ihre Inhalte aufgeteilt und optional vektorisiert werden.
- Überprüfen Sie die Datenquelle auf Verbindungsdetails. Unser Beispiel verwendet API-Schlüssel aus Gründen der Einfachheit, Aber Sie können Microsoft Entra-ID für die Authentifizierung und rollenbasierte Zugriffssteuerung für die Autorisierung verwenden.
Zuweisen zu einer Wissensbasis
Wenn Sie mit der Wissensquelle zufrieden sind, fahren Sie mit dem nächsten Schritt fort: Geben Sie die Wissensquelle in einer Wissensbasis an.
Nachdem die Knowledge Base konfiguriert wurde, verwenden Sie die Abrufaktion , um die Wissensquelle abzufragen.
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:
Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}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" } ] }Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}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" } }Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie die Wissensbasis , indem Sie die Wissensquelle entfernen, wenn Sie über mehrere Quellen verfügen. In diesem Beispiel wird das Löschen gezeigt.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Löschen Sie die Wissensquelle.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}