Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions Supplémentaires d’utilisation pour les Préversions Microsoft Azure.
Une source de connaissances SharePoint à distance utilise l’API Copilot de récupération pour interroger du contenu textuel directement à partir de SharePoint dans Microsoft 365. Aucun index de recherche ou chaîne de connexion n’est nécessaire. Seul le contenu textuel est interrogé et l’utilisation est facturée via Microsoft 365 et une licence Copilot.
Pour limiter les sites ou limiter la recherche, définissez une expression de filtre sur l’étendue par URL, plages de dates, types de fichiers et autres métadonnées. L'identité de l'appelant doit être reconnue par le locataire Azure et le locataire Microsoft 365, car le moteur de récupération interroge SharePoint pour le compte de l'utilisateur.
Comme n’importe quelle autre source de connaissances, vous spécifiez une source de connaissances SharePoint distante dans une base de connaissances knowledge et utilisez les résultats comme des données de base lorsqu’un agent ou un chatbot appelle une action retrieve action au moment de la requête.
Assistance à l'utilisation
| portail Azure | Portail Foundry de Microsoft | Kit de développement logiciel (SDK) .NET | sdk Python | SDK Java | SDK JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerequisites
Recherche Azure AI dans n’importe quelle région fournissant une recherche d'agent. Vous devez activer le ranker sémantique.
SharePoint dans un client Microsoft 365 qui est associé au même client Microsoft Entra ID qu'Azure.
Licence Microsoft 365 Copilot pour l'accès en temps réel au contenu SharePoint.
Autorisation de créer et d’utiliser des objets sur Recherche Azure AI. Nous vous recommandons d’accéder en fonction du rôle, mais vous pouvez utiliser des clés API si une attribution de rôle n’est pas réalisable. Pour plus d’informations, consultez Se connecter à un service de recherche.
- Le dernier package de prévisualisation
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prerelease
- Le dernier package de prévisualisation
azure-search-documents:pip install --pre azure-search-documents
- La version 2025-11-01-preview des API REST du service de recherche.
Limites
Les limitations suivantes de l’API de récupération Copilot s’appliquent aux sources de connaissances à distance SharePoint.
Il n'existe aucune prise en charge des connecteurs Copilot ou du contenu OneDrive. Le contenu est récupéré à partir de sites SharePoint uniquement.
Limite de 200 requêtes par utilisateur par heure.
Limite des caractères de requête de 1 500 caractères.
Les requêtes hybrides sont uniquement prises en charge pour les extensions de fichier suivantes : .doc, .docx, .pptx, .pdf, .aspx et .one.
La récupération modale (contenu nontextuel, y compris les tables, les images et les graphiques) n’est pas prise en charge.
Maximum de 25 résultats d’une requête.
Les résultats sont retournés par l'API de récupération Copilot sans ordre particulier.
Les expressions de filtre KQL (Keyword Query Language) non valides sont ignorées et la requête continue à s’exécuter sans le filtre.
Rechercher des sources de connaissances existantes
Une source de connaissances constitue un objet réutilisable de niveau supérieur. Connaître les sources de connaissances existantes est utile pour réutiliser ou nommer de nouveaux objets.
Exécutez le code suivant pour répertorier les sources de connaissances par nom et par type.
// 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}");
}
Vous pouvez également renvoyer une seule source de connaissances par nom pour passer en revue sa définition JSON.
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));
Une source de connaissances constitue un objet réutilisable de niveau supérieur. Connaître les sources de connaissances existantes est utile pour réutiliser ou nommer de nouveaux objets.
Exécutez le code suivant pour répertorier les sources de connaissances par nom et par type.
# 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))
Vous pouvez également renvoyer une seule source de connaissances par nom pour passer en revue sa définition JSON.
# 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))
Une source de connaissances constitue un objet réutilisable de niveau supérieur. Connaître les sources de connaissances existantes est utile pour réutiliser ou nommer de nouveaux objets.
Utilisez les sources de connaissances - Obtenir (API REST) pour répertorier les sources de connaissances par nom et par type.
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
Vous pouvez également renvoyer une seule source de connaissances par nom pour passer en revue sa définition JSON.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
Le code JSON suivant est un exemple de réponse pour une source de connaissances SharePoint distante.
{
"name": "my-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "A sample remote SharePoint knowledge source",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"containerTypeId": null,
"resourceMetadata": [
"Author",
"Title"
]
}
}
Créer une source de connaissances
Exécutez le code suivant pour créer une source de connaissances SharePoint distante.
// 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.");
Exécutez le code suivant pour créer une source de connaissances SharePoint distante.
# 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.")
Utilisez Sourcesknowledge - Créer ou mettre à jour (API REST) pour créer une source de connaissances SharePoint distante.
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
}
}
Propriétés spécifiques à la source
Vous pouvez transmettre les propriétés suivantes pour créer une source de connaissances SharePoint distante.
| Nom | Descriptif | Type | Modifiable | Obligatoire |
|---|---|---|---|---|
Name |
Nom de la source de connaissances, qui doit être unique dans la collection de sources de connaissances et suivre les instructions de nommage pour les objets dans Recherche Azure AI. | Chaîne | Non | Oui |
Description |
Description de la source de connaissances. | Chaîne | Oui | Non |
EncryptionKey |
Clé gérée par le client pour chiffrer les informations sensibles dans la source de connaissances. | Objet | Oui | Non |
RemoteSharePointParameters |
Paramètres spécifiques aux sources de connaissances SharePoint distantes : FilterExpression, ResourceMetadata et ContainerTypeId. |
Objet | Non | Non |
FilterExpression |
Expression écrite dans la SharePoint KQL, utilisée pour spécifier des sites et des chemins d’accès au contenu. | Chaîne | Oui | Non |
ResourceMetadata |
Tableau de champs de métadonnées standard : auteur, nom de fichier, date de création, type de contenu et type de fichier. | Array | Oui | Non |
ContainerTypeId |
ID de conteneur pour la connexion incorporée SharePoint. Lorsqu’il n’est pas spécifié, SharePoint Online est utilisé. | Chaîne | Oui | Non |
| Nom | Descriptif | Type | Modifiable | Obligatoire |
|---|---|---|---|---|
name |
Nom de la source de connaissances, qui doit être unique dans la collection de sources de connaissances et suivre les instructions de nommage pour les objets dans Recherche Azure AI. | Chaîne | Non | Oui |
description |
Description de la source de connaissances. | Chaîne | Oui | Non |
encryption_key |
Clé gérée par le client pour chiffrer les informations sensibles dans la source de connaissances. | Objet | Oui | Non |
remote_share_point_parameters |
Paramètres spécifiques aux sources de connaissances SharePoint distantes : filter_expression, resource_metadata et container_type_id. |
Objet | Non | Non |
filter_expression |
Expression écrite dans la SharePoint KQL, utilisée pour spécifier des sites et des chemins d’accès au contenu. | Chaîne | Oui | Non |
resource_metadata |
Tableau de champs de métadonnées standard : auteur, nom de fichier, date de création, type de contenu et type de fichier. | Array | Oui | Non |
container_type_id |
ID de conteneur pour la connexion incorporée SharePoint. Lorsqu’il n’est pas spécifié, SharePoint Online est utilisé. | Chaîne | Oui | Non |
| Nom | Descriptif | Type | Modifiable | Obligatoire |
|---|---|---|---|---|
name |
Nom de la source de connaissances, qui doit être unique dans la collection de sources de connaissances et suivre les instructions de nommage pour les objets dans Recherche Azure AI. | Chaîne | Non | Oui |
kind |
Type de source de connaissances, qui est remoteSharePoint dans ce cas. |
Chaîne | Non | Oui |
description |
Description de la source de connaissances. | Chaîne | Oui | Non |
encryptionKey |
Clé gérée par le client pour chiffrer les informations sensibles dans la source de connaissances. | Objet | Oui | Non |
remoteSharePointParameters |
Paramètres spécifiques aux sources de connaissances SharePoint distantes : filterExpression, resourceMetadata et containerTypeId. |
Objet | Non | Non |
filterExpression |
Expression écrite dans la SharePoint KQL, utilisée pour spécifier des sites et des chemins d’accès au contenu. | Chaîne | Oui | Non |
resourceMetadata |
Tableau de champs de métadonnées standard : auteur, nom de fichier, date de création, type de contenu et type de fichier. | Array | Oui | Non |
containerTypeId |
ID de conteneur pour la connexion incorporée SharePoint. Lorsqu’il n’est pas spécifié, SharePoint Online est utilisé. | Chaîne | Oui | Non |
Exemples d’expressions de filtre
Toutes les propriétés SharePoint ne sont pas prises en charge dans la filterExpression. Pour obtenir la liste des propriétés prises en charge, consultez les informations de référence sur l’API. Pour les propriétés interrogeables, consultez Queryable.
En savoir plus sur les filtres KQL dans la référence de syntaxe.
| Example | Expression de filtre |
|---|---|
| Filtrer sur un site unique par ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| Filtrer sur plusieurs sites par ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| Filtrer les fichiers selon un chemin d'accès spécifique | "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\"" |
| Filtrer sur une plage de dates spécifique | "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08" |
| Filtrer sur des fichiers d’un type de fichier spécifique | "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\"" |
| Filtrer les fichiers portant une étiquette de protection des informations spécifique | "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\"" |
Attribuer à une base de connaissances
Si vous êtes satisfait de la source de connaissances, passez à l’étape suivante : spécifiez la source de connaissances dans une base de connaissances.
Interroger une base de connaissances
Une fois la base de connaissances configurée, utilisez l’action retrieve pour interroger le contenu SharePoint. Les SharePoint distants ont des comportements spécifiques à la source pour le filtrage au moment de la requête, la formulation de requête, les champs de réponse et l’application des autorisations.
Appliquer un filtre KQL au moment de la requête
Vous pouvez passer FilterExpressionAddOn dans KnowledgeSourceParams lors de la requête de récupération afin d’appliquer un filtre KQL au moment de l’exécution de la requête. Si vous spécifiez FilterExpressionAddOn sur la demande de récupération et une FilterExpression sur la définition de la source de connaissances, les filtres sont ensemble.
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
);
Vous pouvez passer filter_expression_add_on dans knowledge_source_params lors de la requête de récupération afin d’appliquer un filtre KQL au moment de l’exécution de la requête. Si vous spécifiez filter_expression_add_on sur la demande de récupération et une filter_expression sur la définition de la source de connaissances, les filtres sont ensemble.
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,
)
Vous pouvez passer filterExpressionAddOn dans knowledgeSourceParams lors de la requête de récupération afin d’appliquer un filtre KQL au moment de l’exécution de la requête. Si vous spécifiez filterExpressionAddOn sur la demande de récupération et une filterExpression sur la définition de la source de connaissances, les filtres sont ensemble.
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"
}
]
}
Écrire des requêtes effectives
Les requêtes qui posent des questions sur le contenu lui-même sont plus efficaces que les questions sur l’emplacement d’un fichier ou lors de la dernière mise à jour. Par exemple, « Où se trouve le document de la conférence principale pour Ignite 2024 » peut ne retourner aucun résultat, car le contenu ne précise pas lui-même son emplacement. Une FilterExpression sur les métadonnées est une meilleure approche pour l’emplacement du fichier ou les requêtes spécifiques à la date.
Les requêtes qui posent des questions sur le contenu lui-même sont plus efficaces que les questions sur l’emplacement d’un fichier ou lors de la dernière mise à jour. Par exemple, « Où se trouve le document de la conférence principale pour Ignite 2024 » peut ne retourner aucun résultat, car le contenu ne précise pas lui-même son emplacement. Une filter_expression sur les métadonnées est une meilleure approche pour l’emplacement du fichier ou les requêtes spécifiques à la date.
Les requêtes qui posent des questions sur le contenu lui-même sont plus efficaces que les questions sur l’emplacement d’un fichier ou lors de la dernière mise à jour. Par exemple, « Où se trouve le document de la conférence principale pour Ignite 2024 » peut ne retourner aucun résultat, car le contenu ne précise pas lui-même son emplacement. Une filterExpression sur les métadonnées est une meilleure approche pour l’emplacement du fichier ou les requêtes spécifiques à la date.
Une question plus efficace est « Quel est le document clé pour Ignite 2024 ? ». La réponse inclut la réponse synthétisée, l’activité de requête et le nombre de jetons, ainsi que l’URL et d’autres métadonnées.
champs de réponse spécifiques à SharePoint
Les résultats SharePoint distants incluent des champs qui n'apparaissent pas pour d'autres types de sources de connaissances, tels que resourceMetadata, webUrl et 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
}
}
Appliquer des autorisations au moment de la requête
Les sources de connaissances SharePoint distantes peuvent appliquer des autorisations SharePoint au moment de la requête. Pour activer ce filtrage, incluez le jeton d’accès de l’utilisateur final dans la demande de récupération. Le moteur de récupération transmet le jeton à l’API Copilot Récupération, qui interroge SharePoint et retourne uniquement le contenu auquel l’utilisateur a accès. Les autorisations SharePoint et les libellés de sensibilité Microsoft Purview sont respectés.
Étant donné que les SharePoint distantes n'utilisent pas d'index de recherche, aucune configuration des autorisations d'ingestion n'est nécessaire. Le jeton d’accès est la seule exigence.
Pour obtenir des instructions sur le passage du jeton, consultez Appliquer les autorisations au moment de la requête.
Supprimer une source de connaissances
Avant de pouvoir supprimer une source de connaissances, vous devez supprimer toute base de connaissances qui la référence ou mettre à jour la définition de la base de connaissances pour supprimer la référence. Pour les sources de connaissances qui génèrent un pipeline d’index et d’indexeur, tous les objets générés sont également supprimés . Toutefois, si vous avez utilisé un index existant pour créer une source de connaissances, votre index n’est pas supprimé.
Si vous essayez de supprimer une source de connaissances en cours d’utilisation, l’action échoue et retourne une liste de bases de connaissances affectées.
Pour supprimer une source de connaissances :
Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.
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}"); }Un exemple de réponse peut ressembler à ce qui suit :
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseObtenez une définition de base de connaissances individuelle pour rechercher des références à la source de connaissances.
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);Un exemple de réponse peut ressembler à ce qui suit :
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Supprimez la base de connaissances ou mettez à jour la base de connaissances pour supprimer la source de connaissances si vous avez plusieurs sources. Cet exemple montre la suppression.
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.");Supprimer la source de connaissances.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
Avant de pouvoir supprimer une source de connaissances, vous devez supprimer toute base de connaissances qui la référence ou mettre à jour la définition de la base de connaissances pour supprimer la référence. Pour les sources de connaissances qui génèrent un pipeline d’index et d’indexeur, tous les objets générés sont également supprimés . Toutefois, si vous avez utilisé un index existant pour créer une source de connaissances, votre index n’est pas supprimé.
Si vous essayez de supprimer une source de connaissances en cours d’utilisation, l’action échoue et retourne une liste de bases de connaissances affectées.
Pour supprimer une source de connaissances :
Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.
# 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))Un exemple de réponse peut ressembler à ce qui suit :
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenez une définition de base de connaissances individuelle pour rechercher des références à la source de connaissances.
# 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))Un exemple de réponse peut ressembler à ce qui suit :
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Supprimez la base de connaissances ou mettez à jour la base de connaissances pour supprimer la source de connaissances si vous avez plusieurs sources. Cet exemple montre la suppression.
# 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.")Supprimer la source de connaissances.
# 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.")
Avant de pouvoir supprimer une source de connaissances, vous devez supprimer toute base de connaissances qui la référence ou mettre à jour la définition de la base de connaissances pour supprimer la référence. Pour les sources de connaissances qui génèrent un pipeline d’index et d’indexeur, tous les objets générés sont également supprimés . Toutefois, si vous avez utilisé un index existant pour créer une source de connaissances, votre index n’est pas supprimé.
Si vous essayez de supprimer une source de connaissances en cours d’utilisation, l’action échoue et retourne une liste de bases de connaissances affectées.
Pour supprimer une source de connaissances :
Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}Un exemple de réponse peut ressembler à ce qui suit :
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenez une définition de base de connaissances individuelle pour rechercher des références à la source de connaissances.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Un exemple de réponse peut ressembler à ce qui suit :
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Supprimez la base de connaissances ou mettez à jour la base de connaissances en supprimant la source de connaissances si vous avez plusieurs sources. Cet exemple montre la suppression.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Supprimer la source de connaissances.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}