Een externe SharePoint kennisbron maken (preview)

Opmerking

Azure AI Zoeken is beschikbaar via de Azure-portal, REST API's en Azure-SDK's. Het vormt ook een basis voor Foundry IQ, de beheerde kennislaag die bedrijfsinhoud transformeert in herbruikbare, machtigingsbewuste knowledge bases voor agents in de Microsoft Foundry-portal.

Important

Functies, mogelijkheden of eigenschappen die zijn gemarkeerd (preview) vallen niet onder een service level agreement, worden niet aanbevolen voor productieworkloads en kunnen worden gewijzigd of beperkt voordat ze algemeen beschikbaar worden. De Azure AI Zoeken preview-voorwaarden zijn van toepassing op alle preview-functionaliteit, ongeacht of deze zelfstandig is of deel uitmaakt van een algemeen beschikbare functie.

Een externe SharePoint kennisbron (preview) maakt gebruik van de Copilot API (preview) om tekstuele inhoud rechtstreeks vanuit SharePoint in Microsoft 365 op te vragen. Kennisbronnen worden onafhankelijk gemaakt, waarnaar wordt verwezen in een knowledge base en worden gebruikt als grondgegevens wanneer de knowledge base tijdens runtime wordt opgevraagd.

Als u sites wilt beperken of zoeken wilt beperken, stelt u een filterexpressie in op URL's, datumbereiken, bestandstypen en andere metagegevens. De identiteit van de beller moet worden herkend door zowel de Azure-tenant als de Microsoft 365-tenant, omdat SharePoint namens de gebruiker door de ophaalengine wordt bevraagd.

In tegenstelling tot geïndexeerde kennisbronnen, voeren externe SharePoint kennisbronnen live gegevens rechtstreeks op bij het ophalen van gegevens. U hebt geen zoekindex of verbindingsreeks nodig.

Gebruiksondersteuning

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

Voorwaarden

  • Een Azure AI Zoeken-service in elke regio die op agent gebaseerde gegevensophaling biedt.

  • SharePoint in een Microsoft 365-tenant die zich onder dezelfde Microsoft Entra ID tenant bevindt als Azure.

  • Voor elke gebruiker die SharePoint-inhoud doorzoekt, is ofwel een Microsoft 365 Copilot add-on-licentie vereist die Retrieval API-gebruik omvat, ofwel moet voor die gebruiker Retrieval API-verbruik op basis van betalen naar gebruik (preview) zijn ingeschakeld.

    Als u betalen per gebruik wilt inschakelen, hebt u Microsoft 365-beheerderstoegang en Owner- of Contributor-toegang nodig voor een Azure-abonnement dat in goede staat verkeert. U hebt ook een Azure resourcegroep nodig. Uw tenant moet ten minste één Microsoft 365 Copilot-licentie hebben voordat deze wordt ingeschakeld en gedurende gebruik op basis van betalen per gebruik.

    Voor gebruikers zonder een Copilot uitbreidingslicentie, schakelt u betalen per gebruik in en configureert u facturering in de Microsoft 365-beheercentrum met behulp van dat Azure-abonnement. Beide betalingsopties maken gebruik van dezelfde configuratie van de externe SharePoint-kennisbron.

  • Machtiging voor het maken van kennisbronnen. Configureer sleutelloze verificatie met de rol Inzender voor zoekservice die is toegewezen aan uw gebruikersaccount (aanbevolen) of gebruik een beheer-API-sleutel.

  • Het nieuwste preview-pakket Azure.Search.Documents: dotnet add package Azure.Search.Documents --prerelease

  • Voor sleutelloze verificatie is het Azure.Identity pakket: dotnet add package Azure.Identity

  • Het nieuwste preview-pakket azure-search-documents: pip install --pre azure-search-documents

  • Voor sleutelloze verificatie is het azure-identity pakket: pip install azure-identity

Beperkingen en overwegingen

Externe SharePoint kennisbronnen zijn onderhevig aan beperkingen van de Copilot api voor het ophalen van gegevens en Azure AI Zoeken.

API voor het ophalen van Copilot

De volgende Copilot API-beperkingen zijn ook van toepassing op externe SharePoint kennisbronnen:

  • Er is geen ondersteuning voor Copilot connectors of OneDrive inhoud. Inhoud wordt alleen opgehaald uit SharePoint sites.

  • Limiet van 200 aanvragen per gebruiker per uur.

  • Querytekenlimiet van 1500 tekens.

  • Hybride query's worden alleen ondersteund voor de volgende bestandsextensies: .doc, .docx, .pptx, .pdf, , .aspxen .one.

  • Multimodaal ophalen (non-tekstuele inhoud, inclusief tabellen, afbeeldingen en grafieken) wordt niet ondersteund.

  • Maximaal 25 resultaten van een query.

  • Resultaten worden door de Copilot Retrieval API in willekeurige volgorde geretourneerd.

  • Ongeldige KQL-filterexpressies (Keyword Query Language) worden genegeerd en de query wordt nog steeds uitgevoerd zonder het filter.

Wanneer u een query uitvoert op een knowledge base, kunt Azure AI Zoeken een beperkt aantal externe SharePoint query's tegelijk uitvoeren. De limiet is afhankelijk van het prijsmodel:

  • Toegewezen: Elke servicereplica voert één query tegelijk uit voor alle externe SharePoint kennisbronnen die zijn geselecteerd voor de ophaalaanvraag. Extra query's wachten op een beschikbare replica, waardoor de latentie toeneemt. Als u de doorvoer van query's wilt verhogen, voegt u replica's toe.

  • Serverloos (preview): Azure AI Zoeken voert één query tegelijk uit voor alle externe SharePoint kennisbronnen die zijn geselecteerd voor de ophaalaanvraag. Aanvullende query’s wachten. Serverloos beheert de capaciteit automatisch, zodat u de querydoorvoer niet kunt verhogen.

Controleren op bestaande kennisbronnen

Een kennisbron is een herbruikbaar object op het hoogste niveau. Kennis over bestaande kennisbronnen is handig voor het opnieuw gebruiken of benoemen van nieuwe objecten.

Voer de volgende code uit om kennisbronnen op naam en type weer te geven.

// 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}");
}

Naslaginformatie: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})")

Naslaginformatie:SearchIndexClient

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

Naslaginformatie:Kennisbronnen - Lijst

U kunt ook één kennisbron op naam retourneren om de JSON-definitie ervan te controleren.

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

Naslaginformatie: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))

Naslaginformatie:SearchIndexClient

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

Naslaginformatie:Kennisbronnen ophalen

De volgende JSON is een voorbeeldantwoord voor een externe SharePoint kennisbron.

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

Een kennisbron maken

Voer de volgende code uit om een externe SharePoint kennisbron te maken.

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

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

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.");

Naslaginformatie:SearchIndexClient, RemoteSharePointKnowledgeSource

# Create a remote SharePoint knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters

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

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.")

Naslaginformatie:SearchIndexClient

### Create a remote SharePoint knowledge source
PUT {{search-endpoint}}/knowledgesources/my-remote-sharepoint-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
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
    }
}

Naslaginformatie:Kennisbronnen - Maken of bijwerken

Voorbeelden van filterexpressies

Niet alle SharePoint eigenschappen worden ondersteund in de filterExpression. Zie de API-verwijzing voor een lijst met ondersteunde eigenschappen. Zie Queryable voor query-eigenschappen.

Meer informatie over KQL-filters in de syntaxisverwijzing.

Voorbeeld Filterexpressie
Filteren naar één site met id "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\""
Filteren op meerdere sites via ID "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\""
Filter toepassen op bestanden onder een specifiek pad "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\""
Filteren op een specifiek datumbereik "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08"
Filteren op bestanden van een specifiek bestandstype "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\""
Filteren op bestanden van een specifiek label voor gegevensbeveiliging "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\""

Toewijzen aan de kennisbank

Als u tevreden bent met de kennisbron, voegt u deze toe aan een knowledge base.

Een query uitvoeren op een knowledge base

Nadat de kennisbank is geconfigureerd, roept u de retrieve-actie of het MCP-eindpunt aan om SharePoint-inhoud te doorzoeken. Remote SharePoint heeft bronspecifiek gedrag voor filtering op querytijd, queryformulatie, antwoordvelden en handhaving van machtigingen.

Een KQL-filter toepassen tijdens een query

U kunt een FilterExpressionAddOn meenemen in de KnowledgeSourceParams opvraagverzoek om tijdens de query een KQL-filter toe te passen. Als u FilterExpressionAddOn opgeeft in de aanvraag voor ophalen en een FilterExpression in de definitie van de kennisbron, worden de filters samengevoegd met de AND-operator.

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

Naslaginformatie:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

U kunt een filter_expression_add_on meenemen in de knowledge_source_params opvraagverzoek om tijdens de query een KQL-filter toe te passen. Als u filter_expression_add_on opgeeft in de aanvraag voor ophalen en een filter_expression in de definitie van de kennisbron, worden de filters samengevoegd met de AND-operator.

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,
)

Naslaginformatie:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

U kunt een filterExpressionAddOn meenemen in de knowledgeSourceParams opvraagverzoek om tijdens de query een KQL-filter toe te passen. Als u filterExpressionAddOn opgeeft in de aanvraag voor ophalen en een filterExpression in de definitie van de kennisbron, worden de filters samengevoegd met de AND-operator.

### Retrieve knowledge base content
POST {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
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"
        }
    ]
}

Naslaginformatie:Kennis ophalen - Ophalen

Effectieve queries schrijven

Query's die vragen stellen over de inhoud zelf zijn effectiever dan vragen over waar een bestand zich bevindt of wanneer het voor het laatst is bijgewerkt. Bijvoorbeeld: 'Waar is het keynote-document voor Ignite 2024' kan geen resultaten opleveren omdat de inhoud zelf de locatie niet openbaar maakt. Een FilterExpression op metagegevens is een betere benadering voor bestandslocatie of datumspecifieke query's.

Query's die vragen stellen over de inhoud zelf zijn effectiever dan vragen over waar een bestand zich bevindt of wanneer het voor het laatst is bijgewerkt. Bijvoorbeeld: 'Waar is het keynote-document voor Ignite 2024' kan geen resultaten opleveren omdat de inhoud zelf de locatie niet openbaar maakt. Een filter_expression op metagegevens is een betere benadering voor bestandslocatie of datumspecifieke query's.

Query's die vragen stellen over de inhoud zelf zijn effectiever dan vragen over waar een bestand zich bevindt of wanneer het voor het laatst is bijgewerkt. Bijvoorbeeld: 'Waar is het keynote-document voor Ignite 2024' kan geen resultaten opleveren omdat de inhoud zelf de locatie niet openbaar maakt. Een filterExpression op metagegevens is een betere benadering voor bestandslocatie of datumspecifieke query's.

Een effectievere vraag is: "Wat is het keynote-document voor Ignite 2024?" Het antwoord bevat het gesynthetiseerde antwoord, het aantal queryactiviteit en token, plus de URL en andere metagegevens.

SharePoint-specifieke antwoordvelden

Externe SharePoint resultaten bevatten velden die niet worden weergegeven voor andere typen kennisbronnen, zoals resourceMetadata, webUrl en 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
    }
}

Machtigingen afdwingen tijdens het uitvoeren van query's

Externe SharePoint kennisbronnen kunnen SharePoint machtigingen afdwingen tijdens het uitvoeren van query's. Als u dit filter wilt inschakelen, neemt u het toegangstoken van de eindgebruiker op in de aanvraag voor ophalen. De ophaalengine geeft het token door aan de Copilot Api voor ophalen, die query's SharePoint uitvoert en alleen inhoud retourneert waartoe de gebruiker toegang heeft. SharePoint machtigingen en Microsoft Purview vertrouwelijkheidslabels worden gehonoreerd.

Omdat externe SharePoint geen zoekindex gebruikt, is er geen configuratie van opname-/tijdmachtigingen nodig. Het toegangstoken is de enige vereiste.

Zie Machtigingen afdwingen tijdens het uitvoeren van query's (preview) voor instructies over het doorgeven van het token.

Een kennisbron verwijderen

Voordat u een kennisbron kunt verwijderen, moet u een knowledge base verwijderen die ernaar verwijst of de knowledge base-definitie bijwerken om de verwijzing te verwijderen. Voor kennisbronnen die een index- en indexeerpijplijn genereren, worden ook alle gegenereerde objecten verwijderd. Als u echter een bestaande index hebt gebruikt om een kennisbron te maken, wordt uw index niet verwijderd.

Als u probeert een kennisbron te verwijderen die in gebruik is, mislukt de actie en wordt een lijst met betrokken knowledge bases geretourneerd.

Een kennisbron verwijderen:

  1. Haal een lijst op met alle knowledge bases op uw zoekservice.

    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}");
    }
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.

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

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.

    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.");
    

    Naslaginformatie:SearchIndexClient

  4. Verwijder de kennisbron.

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

    Naslaginformatie:SearchIndexClient

  1. Haal een lijst op met alle knowledge bases op uw zoekservice.

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

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.

    # 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)
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.

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

    Naslaginformatie:SearchIndexClient

  4. Verwijder de kennisbron.

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

    Naslaginformatie:SearchIndexClient

  1. Haal een lijst op met alle knowledge bases op uw zoekservice.

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

    Naslaginformatie:Knowledge Bases - Lijst

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.

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

    Naslaginformatie:Kennisbanken - Verkrijgen

    Een voorbeeld van een antwoord kan er als volgt uitzien:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.

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

    Naslaginformatie:Knowledge Bases - Verwijderen

  4. Verwijder de kennisbron.

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

    Naslaginformatie:Kennisbronnen - Verwijderen