Erstellen einer Remote-SharePoint Wissensquelle (Vorschau)

Hinweis

Einige agentische Abruffeatures sind in der Regel in der REST-API 2026-04-01 verfügbar. Dieses Feature bleibt jedoch in der Vorschau und erfordert eine Vorschau-REST-API. Vorschaufunktionen werden ohne Service-Level-Agreement bereitgestellt und sind für produktive Arbeitslasten nicht empfohlen. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.

Important

Diese Features und Funktionen sind Teil der REST-API 2026-05-01-Preview. Die 2026-05-01-preview wird Ihnen als Teil Ihres Azure-Abonnements zur Verfügung gestellt und unterliegt den für „Previews“ geltenden Bestimmungen in den Microsoft-Produktbestimmungen, dem Nachtrag zum Datenschutz für Microsoft-Produkte und -Dienste („DPA“) und den Ergänzenden Nutzungsbedingungen für Microsoft Azure-Vorschauen.

Die Vorschauversion 2026-05-01 unterstützt Verbindungen mit anderen Microsoft-Diensten und Diensten von Drittanbietern. Die Nutzung dieser Dienste unterliegt den jeweiligen Bestimmungen und kann dazu führen, dass Daten außerhalb der Azure-Compliancegrenze verarbeitet oder gespeichert werden und dass Daten in die Azure-Compliancegrenze fließen.

Es liegt in Ihrer Verantwortung, zu verwalten, ob Ihre Daten außerhalb der Compliance- und geografischen Grenzen Ihrer Organisation und alle damit verbundenen Auswirkungen fließen und dass entsprechende Berechtigungen, Grenzen und Genehmigungen bereitgestellt werden.

Sie sind dafür verantwortlich, Anwendungen, die Sie im Kontext Ihrer spezifischen Anwendungsfälle erstellen, sorgfältig zu überprüfen und zu testen und alle geeigneten Entscheidungen und Anpassungen zu treffen. Dazu gehört die Implementierung ihrer eigenen verantwortungsvollen KI-Entschärfungen, wie Metaprompts, Inhaltsfilter oder andere Sicherheitssysteme, und sicherzustellen, dass Ihre Anwendungen angemessene Qualität, Zuverlässigkeit, Sicherheit und Vertrauenswürdigkeitsstandards erfüllen. Weitere Informationen finden Sie im Azure KI-Suche Transparenzhinweis.

Eine Remote-SharePoint-Wissensquelle (Vorschau) verwendet die Copilot Retrieval-API (Vorschau), um Textinhalte direkt aus SharePoint in Microsoft 365 abzufragen. Wissensquellen werden unabhängig erstellt, in einer Wissensbasis referenziert und als Erdungsdaten verwendet, wenn die Wissensbasis zur Laufzeit abgefragt wird.

Wenn Sie Websites einschränken oder die Suche einschränken möchten, legen Sie einen Filterausdruck auf den Bereich nach URLs, Datumsbereichen, Dateitypen und anderen Metadaten fest. Die Identität des Aufrufers muss sowohl vom Azure Mandanten als auch vom Microsoft 365 Mandanten erkannt werden, da das Abrufmodul im Auftrag des Benutzers SharePoint abfragt.

Im Gegensatz zu indizierten Wissensquellen fragen Remote-SharePoint-Wissensquellen Live-Daten direkt zum Zeitpunkt des Abrufs ab. Es ist kein Suchindex oder Verbindungszeichenfolge erforderlich, und die Nutzung wird über Microsoft 365 und eine Copilot Lizenz in Rechnung gestellt.

Verwendungsunterstützung

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

Voraussetzungen

  • Einen Azure KI-Suche Dienst in einer beliebigen Region, der agentischen Abruf bereitstellt.

  • SharePoint in einem Microsoft 365-Mandanten, der denselben Microsoft Entra ID-Mandanten wie Azure nutzt.

  • Eine Microsoft 365 Copilot-Lizenz für den Abfragezeitzugriff auf SharePoint Inhalte.

  • Berechtigungen zum Erstellen von Wissensquellen. Konfigurieren Sie die schlüssellose Authentifizierung mit der Rolle "Mitwirkender des Suchdiensts ", die Ihrem Benutzerkonto zugewiesen ist (empfohlen), oder verwenden Sie einen API-Schlüssel.

Einschränkungen und Überlegungen

Die folgenden Einschränkungen und Überlegungen in der Copilot-Abruf-API gelten für Remote-SharePoint Wissensquellen.

  • Es gibt keine Unterstützung für Copilot Connectors oder OneDrive Inhalte. Inhalte werden nur von SharePoint Websites abgerufen.

  • Grenzwert von 200 Anforderungen pro Benutzer pro Stunde.

  • Abfragezeichenbeschränkung von 1.500 Zeichen.

  • Hybridabfragen werden nur für die folgenden Dateierweiterungen unterstützt: .doc, , .docx, .pptx, , .pdfund .aspx.one.

  • Der multimodale Abruf (nichttextueller Inhalt, einschließlich Tabellen, Bildern und Diagrammen) wird nicht unterstützt.

  • Maximal 25 Ergebnisse aus einer Abfrage.

  • Ergebnisse werden von der Copilot Abruf-API als ungeordnet zurückgegeben.

  • Ungültige KQL-Filterausdrücke (Keyword Query Language) werden ignoriert, und die Abfrage wird ohne den Filter weiterhin ausgeführt.

Überprüfen auf vorhandene Wissensquellen

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

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

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

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

Console.WriteLine("Knowledge Sources:");

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

Reference:SearchIndexClient

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

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

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

Reference:SearchIndexClient

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

Referenz:Wissensquellen - Liste

Sie können auch eine einzelne Wissensquelle anhand des Namens zurückgeben, um die JSON-Definition zu überprüfen.

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

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

// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";

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

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

Reference:SearchIndexClient

# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json

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

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

Reference:SearchIndexClient

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

Referenz:Wissensquellen - Abrufen

Der folgende JSON-Code ist eine Beispielantwort für eine Remote-SharePoint Wissensquelle.

{
  "name": "my-sharepoint-ks",
  "kind": "remoteSharePoint",
  "description": "A sample remote SharePoint knowledge source",
  "encryptionKey": null,
  "remoteSharePointParameters": {
    "filterExpression": "filetype:docx",
    "containerTypeId": null,
    "resourceMetadata": [
      "Author",
      "Title"
    ]
  }
}

Erstellen einer Wissensquelle

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

// Create a remote SharePoint 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), credential);

var knowledgeSource = new RemoteSharePointKnowledgeSource(name: "my-remote-sharepoint-ks")
{
    Description = "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    RemoteSharePointParameters = new RemoteSharePointKnowledgeSourceParameters()
    {
        FilterExpression = "filetype:docx",
        ResourceMetadata = { "Author", "Title" }
    }
};

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

Reference:SearchIndexClient, RemoteSharePointKnowledgeSource

# Create a remote SharePoint knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters

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

knowledge_source = RemoteSharePointKnowledgeSource(
    name = "my-remote-sharepoint-ks",
    description= "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    encryption_key = None,
    remote_share_point_parameters = RemoteSharePointKnowledgeSourceParameters(
        filter_expression = "filetype:docx",
        resource_metadata = ["Author", "Title"],
        container_type_id = None
    )
)

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

Reference:SearchIndexClient

### Create a remote SharePoint knowledge source
PUT {{search-url}}/knowledgesources/my-remote-sharepoint-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json

{
    "name": "my-remote-sharepoint-ks",
    "kind": "remoteSharePoint",
    "description": "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    "encryptionKey": null,
    "remoteSharePointParameters": {
        "filterExpression": "filetype:docx",
        "resourceMetadata": [ "Author", "Title" ],
        "containerTypeId": null
    }
}

Referenz:Wissensquellen – Erstellen oder Aktualisieren

Quellspezifische Eigenschaften

Die folgenden Eigenschaften gelten für Remote-SharePoint Wissensquellen.

Namen Beschreibung Typ Bearbeitbar Erforderlich
Name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. Schnur Nein Ja
Description Eine Beschreibung der Wissensquelle. Schnur Ja Nein
EncryptionKey Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen in der Wissensquelle. Objekt Ja Nein
RemoteSharePointParameters Spezifische Parameter für Remote-SharePoint Wissensquellen: FilterExpression, ResourceMetadata und ContainerTypeId. Objekt Nein Nein
FilterExpression Ein in der SharePoint KQL geschriebener Ausdruck, der zum Angeben von Websites und Pfaden zu Inhalten verwendet wird. Schnur Ja Nein
ResourceMetadata Ein Array von Standardmetadatenfeldern: Autor, Dateiname, Erstellungsdatum, Inhaltstyp und Dateityp. Array Ja Nein
ContainerTypeId Container-ID für die SharePoint-Embedded-Verbindung. Wenn nicht angegeben, wird SharePoint Online verwendet. Schnur Ja Nein
Namen Beschreibung Typ Bearbeitbar Erforderlich
name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. Schnur Nein Ja
description Eine Beschreibung der Wissensquelle. Schnur Ja Nein
encryption_key Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen in der Wissensquelle. Objekt Ja Nein
remote_share_point_parameters Spezifische Parameter für Remote-SharePoint Wissensquellen: filter_expression, resource_metadata und container_type_id. Objekt Nein Nein
filter_expression Ein in der SharePoint KQL geschriebener Ausdruck, der zum Angeben von Websites und Pfaden zu Inhalten verwendet wird. Schnur Ja Nein
resource_metadata Ein Array von Standardmetadatenfeldern: Autor, Dateiname, Erstellungsdatum, Inhaltstyp und Dateityp. Array Ja Nein
container_type_id Container-ID für die SharePoint-Embedded-Verbindung. Wenn nicht angegeben, wird SharePoint Online verwendet. Schnur Ja Nein
Namen Beschreibung Typ Bearbeitbar Erforderlich
name Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. Schnur Nein Ja
kind Die Art der Wissensquelle, die in diesem Fall remoteSharePoint ist. Schnur Nein Ja
description Eine Beschreibung der Wissensquelle. Schnur Ja Nein
encryptionKey Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen in der Wissensquelle. Objekt Ja Nein
remoteSharePointParameters Spezifische Parameter für Remote-SharePoint Wissensquellen: filterExpression, resourceMetadata und containerTypeId. Objekt Nein Nein
filterExpression Ein in der SharePoint KQL geschriebener Ausdruck, der zum Angeben von Websites und Pfaden zu Inhalten verwendet wird. Schnur Ja Nein
resourceMetadata Ein Array von Standardmetadatenfeldern: Autor, Dateiname, Erstellungsdatum, Inhaltstyp und Dateityp. Array Ja Nein
containerTypeId Container-ID für die SharePoint-Embedded-Verbindung. Wenn nicht angegeben, wird SharePoint Online verwendet. Schnur Ja Nein

Beispiele für Filterausdrücke

Nicht alle SharePoint Eigenschaften werden im filterExpression unterstützt. Eine Liste der unterstützten Eigenschaften finden Sie in der API-Referenz. Informationen zu abfragbaren Eigenschaften finden Sie unter "Queryable".

Weitere Informationen zu KQL-Filtern finden Sie in der Syntaxreferenz.

Beispiel Filterausdruck
Nach einer einzelnen Website mittels ID filtern "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\""
Nach ID auf mehrere Websites filtern "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\""
Filtern nach Dateien unter einem bestimmten Pfad "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\""
Filtern nach einem bestimmten Datumsbereich "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08"
Filtern nach Dateien eines bestimmten Dateityps "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\""
Filtern nach Dateien einer bestimmten Informationsschutzbezeichnung "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\""

Zuweisen zu einer Wissensbasis

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

Abfragen einer Wissensbasis

Nachdem die Wissensdatenbank konfiguriert wurde, rufen Sie die Abrufaktion oder den MCP-Endpunkt auf, um SharePoint-Inhalte abzufragen. Remote-SharePoint verfügt über quellspezifische Verhaltensweisen für abfragezeitfilterung, Abfrageformulierung, Antwortfelder und Erzwingung von Berechtigungen.

Wenden Sie einen KQL-Filter bei der Abfrage an.

Sie können eine FilterExpressionAddOn in der KnowledgeSourceParams zur Abrufanforderung übergeben, um zur Abfragezeit einen KQL-Filter anzuwenden. Wenn Sie FilterExpressionAddOn bei der Abrufanforderung und ein FilterExpression bei der Wissensquelldefinition angeben, werden die Filter mit UND verknüpft.

var retrievalRequest = new KnowledgeBaseRetrievalRequest();
retrievalRequest.Messages.Add(
    new KnowledgeBaseMessage(
        content: new[] {
            new KnowledgeBaseMessageTextContent("contoso product planning")
        }
    ) { Role = "user" }
);
retrievalRequest.KnowledgeSourceParams.Add(
    new RemoteSharePointKnowledgeSourceParams("my-remote-sharepoint-ks")
    {
        FilterExpressionAddOn = "filetype:docx"
    }
);

var result = await kbClient.RetrieveAsync(
    retrievalRequest, xMsQuerySourceAuthorization: token
);

Referenz:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

Sie können eine filter_expression_add_on in der knowledge_source_params zur Abrufanforderung übergeben, um zur Abfragezeit einen KQL-Filter anzuwenden. Wenn Sie filter_expression_add_on bei der Abrufanforderung und ein filter_expression bei der Wissensquelldefinition angeben, werden die Filter mit UND verknüpft.

from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseMessage,
    KnowledgeBaseMessageTextContent,
    KnowledgeBaseRetrievalRequest,
    RemoteSharePointKnowledgeSourceParams,
)

request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[
                KnowledgeBaseMessageTextContent(
                    text="contoso product planning"
                )
            ],
        )
    ],
    knowledge_source_params=[
        RemoteSharePointKnowledgeSourceParams(
            knowledge_source_name="my-remote-sharepoint-ks",
            filter_expression_add_on="filetype:docx",
        )
    ],
)

result = kb_client.retrieve(
    retrieval_request=request,
    x_ms_query_source_authorization=token,
)

Referenz:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

Sie können eine filterExpressionAddOn in der knowledgeSourceParams zur Abrufanforderung übergeben, um zur Abfragezeit einen KQL-Filter anzuwenden. Wenn Sie filterExpressionAddOn bei der Abrufanforderung und ein filterExpression bei der Wissensquelldefinition angeben, werden die Filter mit UND verknüpft.

### Retrieve knowledge base content
POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-05-01-preview
Authorization: Bearer {{accessToken}}
Content-Type: application/json
x-ms-query-source-authorization: {{user-access-token}}

{
    "messages": [
        {
            "role": "user",
            "content": [
                { "type": "text", "text": "contoso product planning" }
            ]
        }
    ],
    "knowledgeSourceParams": [
        {
            "knowledgeSourceName": "my-remote-sharepoint-ks",
            "kind": "remoteSharePoint",
            "filterExpressionAddOn": "filetype:docx"
        }
    ]
}

Reference:Knowledge Retrieval - Abrufen

Schreiben effektiver Abfragen

Abfragen, die sich mit dem Inhalt selbst befassen, sind effektiver als Fragen über den Speicherort einer Datei oder wann sie zuletzt aktualisiert wurde. Zum Beispiel könnte "Wo ist das Keynote-Dokument für Ignite 2024?" keine Ergebnisse liefern, weil der Inhalt selbst seinen Standort nicht offenlegt. Ein FilterExpression bei Metadaten ist ein besserer Ansatz für Ablageort- oder datumsspezifische Abfragen.

Abfragen, die sich mit dem Inhalt selbst befassen, sind effektiver als Fragen über den Speicherort einer Datei oder wann sie zuletzt aktualisiert wurde. Zum Beispiel könnte "Wo ist das Keynote-Dokument für Ignite 2024?" keine Ergebnisse liefern, weil der Inhalt selbst seinen Standort nicht offenlegt. Ein filter_expression bei Metadaten ist ein besserer Ansatz für Ablageort- oder datumsspezifische Abfragen.

Abfragen, die sich mit dem Inhalt selbst befassen, sind effektiver als Fragen über den Speicherort einer Datei oder wann sie zuletzt aktualisiert wurde. Zum Beispiel könnte "Wo ist das Keynote-Dokument für Ignite 2024?" keine Ergebnisse liefern, weil der Inhalt selbst seinen Standort nicht offenlegt. Ein filterExpression bei Metadaten ist ein besserer Ansatz für Ablageort- oder datumsspezifische Abfragen.

Eine effektivere Frage ist "Was ist das Keynote-Dokument für Ignite 2024". Die Antwort enthält die synthetisierte Antwort, Abfrageaktivität und Tokenanzahl sowie die URL und andere Metadaten.

SharePoint-spezifische Antwortfelder

Remote-SharePoint Ergebnisse umfassen Felder, die nicht für andere Wissensquellentypen angezeigt werden, z. B. resourceMetadata, webUrl und searchSensitivityLabelInfo.

{
    "resourceMetadata": {
        "Author": "Nuwan Amarathunga;Nurul Izzati",
        "Title": "Ignite 2024 Keynote Address"
    },
    "rerankerScore": 2.489522,
    "webUrl": "https://contoso-my.sharepoint.com/keynotes/Documents/Keynote-Ignite-2024.docx",
    "searchSensitivityLabelInfo": {
        "displayName": "Confidential\\Contoso Extended",
        "sensitivityLabelId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
        "tooltip": "Data is classified and protected.",
        "priority": 5,
        "color": "#FF8C00",
        "isEncrypted": true
    }
}

Erzwingen von Berechtigungen während der Abfrage

Remote-SharePoint-Wissensquellen können SharePoint-Berechtigungen während der Abfrage erzwingen. Um diese Filterung zu aktivieren, schließen Sie das Zugriffstoken des Endbenutzers in die Abrufanforderung ein. Das Abrufmodul übergibt das Token an die Copilot Abruf-API, die SharePoint abfragt und nur Inhalte zurückgibt, auf die der Benutzer Zugriff hat. SharePoint-Berechtigungen und Microsoft-Purview-Sensitivitätslabels werden berücksichtigt.

Da remote SharePoint keinen Suchindex verwendet, ist keine Konfiguration von Berechtigungen zur Erfassungszeit erforderlich. Das Zugriffstoken ist die einzige Anforderung.

Anweisungen zum Übergeben des Tokens finden Sie in Berechtigungen bei der Abfrage erzwingen (Vorschau).

Löschen einer Wissensquelle

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

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

So löschen Sie eine Wissensquelle:

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

    using Azure.Search.Documents.Indexes;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
    
    Console.WriteLine("Knowledge Bases:");
    
    await foreach (var kb in knowledgeBases)
    {
        Console.WriteLine($"  - {kb.Name}");
    }
    

    Reference:SearchIndexClient

    Eine Beispielantwort könnte wie folgt aussehen:

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

    using Azure.Search.Documents.Indexes;
    using System.Text.Json;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    // Specify the knowledge base name to retrieve
    string kbNameToGet = "earth-knowledge-base";
    
    // Get a specific knowledge base definition
    var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
    var kb = knowledgeBaseResponse.Value;
    
    // Serialize to JSON for display
    string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
    Console.WriteLine(json);
    

    Reference:SearchIndexClient

    Eine Beispielantwort könnte wie folgt aussehen:

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

    using Azure.Search.Documents.Indexes;
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
    System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
    

    Reference:SearchIndexClient

  4. Löschen Sie die Wissensquelle.

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

    Reference:SearchIndexClient

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

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

    Reference:SearchIndexClient

    Eine Beispielantwort könnte wie folgt aussehen:

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

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

    Reference:SearchIndexClient

    Eine Beispielantwort könnte wie folgt aussehen:

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

    # Delete a knowledge base
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_base("knowledge_base_name")
    print(f"Knowledge base deleted successfully.")
    

    Reference:SearchIndexClient

  4. Löschen Sie die Wissensquelle.

    # Delete a knowledge source
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_source("knowledge_source_name")
    print(f"Knowledge source deleted successfully.")
    

    Reference:SearchIndexClient

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

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

    Referenz:Wissensdatenbanken - Liste

    Eine Beispielantwort könnte wie folgt aussehen:

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

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

    Referenz:Wissensdatenbanken - Abrufen

    Eine Beispielantwort könnte wie folgt aussehen:

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

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

    Referenz:Knowledge Basen - Löschen

  4. Löschen Sie die Wissensquelle.

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

    Referenz:Wissensquellen - Löschen