Freigeben über


Erstellen einer indizierten SharePoint-Wissensquelle

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 indizierte SharePoint-Wissensquelle , um SharePoint-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.

Wenn Sie eine indizierte SharePoint-Wissensquelle erstellen, geben Sie eine SharePoint-Verbindungszeichenfolge, -Modelle und -Eigenschaften an, um automatisch die folgenden Azure AI Search-Objekte zu generieren:

  • Eine Datenquelle, die auf SharePoint-Websites verweist.
  • Ein Fähigkeitenset, das multimodale Inhalte in Abschnitte 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.

Voraussetzungen

Ü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 indizierte SharePoint-Wissensquelle.

{
  "name": "my-indexed-sharepoint-ks",
  "kind": "indexedSharePoint",
  "description": "A sample indexed SharePoint knowledge source",
  "encryptionKey": null,
  "indexedSharePointParameters": {
    "connectionString": "<redacted>",
    "containerName": "defaultSiteLibrary",
    "query": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "minimal",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<redacted>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<redacted>",
          "modelName": "text-embedding-3-large",
          "authIdentity": null
        }
      },
      "chatCompletionModel": null,
      "ingestionSchedule": null,
      "assetStore": null,
      "aiServices": null
    },
    "createdResources": {
      "datasource": "my-indexed-sharepoint-ks-datasource",
      "indexer": "my-indexed-sharepoint-ks-indexer",
      "skillset": "my-indexed-sharepoint-ks-skillset",
      "index": "my-indexed-sharepoint-ks-index"
    }
  },
  "indexedOneLakeParameters": null
}

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 indizierte SharePoint-Wissensquelle zu erstellen.

// Create an IndexedSharePoint 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 sharePointParams = new IndexedSharePointKnowledgeSourceParameters(
    connectionString: sharePointConnectionString,
    containerName: "defaultSiteLibrary")
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedSharePointKnowledgeSource(
    name: "my-indexed-sharepoint-ks",
    indexedSharePointParameters: sharePointParams)
{
    Description = "A sample indexed SharePoint knowledge source."
};

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

Quellenspezifische Eigenschaften

Sie können die folgenden Eigenschaften übergeben, um eine indizierte SharePoint-Wissensquelle zu erstellen.

Name Description Typ Bearbeitbar Erforderlich
Name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein und den Benennungsrichtlinien für Objekte in Azure KI-Suche entsprechen muss. String Nein Yes
Description Eine Beschreibung der Wissensquelle. String Yes Nein
EncryptionKey Ein kundenseitig verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. Object Yes Nein
IndexedSharePointKnowledgeSourceParameters Spezifische Parameter für indizierte SharePoint-Wissensquellen: connectionString, , containerNameund query. Object Nein Nein
connectionString Die Verbindungszeichenfolge zu einer SharePoint-Website. Weitere Informationen finden Sie unter Verbindungszeichenfolgensyntax. String Yes Yes
containerName Die SharePoint-Bibliothek für den Zugriff. Verwenden Sie defaultSiteLibrary, um Inhalte aus der Standardbibliothek der Dokumente der Webseite zu indizieren oder allSiteLibraries, um Inhalte aus jeder Dokumentbibliothek der Webseite zu indizieren. Für den Moment ignorieren useQuery. String Nein Yes
query Optionale Abfrage zum Filtern von SharePoint-Inhalten. String Yes Nein

ingestion_parameters-Eigenschaften

Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters-Eigenschaften übergeben, um zu steuern, wie Inhalte erfasst 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 Bildverbalisierung. Der Standardwert lautet False und aktiviert die Bildverbalisierung. Legen Sie diese Einstellung auf True fest, um die Bildverbalisierung zu deaktivieren. Boolean Nein Nein
ChatCompletionModel Ein Chatvervollständigungsmodell, das Bilder verbalisiert oder Inhalte extrahiert. Unterstützt werden die Modelle gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini und gpt-5-nano. Die GenAI Prompt-Fähigkeit wird in das generierte Skillset eingeschlossen. Zum Festlegen dieses Parameters muss zudem disable_image_verbalization auf False festgelegt werden. Object Nur api_key und deployment_name sind bearbeitbar Nein
EmbeddingModel Ein Texteinbettungsmodell, das Text- und Bildinhalte während der Indizierung und zur Abfragezeit vektorisiert. Unterstützt werden die Modelle text-embedding-ada-002, text-embedding-3-small und text-embedding-3-large. Die Azure OpenAI-Einbettungsfähigkeit wird in das generierte Skillset aufgenommen, und der Azure OpenAI Vectorizer wird in den generierten Index aufgenommen. Object Nur api_key und deployment_name sind bearbeitbar Nein
ContentExtractionMode Steuert, wie Inhalte aus Dateien extrahiert werden. Die Standardeinstellung ist minimal, wobei die Standardinhaltsextraktion für Text und Bilder verwendet wird. Wird für erweiterte Dokumententschlüsselung und -segmentierung auf standard festgelegt, indem Sie die Skill Azure Content Understanding verwenden, die in das generierte Skillset aufgenommen wird. Lediglich 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. Zur Festlegung dieses Parameters ist erforderlich, dass ContentExtractionMode auf standard festgelegt wird. Object Nur api_key ist 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 für das Erfassen aus ausgewählten Wissensquellen: entweder ADLS Gen2 oder indiziertes SharePoint. Wenn Sie user_ids, group_ids oder rbac_scope angeben, sind die erfassten Berechtigungen im generierten ADLS Gen2-Indexer oderSharePoint-Indexer 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 Datenerfassungsparameter enthält und Inhalte aktiv 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 indizierte SharePoint-Wissensquelle erstellen, erstellt Ihr Suchdienst auch einen Indexer, einen Index, ein Skillset und eine Datenquelle. Es wird empfohlen, diese Objekte nicht zu bearbeiten, da ein Fehler oder eine Inkompatibilität die Pipeline beschädigen 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:

  1. Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.
  2. Überprüfen Sie den Index auf durchsuchbare Inhalte. Verwenden Sie den Such-Explorer, um Abfragen auszuführen.
  3. Überprüfen Sie die Kompetenzen, um zu erfahren, wie Ihre Inhalte aufgeteilt und optional vektorisiert werden.
  4. Überprüfen Sie die Datenquelle auf Verbindungsdetails. In unserem Beispiel werden der Einfachheit halber API-Schlüssel verwendet, aber Sie können Microsoft Entra ID für die Authentifizierung und die 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.

Achten Sie bei allen Wissensdatenbanken, die eine indizierte SharePoint-Wissensquelle angeben, unbedingt darauf, includeReferenceSourceData auf true zu setzen. Dieser Schritt ist erforderlich, damit die Quelldokument-URL in das Zitat eingefügt werden kann.

Nachdem die Wissensdatenbank 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:

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

    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-base
    
  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);
    

    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 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.");
    
  4. 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 indizierte SharePoint-Wissensquelle , um SharePoint-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.

Wenn Sie eine indizierte SharePoint-Wissensquelle erstellen, geben Sie eine SharePoint-Verbindungszeichenfolge, -Modelle und -Eigenschaften an, um automatisch die folgenden Azure AI Search-Objekte zu generieren:

  • Eine Datenquelle, die auf SharePoint-Websites verweist.
  • Ein Fähigkeitenset, das multimodale Inhalte in Abschnitte 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.

Voraussetzungen

Ü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 indizierte SharePoint-Wissensquelle.

{
  "name": "my-indexed-sharepoint-ks",
  "kind": "indexedSharePoint",
  "description": "A sample indexed SharePoint knowledge source",
  "encryptionKey": null,
  "indexedSharePointParameters": {
    "connectionString": "<redacted>",
    "containerName": "defaultSiteLibrary",
    "query": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "minimal",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<redacted>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<redacted>",
          "modelName": "text-embedding-3-large",
          "authIdentity": null
        }
      },
      "chatCompletionModel": null,
      "ingestionSchedule": null,
      "assetStore": null,
      "aiServices": null
    },
    "createdResources": {
      "datasource": "my-indexed-sharepoint-ks-datasource",
      "indexer": "my-indexed-sharepoint-ks-indexer",
      "skillset": "my-indexed-sharepoint-ks-skillset",
      "index": "my-indexed-sharepoint-ks-index"
    }
  },
  "indexedOneLakeParameters": null
}

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 indizierte SharePoint-Wissensquelle zu erstellen.

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

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

knowledge_source = IndexedSharePointKnowledgeSource(
    name = "my-indexed-sharepoint-ks",
    description = "A sample indexed SharePoint knowledge source.",
    encryption_key = None,
    indexed_share_point_parameters = IndexedSharePointKnowledgeSourceParameters(
        connection_string = "connection_string",
        container_name = "defaultSiteLibrary",
        query = None,
        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.")

Quellenspezifische Eigenschaften

Sie können die folgenden Eigenschaften übergeben, um eine indizierte SharePoint-Wissensquelle zu erstellen.

Name Description Typ Bearbeitbar Erforderlich
name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein und den Benennungsrichtlinien für Objekte in Azure KI-Suche entsprechen muss. String Nein Yes
description Eine Beschreibung der Wissensquelle. String Yes Nein
encryption_key Ein kundenseitig verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. Object Yes Nein
indexed_share_point_parameters Spezifische Parameter für indizierte SharePoint-Wissensquellen: connection_string, , container_nameund query. Object Nein Nein
connection_string Die Verbindungszeichenfolge zu einer SharePoint-Website. Weitere Informationen finden Sie unter Verbindungszeichenfolgensyntax. String Yes Yes
container_name Die SharePoint-Bibliothek für den Zugriff. Verwenden Sie defaultSiteLibrary, um Inhalte aus der Standardbibliothek der Dokumente der Webseite zu indizieren oder allSiteLibraries, um Inhalte aus jeder Dokumentbibliothek der Webseite zu indizieren. Für den Moment ignorieren useQuery. String Nein Yes
query Optionale Abfrage zum Filtern von SharePoint-Inhalten. String Yes Nein

ingestion_parameters-Eigenschaften

Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters-Eigenschaften übergeben, um zu steuern, wie Inhalte erfasst 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 Bildverbalisierung. Der Standardwert lautet False und aktiviert die Bildverbalisierung. Legen Sie diese Einstellung auf True fest, um die Bildverbalisierung zu deaktivieren. Boolean Nein Nein
chat_completion_model Ein Chatvervollständigungsmodell, das Bilder verbalisiert oder Inhalte extrahiert. Unterstützt werden die Modelle gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini und gpt-5-nano. Die GenAI Prompt-Fähigkeit wird in das generierte Skillset eingeschlossen. Zum Festlegen dieses Parameters muss zudem disable_image_verbalization auf False festgelegt werden. Object Nur api_key und deployment_name sind bearbeitbar Nein
embedding_model Ein Texteinbettungsmodell, das Text- und Bildinhalte während der Indizierung und zur Abfragezeit vektorisiert. Unterstützt werden die Modelle text-embedding-ada-002, text-embedding-3-small und text-embedding-3-large. Die Azure OpenAI-Einbettungsfähigkeit wird in das generierte Skillset aufgenommen, und der Azure OpenAI Vectorizer wird in den generierten Index aufgenommen. Object Nur api_key und deployment_name sind bearbeitbar Nein
content_extraction_mode Steuert, wie Inhalte aus Dateien extrahiert werden. Die Standardeinstellung ist minimal, wobei die Standardinhaltsextraktion für Text und Bilder verwendet wird. Wird für erweiterte Dokumententschlüsselung und -segmentierung auf standard festgelegt, indem Sie die Skill Azure Content Understanding verwenden, die in das generierte Skillset aufgenommen wird. Lediglich 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. Zur Festlegung dieses Parameters ist erforderlich, dass content_extraction_mode auf standard festgelegt wird. Object Nur api_key ist bearbeitbar Yes
asset_store Ein BLOB-Container zum Speichern extrahierter Bilder. Zur Festlegung dieses Parameters ist erforderlich, dass content_extraction_mode auf standard festgelegt wird. 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 für das Erfassen aus ausgewählten Wissensquellen: entweder ADLS Gen2 oder indiziertes SharePoint. Wenn Sie user_ids, group_ids oder rbac_scope angeben, sind die erfassten Berechtigungen im generierten ADLS Gen2-Indexer oderSharePoint-Indexer 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 Datenerfassungsparameter enthält und Inhalte aktiv 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 indizierte SharePoint-Wissensquelle erstellen, erstellt Ihr Suchdienst auch einen Indexer, einen Index, ein Skillset und eine Datenquelle. Es wird empfohlen, diese Objekte nicht zu bearbeiten, da ein Fehler oder eine Inkompatibilität die Pipeline beschädigen 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:

  1. Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.
  2. Überprüfen Sie den Index auf durchsuchbare Inhalte. Verwenden Sie den Such-Explorer, um Abfragen auszuführen.
  3. Überprüfen Sie die Kompetenzen, um zu erfahren, wie Ihre Inhalte aufgeteilt und optional vektorisiert werden.
  4. Überprüfen Sie die Datenquelle auf Verbindungsdetails. In unserem Beispiel werden der Einfachheit halber API-Schlüssel verwendet, aber Sie können Microsoft Entra ID für die Authentifizierung und die 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.

Achten Sie bei allen Wissensdatenbanken, die eine indizierte SharePoint-Wissensquelle angeben, unbedingt darauf, includeReferenceSourceData auf true zu setzen. Dieser Schritt ist erforderlich, damit die Quelldokument-URL in das Zitat eingefügt werden kann.

Nachdem die Wissensdatenbank 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:

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

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

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 indizierte SharePoint-Wissensquelle , um SharePoint-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.

Wenn Sie eine indizierte SharePoint-Wissensquelle erstellen, geben Sie eine SharePoint-Verbindungszeichenfolge, -Modelle und -Eigenschaften an, um automatisch die folgenden Azure AI Search-Objekte zu generieren:

  • Eine Datenquelle, die auf SharePoint-Websites verweist.
  • Ein Fähigkeitenset, das multimodale Inhalte in Abschnitte 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.

Voraussetzungen

Ü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 indizierte SharePoint-Wissensquelle.

{
  "name": "my-indexed-sharepoint-ks",
  "kind": "indexedSharePoint",
  "description": "A sample indexed SharePoint knowledge source",
  "encryptionKey": null,
  "indexedSharePointParameters": {
    "connectionString": "<redacted>",
    "containerName": "defaultSiteLibrary",
    "query": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "minimal",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<redacted>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<redacted>",
          "modelName": "text-embedding-3-large",
          "authIdentity": null
        }
      },
      "chatCompletionModel": null,
      "ingestionSchedule": null,
      "assetStore": null,
      "aiServices": null
    },
    "createdResources": {
      "datasource": "my-indexed-sharepoint-ks-datasource",
      "indexer": "my-indexed-sharepoint-ks-indexer",
      "skillset": "my-indexed-sharepoint-ks-skillset",
      "index": "my-indexed-sharepoint-ks-index"
    }
  },
  "indexedOneLakeParameters": null
}

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 indizierte SharePoint-Wissensquelle zu erstellen.

POST {{search-url}}/knowledgesources/my-indexed-sharepoint-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json

{
    "name": "my-indexed-sharepoint-ks",
    "kind": "indexedSharePoint",
    "description": "A sample indexed SharePoint knowledge source.",
    "encryptionKey": null,
    "indexedSharePointParameters": {
        "connectionString": "{{sharepoint-connection-string}}",
        "containerName": "defaultSiteLibrary",
        "query": null,
        "ingestionParameters": {
            "identity": null,
            "embeddingModel": {
                "kind": "azureOpenAI",
                "azureOpenAIParameters": {
                    "deploymentId": "text-embedding-3-large",
                    "modelName": "text-embedding-3-large",
                    "resourceUri": "{{aoai-endpoint}}",
                    "apiKey": "{{aoai-key}}"
                }
            },
            "chatCompletionModel": null,
            "disableImageVerbalization": false,
            "ingestionSchedule": null,
            "ingestionPermissionOptions": [],
            "contentExtractionMode": "minimal"
        }
    }
}

Quellenspezifische Eigenschaften

Sie können die folgenden Eigenschaften übergeben, um eine indizierte SharePoint-Wissensquelle zu erstellen.

Name Description Typ Bearbeitbar Erforderlich
name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein und den Benennungsrichtlinien für Objekte in Azure KI-Suche entsprechen muss. String Nein Yes
kind Die Art der Wissensquelle, in diesem Fall ist dies indexedSharePoint. String Nein Yes
description Eine Beschreibung der Wissensquelle. String Yes Nein
encryptionKey Ein kundenseitig verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen sowohl in der Wissensquelle als auch in den generierten Objekten. Object Yes Nein
indexedSharePointParameters Spezifische Parameter für indizierte SharePoint-Wissensquellen: connectionString, , containerNameund query. Object Nein Yes
connectionString Die Verbindungszeichenfolge zu einer SharePoint-Website. Weitere Informationen finden Sie unter Verbindungszeichenfolgensyntax. String Yes Nein
container_name Die SharePoint-Bibliothek für den Zugriff. Verwenden Sie defaultSiteLibrary, um Inhalte aus der Standardbibliothek der Dokumente der Webseite zu indizieren oder allSiteLibraries, um Inhalte aus jeder Dokumentbibliothek der Webseite zu indizieren. Für den Moment ignorieren useQuery. String Nein Yes
query Optionale Abfrage zum Filtern von SharePoint-Inhalten. String Yes Nein

ingestionParameters-Eigenschaften

Nur für indizierte Wissensquellen können Sie die folgenden ingestionParameters-Eigenschaften übergeben, um zu steuern, wie Inhalte erfasst 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 Bildverbalisierung. Der Standardwert lautet false und aktiviert die Bildverbalisierung. Legen Sie diese Einstellung auf true fest, um die Bildverbalisierung zu deaktivieren. Boolean Nein Nein
chatCompletionModel Ein Chatvervollständigungsmodell, das Bilder verbalisiert oder Inhalte extrahiert. Unterstützt werden die Modelle gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini und gpt-5-nano. Die GenAI Prompt-Fähigkeit wird in das generierte Skillset eingeschlossen. Zum Festlegen dieses Parameters muss zudem disableImageVerbalization auf false festgelegt werden. Object Nur apiKey und deploymentId sind bearbeitbar Nein
embeddingModel Ein Texteinbettungsmodell, das Text- und Bildinhalte während der Indizierung und zur Abfragezeit vektorisiert. Unterstützt werden die Modelle text-embedding-ada-002, text-embedding-3-small und text-embedding-3-large. Die Azure OpenAI-Einbettungsfähigkeit wird in das generierte Skillset aufgenommen, und der Azure OpenAI Vectorizer wird in den generierten Index aufgenommen. Object Nur apiKey und deploymentId sind bearbeitbar Nein
contentExtractionMode Steuert, wie Inhalte aus Dateien extrahiert werden. Die Standardeinstellung ist minimal, wobei die Standardinhaltsextraktion für Text und Bilder verwendet wird. Wird für erweiterte Dokumententschlüsselung und -segmentierung auf standard festgelegt, indem Sie die Skill Azure Content Understanding verwenden, die in das generierte Skillset aufgenommen wird. Lediglich 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. Zur Festlegung dieses Parameters ist erforderlich, dass contentExtractionMode auf standard festgelegt wird. Object Nur apiKey ist bearbeitbar Yes
assetStore Ein BLOB-Container zum Speichern extrahierter Bilder. Zur Festlegung dieses Parameters ist erforderlich, dass contentExtractionMode auf standard festgelegt wird. 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 für das Erfassen aus ausgewählten Wissensquellen: entweder ADLS Gen2 oder indiziertes SharePoint. Wenn Sie userIds, groupIds oder rbacScope angeben, sind die erfassten Berechtigungen im generierten ADLS Gen2-Indexer oderSharePoint-Indexer enthalten. Array Nein Nein

Überprüfen des Erfassungsstatus

Verwenden Sie Wissensquellen – REST-API (Status), um den Status und die Integrität der Datenerfassung zu überwachen, einschließlich des Indexerstatus für Wissensquellen, die eine Indexerpipeline generieren und einen Suchindex auffü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 Datenerfassungsparameter enthält und Inhalte aktiv 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 indizierte SharePoint-Wissensquelle erstellen, erstellt Ihr Suchdienst auch einen Indexer, einen Index, ein Skillset und eine Datenquelle. Es wird empfohlen, diese Objekte nicht zu bearbeiten, da ein Fehler oder eine Inkompatibilität die Pipeline beschädigen 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:

  1. Überprüfen Sie den Indexer auf Erfolgs- oder Fehlermeldungen. Hier werden Verbindungs- oder Kontingentfehler angezeigt.
  2. Überprüfen Sie den Index auf durchsuchbare Inhalte. Verwenden Sie den Such-Explorer, um Abfragen auszuführen.
  3. Überprüfen Sie die Kompetenzen, um zu erfahren, wie Ihre Inhalte aufgeteilt und optional vektorisiert werden.
  4. Überprüfen Sie die Datenquelle auf Verbindungsdetails. In unserem Beispiel werden der Einfachheit halber API-Schlüssel verwendet, aber Sie können Microsoft Entra ID für die Authentifizierung und die 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.

Achten Sie bei allen Wissensdatenbanken, die eine indizierte SharePoint-Wissensquelle angeben, unbedingt darauf, includeReferenceSourceData auf true zu setzen. Dieser Schritt ist erforderlich, damit die Quelldokument-URL in das Zitat eingefügt werden kann.

Nachdem die Wissensdatenbank 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:

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

    ### 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"
         }
         ]
     }
    
  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"
       }
     }
    
  3. Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie die Wissensdatenbank, 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}}
    
  4. 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}}