Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här funktionen är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Supplemental Terms of Use for Microsoft Azure Previews.
En remote SharePoint-kunskapskälla använder Copilot Retrieval API för att hämta textinnehåll direkt från SharePoint i Microsoft 365. Inget sökindex eller reťazec pripojenia krävs. Endast textinnehåll efterfrågas och användningen debiteras via Microsoft 365 och en Copilot licens.
Om du vill begränsa webbplatser eller begränsa sökningen anger du ett filteruttryck till omfång efter URL:er, datumintervall, filtyper och andra metadata. Uppringarens identitet måste identifieras av både Azure-klientorganisationen och Microsoft 365-klientorganisationen eftersom hämtningsmotorn frågar SharePoint på användarens vägnar.
Precis som andra kunskapskällor anger du en fjärransluten SharePoint kunskapskälla i en knowledge base och använder resultatet som grunddata när en agent eller chattrobot anropar en retrieve-åtgärd vid frågetillfället.
Användningsstöd
| Azure Portal | Microsoft Foundry-portalen | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST-API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Förutsättningar
Azure AI-sökning i valfri region som tillhandahåller agentisk hämtning. Du måste ha semantisk ranker aktiverat.
SharePoint i en Microsoft 365 klientorganisation som är under samma Microsoft Entra ID klientorganisation som Azure.
En Microsoft 365 Copilot licens för frågeåtkomst till SharePoint innehåll.
Behörighet att skapa och använda objekt på Azure AI-sökning. Vi rekommenderar rollbaserad åtkomst, men du kan använda API-nycklar om en rolltilldelning inte är möjlig. Mer information finns i Ansluta till en söktjänst.
- Det senaste
Azure.Search.Documentsförhandsversionspaketet:dotnet add package Azure.Search.Documents --prerelease
- Det senaste
azure-search-documentsförhandsversionspaketet:pip install --pre azure-search-documents
- 2025-11-01-preview-versionen av Sökningstjänstens REST API:er.
Begränsningar
Följande begränsningar i Copilot Retrieval API gäller för fjärranslutna SharePoint kunskapskällor.
Det finns inget stöd för Copilot anslutningsappar eller OneDrive innehåll. Innehållet hämtas endast från SharePoint webbplatser.
Gräns på 200 begäranden per användare och timme.
Frågeteckengräns på 1 500 tecken.
Hybridfrågor stöds endast för följande filnamnstillägg: .doc, .docx, .pptx, .pdf, .aspx och .one.
Multimodal hämtning (icke-textinnehåll, inklusive tabeller, bilder och diagram) stöds inte.
Maximalt 25 resultat från en fråga.
Resultaten returneras av Copilot-hämtnings-API:et i osorterad ordning.
Ogiltiga KQL-filteruttryck (Keyword Query Language) ignoreras och frågan fortsätter att köras utan filtret.
Sök efter befintliga kunskapskällor
En kunskapskälla är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapskällor är användbart för återanvändning eller namngivning av nya objekt.
Kör följande kod för att lista kunskapskällor efter namn och typ.
// 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}");
}
Du kan också returnera en enda kunskapskälla efter namn för att granska dess JSON-definition.
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));
En kunskapskälla är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapskällor är användbart för återanvändning eller namngivning av nya objekt.
Kör följande kod för att lista kunskapskällor efter namn och typ.
# 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))
Du kan också returnera en enda kunskapskälla efter namn för att granska dess JSON-definition.
# 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))
En kunskapskälla är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapskällor är användbart för återanvändning eller namngivning av nya objekt.
Använd Kunskapskällor – Hämta (REST API) för att lista kunskapskällor efter namn och typ.
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
Du kan också returnera en enda kunskapskälla efter namn för att granska dess JSON-definition.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
Följande JSON är ett exempelsvar för en fjärransluten SharePoint kunskapskälla.
{
"name": "my-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "A sample remote SharePoint knowledge source",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"containerTypeId": null,
"resourceMetadata": [
"Author",
"Title"
]
}
}
Skapa en kunskapskälla
Kör följande kod för att skapa en fjärransluten SharePoint kunskapskälla.
// 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.");
Kör följande kod för att skapa en fjärransluten SharePoint kunskapskälla.
# 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.")
Använd Knowledge Sources – Skapa eller uppdatera (REST API) för att skapa en fjärransluten SharePoint kunskapskälla.
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
}
}
Källspecifika egenskaper
Du kan skicka följande egenskaper för att skapa en fjärransluten SharePoint kunskapskälla.
| Namn | Description | Typ | Redigerbart | Krävs |
|---|---|---|---|---|
Name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | String | Nej | Yes |
Description |
En beskrivning av kunskapskällan. | String | Yes | Nej |
EncryptionKey |
En kundhanterad nyckel för att kryptera känslig information i kunskapskällan. | Object | Yes | Nej |
RemoteSharePointParameters |
Parametrar som är specifika för fjärranslutna SharePoint kunskapskällor: FilterExpression, ResourceMetadata och ContainerTypeId. |
Object | Nej | Nej |
FilterExpression |
Ett uttryck skrivet i SharePoint KQL, som används för att ange webbplatser och sökvägar till innehåll. | String | Yes | Nej |
ResourceMetadata |
En matris med standardmetadatafält: författare, filnamn, skapandedatum, innehållstyp och filtyp. | Array | Yes | Nej |
ContainerTypeId |
Container-ID för SharePoint Embedded-anslutningen. När det är ospecificerat används SharePoint Online. | String | Yes | Nej |
| Namn | Description | Typ | Redigerbart | Krävs |
|---|---|---|---|---|
name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | String | Nej | Yes |
description |
En beskrivning av kunskapskällan. | String | Yes | Nej |
encryption_key |
En kundhanterad nyckel för att kryptera känslig information i kunskapskällan. | Object | Yes | Nej |
remote_share_point_parameters |
Parametrar som är specifika för fjärranslutna SharePoint kunskapskällor: filter_expression, resource_metadata och container_type_id. |
Object | Nej | Nej |
filter_expression |
Ett uttryck skrivet i SharePoint KQL, som används för att ange webbplatser och sökvägar till innehåll. | String | Yes | Nej |
resource_metadata |
En matris med standardmetadatafält: författare, filnamn, skapandedatum, innehållstyp och filtyp. | Array | Yes | Nej |
container_type_id |
Container-ID för SharePoint Embedded-anslutningen. När det är ospecificerat används SharePoint Online. | String | Yes | Nej |
| Namn | Description | Typ | Redigerbart | Krävs |
|---|---|---|---|---|
name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | String | Nej | Yes |
kind |
Den typ av kunskapskälla, vilket är remoteSharePoint i det här fallet. |
String | Nej | Yes |
description |
En beskrivning av kunskapskällan. | String | Yes | Nej |
encryptionKey |
En kundhanterad nyckel för att kryptera känslig information i kunskapskällan. | Object | Yes | Nej |
remoteSharePointParameters |
Parametrar som är specifika för fjärranslutna SharePoint kunskapskällor: filterExpression, resourceMetadata och containerTypeId. |
Object | Nej | Nej |
filterExpression |
Ett uttryck skrivet i SharePoint KQL, som används för att ange webbplatser och sökvägar till innehåll. | String | Yes | Nej |
resourceMetadata |
En matris med standardmetadatafält: författare, filnamn, skapandedatum, innehållstyp och filtyp. | Array | Yes | Nej |
containerTypeId |
Container-ID för SharePoint Embedded-anslutningen. När det är ospecificerat används SharePoint Online. | String | Yes | Nej |
Filteruttrycksexempel
Alla SharePoint egenskaper stöds inte i filterExpression. En lista över egenskaper som stöds finns i API-referensen. Frågebara egenskaper finns i Frågebara.
Läs mer om KQL-filter i syntaxreferensen.
| Example | Filteruttryck |
|---|---|
| Filtrera till en enskild plats efter ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| Filtrera till flera platser efter ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| Filtrera efter filer under en specifik sökväg | "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\"" |
| Filtrera efter ett visst datumintervall | "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08" |
| Filtrera efter filer av en viss filtyp | "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\"" |
| Filtrera efter filer med en specifik informationsskyddsetikett | "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\"" |
Tilldelas till en kunskapsbas
Om du är nöjd med kunskapskällan fortsätter du till nästa steg: ange kunskapskällan i en kunskapsbas.
Fråga en kunskapsbas
När kunskapsbasen har konfigurerats använder du åtgärden retrieve för att fråga SharePoint innehåll. Fjärr-SharePoint har källspecifika beteenden för fråge-tidsfiltrering, frågeformulering, svarsfält och behörigheter.
Tillämpa ett KQL-filter vid frågetillfället
Du kan skicka en FilterExpressionAddOn i KnowledgeSourceParams i hämtningsbegäran för att tillämpa ett KQL-filter vid frågetillfället. Om du anger FilterExpressionAddOn i hämtningsbegäran och en FilterExpression i kunskapskällans definition kombineras filtren med ett OCH.
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
);
Du kan skicka en filter_expression_add_on i knowledge_source_params i hämtningsbegäran för att tillämpa ett KQL-filter vid frågetillfället. Om du anger filter_expression_add_on i hämtningsbegäran och en filter_expression i kunskapskällans definition kombineras filtren med ett OCH.
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,
)
Du kan skicka en filterExpressionAddOn i knowledgeSourceParams i hämtningsbegäran för att tillämpa ett KQL-filter vid frågetillfället. Om du anger filterExpressionAddOn i hämtningsbegäran och en filterExpression i kunskapskällans definition kombineras filtren med ett OCH.
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"
}
]
}
Skriva effektiva frågor
Frågor som frågar om själva innehållet är effektivare än frågor om var en fil finns eller när den senast uppdaterades. Till exempel kanske "Where is the keynote doc for Ignite 2024" inte returnerar några resultat eftersom själva innehållet inte avslöjar dess plats. En FilterExpression på metadata är en bättre metod för filplats eller datumspecifika frågor.
Frågor som frågar om själva innehållet är effektivare än frågor om var en fil finns eller när den senast uppdaterades. Till exempel kanske "Where is the keynote doc for Ignite 2024" inte returnerar några resultat eftersom själva innehållet inte avslöjar dess plats. En filter_expression på metadata är en bättre metod för filplats eller datumspecifika frågor.
Frågor som frågar om själva innehållet är effektivare än frågor om var en fil finns eller när den senast uppdaterades. Till exempel kanske "Where is the keynote doc for Ignite 2024" inte returnerar några resultat eftersom själva innehållet inte avslöjar dess plats. En filterExpression på metadata är en bättre metod för filplats eller datumspecifika frågor.
En mer effektiv fråga är "Vad är det huvudsakliga dokumentet för Ignite 2024". Svaret innehåller det syntetiserade svaret, frågeaktiviteten och antalet token, plus URL:en och andra metadata.
SharePoint-specifika svarsfält
Fjärrresultat för SharePoint innehåller fält som inte visas för andra typer av kunskapskällor, till exempel resourceMetadata, webUrl och 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
}
}
Framtvinga behörigheter vid frågetillfället
Fjärranslutna SharePoint kunskapskällor kan framtvinga SharePoint behörigheter vid frågetillfället. Om du vill aktivera den här filtreringen tar du med slutanvändarens åtkomsttoken i hämtningsbegäran. Hämtningsmotorn skickar token till API:et Copilot Retrieval, som frågar SharePoint och returnerar endast innehåll som användaren har åtkomst till. SharePoint behörigheter och Microsoft Purview känslighetsetiketter respekteras.
Eftersom fjärr-SharePoint inte använder ett sökindex krävs ingen konfiguration av inmatningstidsbehörigheter. Åtkomsttoken är det enda kravet.
Anvisningar om hur du skickar token finns i Framtvinga behörigheter vid frågetillfället.
Ta bort en kunskapskälla
Innan du kan ta bort en kunskapskälla måste du ta bort alla kunskapsbaser som refererar till den eller uppdatera kunskapsbasdefinitionen för att ta bort referensen. För kunskapskällor som genererar en index- och indexeringspipeline tas även alla genererade objekt bort. Men om du använde ett befintligt index för att skapa en kunskapskälla tas inte ditt index bort.
Om du försöker ta bort en kunskapskälla som används misslyckas åtgärden och returnerar en lista över berörda kunskapsbaser.
Så här tar du bort en kunskapskälla:
Hämta en lista över alla kunskapsbaser i söktjänsten.
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}"); }Ett exempelsvar kan se ut så här:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseHämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
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);Ett exempelsvar kan se ut så här:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Ta antingen bort kunskapsbasen eller uppdatera kunskapsbasen för att ta bort kunskapskällan om du har flera källor. Det här exemplet visar borttagning.
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.");Ta bort kunskapskällan.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
Innan du kan ta bort en kunskapskälla måste du ta bort alla kunskapsbaser som refererar till den eller uppdatera kunskapsbasdefinitionen för att ta bort referensen. För kunskapskällor som genererar en index- och indexeringspipeline tas även alla genererade objekt bort. Men om du använde ett befintligt index för att skapa en kunskapskälla tas inte ditt index bort.
Om du försöker ta bort en kunskapskälla som används misslyckas åtgärden och returnerar en lista över berörda kunskapsbaser.
Så här tar du bort en kunskapskälla:
Hämta en lista över alla kunskapsbaser i söktjänsten.
# 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))Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
# 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))Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller uppdatera kunskapsbasen för att ta bort kunskapskällan om du har flera källor. Det här exemplet visar borttagning.
# 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.")Ta bort kunskapskällan.
# 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.")
Innan du kan ta bort en kunskapskälla måste du ta bort alla kunskapsbaser som refererar till den eller uppdatera kunskapsbasdefinitionen för att ta bort referensen. För kunskapskällor som genererar en index- och indexeringspipeline tas även alla genererade objekt bort. Men om du använde ett befintligt index för att skapa en kunskapskälla tas inte ditt index bort.
Om du försöker ta bort en kunskapskälla som används misslyckas åtgärden och returnerar en lista över berörda kunskapsbaser.
Så här tar du bort en kunskapskälla:
Hämta en lista över alla kunskapsbaser i söktjänsten.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller uppdatera kunskapsbasen genom att ta bort kunskapskällan om du har flera källor. Det här exemplet visar borttagning.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Ta bort kunskapskällan.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}