Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview wordt geleverd zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure previews voor meer informatie.
Een externe SharePoint-kennisbron maakt gebruik van de Copilot Retrieval-API om tekstuele inhoud rechtstreeks vanuit SharePoint in Microsoft 365 op te vragen. Er zijn geen zoekindex of verbindingsreeks benodigd. Alleen tekstuele inhoud wordt opgevraagd en het gebruik wordt gefactureerd via Microsoft 365 en een Copilot licentie.
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 geverifieerd door zowel de Azure-tenant als de Microsoft 365-tenant, omdat de ophaalengine SharePoint namens de gebruiker raadpleegt.
Net als elke andere kennisbron geeft u een externe SharePoint kennisbron op in een knowledge base en gebruikt u de resultaten als grondgegevens wanneer een agent of chatbot een retrieve actie aanroept tijdens de query.
Gebruiksondersteuning
| Azure-portal | Microsoft Foundry-portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Vereiste voorwaarden
Azure AI Zoeken in een regio die geautomatiseerd ophalen biedt. U moet semantische rangschikking hebben ingeschakeld.
SharePoint in een Microsoft 365-tenant die zich onder dezelfde Microsoft Entra ID tenant bevindt als Azure.
Een Microsoft 365 Copilot-licentie voor toegang tot SharePoint inhoud in querytijd.
Machtiging voor het maken en gebruiken van objecten op Azure AI Zoeken. We raden op rollen gebaseerde toegang aan, maar u kunt API-sleutels gebruiken als een roltoewijzing niet haalbaar is. Zie Verbinding maken met een zoekservice voor meer informatie.
- Het nieuwste
Azure.Search.Documentspreview-pakket:dotnet add package Azure.Search.Documents --prerelease
- Het nieuwste
azure-search-documentspreview-pakket:pip install --pre azure-search-documents
- De 2025-11-01-preview versie van de REST API's van de Search Service.
Beperkingen
De volgende beperkingen in de API voor het ophalen van Copilot zijn 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, .aspx en .one.
Multimodaal ophalen (niet-tekstuele inhoud, inclusief tabellen, afbeeldingen en grafieken) wordt niet ondersteund.
Maximaal 25 resultaten van een query.
Resultaten worden als ongesorteerd geretourneerd door de Copilot Retrieval API.
Ongeldige KQL-filterexpressies (Keyword Query Language) worden genegeerd en de query wordt nog steeds uitgevoerd zonder het filter.
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}");
}
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));
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
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))
U kunt ook één kennisbron op naam retourneren om de JSON-definitie ervan te controleren.
# 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))
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.
Gebruik Knowledge Sources - Get (REST API) om kennisbronnen op naam en type weer te geven.
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
U kunt ook één kennisbron op naam retourneren om de JSON-definitie ervan te controleren.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
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;
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.");
Voer de volgende code uit om een externe SharePoint kennisbron te maken.
# 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.")
Gebruik Knowledge Sources - Create or Update (REST API) om een externe SharePoint kennisbron te maken.
PUT {{search-url}}/knowledgesources/my-remote-sharepoint-ks?api-version=2025-11-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
}
}
Bronspecifieke eigenschappen
U kunt de volgende eigenschappen doorgeven om een externe SharePoint kennisbron te maken.
| Naam | Description | Typologie | Bewerkbaar | Verplicht |
|---|---|---|---|---|
Name |
De naam van de kennisbron, die uniek moet zijn binnen de verzameling kennisbronnen en de namenrichtlijnen moet volgen voor objecten in Azure AI Zoeken. | Snaar / Touwtje | Nee. | Yes |
Description |
Een beschrijving van de kennisbron. | Snaar / Touwtje | Yes | Nee. |
EncryptionKey |
Een door de klant beheerde sleutel voor het versleutelen van gevoelige informatie in de kennisbron. | Object | Yes | Nee. |
RemoteSharePointParameters |
Parameters die specifiek zijn voor externe SharePoint kennisbronnen: FilterExpression, ResourceMetadata en ContainerTypeId. |
Object | Nee. | Nee. |
FilterExpression |
Een expressie die is geschreven in de SharePoint KQL, die wordt gebruikt om sites en paden naar inhoud op te geven. | Snaar / Touwtje | Yes | Nee. |
ResourceMetadata |
Een matrix met standaardmetagegevensvelden: auteur, bestandsnaam, aanmaakdatum, inhoudstype en bestandstype. | Array | Yes | Nee. |
ContainerTypeId |
Container-id voor de SharePoint Embedded-verbinding. Wanneer dit niet is opgegeven, wordt SharePoint Online gebruikt. | Snaar / Touwtje | Yes | Nee. |
| Naam | Description | Typologie | Bewerkbaar | Verplicht |
|---|---|---|---|---|
name |
De naam van de kennisbron, die uniek moet zijn binnen de verzameling kennisbronnen en de namenrichtlijnen moet volgen voor objecten in Azure AI Zoeken. | Snaar / Touwtje | Nee. | Yes |
description |
Een beschrijving van de kennisbron. | Snaar / Touwtje | Yes | Nee. |
encryption_key |
Een door de klant beheerde sleutel voor het versleutelen van gevoelige informatie in de kennisbron. | Object | Yes | Nee. |
remote_share_point_parameters |
Parameters die specifiek zijn voor externe SharePoint kennisbronnen: filter_expression, resource_metadata en container_type_id. |
Object | Nee. | Nee. |
filter_expression |
Een expressie die is geschreven in de SharePoint KQL, die wordt gebruikt om sites en paden naar inhoud op te geven. | Snaar / Touwtje | Yes | Nee. |
resource_metadata |
Een matrix met standaardmetagegevensvelden: auteur, bestandsnaam, aanmaakdatum, inhoudstype en bestandstype. | Array | Yes | Nee. |
container_type_id |
Container-id voor de SharePoint Embedded-verbinding. Wanneer dit niet is opgegeven, wordt SharePoint Online gebruikt. | Snaar / Touwtje | Yes | Nee. |
| Naam | Description | Typologie | Bewerkbaar | Verplicht |
|---|---|---|---|---|
name |
De naam van de kennisbron, die uniek moet zijn binnen de verzameling kennisbronnen en de namenrichtlijnen moet volgen voor objecten in Azure AI Zoeken. | Snaar / Touwtje | Nee. | Yes |
kind |
Het soort kennisbron, in dit geval remoteSharePoint. |
Snaar / Touwtje | Nee. | Yes |
description |
Een beschrijving van de kennisbron. | Snaar / Touwtje | Yes | Nee. |
encryptionKey |
Een door de klant beheerde sleutel voor het versleutelen van gevoelige informatie in de kennisbron. | Object | Yes | Nee. |
remoteSharePointParameters |
Parameters die specifiek zijn voor externe SharePoint kennisbronnen: filterExpression, resourceMetadata en containerTypeId. |
Object | Nee. | Nee. |
filterExpression |
Een expressie die is geschreven in de SharePoint KQL, die wordt gebruikt om sites en paden naar inhoud op te geven. | Snaar / Touwtje | Yes | Nee. |
resourceMetadata |
Een matrix met standaardmetagegevensvelden: auteur, bestandsnaam, aanmaakdatum, inhoudstype en bestandstype. | Array | Yes | Nee. |
containerTypeId |
Container-id voor de SharePoint Embedded-verbinding. Wanneer dit niet is opgegeven, wordt SharePoint Online gebruikt. | Snaar / Touwtje | Yes | Nee. |
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 querybare eigenschappen.
Meer informatie over KQL-filters in de syntaxisverwijzing.
| Example | Filterexpressie |
|---|---|
| Filteren tot één site per ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| Filteren naar meerdere sites op ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| Filteren naar bestanden onder een bepaald 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 een kennisbank
Als u tevreden bent met de kennisbron, gaat u verder met de volgende stap: geef de kennisbron op in een knowledge base.
Een query uitvoeren op een Knowledge Base
Nadat de Knowledge Base is geconfigureerd, gebruikt u de actie retrieve om een query uit te voeren op SharePoint inhoud. Externe SharePoint heeft bronspecifiek gedrag voor querytijdfilters, queryformulering, antwoordvelden en afdwinging van machtigingen.
Een KQL-filter toepassen tijdens de query
U kunt een FilterExpressionAddOn in het KnowledgeSourceParams ophaalverzoek doorgeven om tijdens de query een KQL-filter toe te passen. Als u opgeeft FilterExpressionAddOn voor de aanvraag voor ophalen en een FilterExpression in de definitie van de kennisbron, zijn de filters samen AND'd.
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
);
U kunt een filter_expression_add_on in het knowledge_source_params ophaalverzoek doorgeven om tijdens de query een KQL-filter toe te passen. Als u opgeeft filter_expression_add_on voor de aanvraag voor ophalen en een filter_expression in de definitie van de kennisbron, zijn de filters samen AND'd.
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,
)
U kunt een filterExpressionAddOn in het knowledgeSourceParams ophaalverzoek doorgeven om tijdens de query een KQL-filter toe te passen. Als u opgeeft filterExpressionAddOn voor de aanvraag voor ophalen en een filterExpression in de definitie van de kennisbron, zijn de filters samen AND'd.
POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2025-11-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"
}
]
}
Schrijf effectieve queries
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 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:
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}"); }Een voorbeeld van een antwoord kan er als volgt uitzien:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseHaal 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);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 }Verwijder de knowledge base of werk de knowledge base bij om de kennisbron te verwijderen als u meerdere bronnen hebt. 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.");Verwijder de kennisbron.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
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:
Haal een lijst op met alle knowledge bases op uw zoekservice.
# 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))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" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
# 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))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" } }Verwijder de knowledge base of werk de knowledge base bij om de kennisbron te verwijderen als u meerdere bronnen hebt. 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.")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.")
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:
Haal een lijst op met alle knowledge bases op uw zoekservice.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}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" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}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" } }Verwijder de knowledge base of werk de knowledge base bij door de kennisbron te verwijderen als u meerdere bronnen hebt. In dit voorbeeld ziet u de verwijdering.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Verwijder de kennisbron.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}