Créer une source de connaissances OneLake indexée

Note

Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.

Note

Cette fonctionnalité de récupération agentique est généralement disponible dans l’API REST 2026-04-01 via l’accès par programmation. Le portail Azure et le portail Microsoft Foundry continuent de fournir un accès en préversion uniquement à toutes les fonctionnalités de récupération agentique. Pour obtenir des conseils sur la migration, consultez Migrer le code de récupération agentique vers la dernière version.

Si vous choisissez d’utiliser une API REST en préversion, vous pouvez accéder aux fonctionnalités qui ne sont pas encore en disponibilité générale pour cette fonctionnalité. Les fonctionnalités en préversion sont fournies sans contrat de niveau de service et ne sont pas recommandées pour les charges de travail de production. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les versions préliminaires de Microsoft Azure.

Important

Ces fonctionnalités font partie de l’API REST 2026-08-01-preview. La préversion 2026-08-01 vous est concédée sous licence dans le cadre de votre abonnement Azure et est soumise aux conditions applicables aux « préversions » dans les Microsoft Conditions d’utilisation du produit, l’addenda sur la protection des données des produits et des services Microsoft (« DPA ») et les conditions d’utilisation supplémentaires pour les préversions Microsoft Azure.

La préversion 2026-08-01 prend en charge les connexions à d’autres services Microsoft et à des services tiers. L’utilisation de ces services est soumise à leurs conditions respectives et peut entraîner le traitement ou le stockage des données en dehors de la limite de conformité Azure, ainsi que des données entrant dans la limite de conformité Azure.

La préversion 2026-08-01-preview ne peut pas modifier les autorisations d’accès définies en dehors de la préversion 2026-08-01-preview. Si vous utilisez la préversion 2026-08-01-preview avec du contenu soumis à des restrictions d’accès ou d’autorisations, un délai se produira avant que la préversion 2026-08-01-preview ne prenne en compte les modifications apportées à ces restrictions d’accès ou d’autorisations.

Il est de votre responsabilité de gérer si vos données circulent en dehors des limites géographiques et de conformité de votre organisation, ainsi que des implications connexes, et que les autorisations, les limites et les approbations appropriées sont provisionnés.

Vous êtes responsable de l’examen et du test des applications que vous créez dans le contexte de vos cas d’usage spécifiques et de prendre toutes les décisions et personnalisations appropriées. Cela inclut l’implémentation de vos propres atténuations d’IA responsables, telles que les métaprompts, les filtres de contenu ou d’autres systèmes de sécurité, et la garantie que vos applications répondent aux normes de qualité, de fiabilité, de sécurité et de fiabilité appropriées. Pour plus d’informations, consultez la note de transparence Recherche Azure AI.

Une source de connaissances OneLake indexée ingère les fichiers Microsoft OneLake dans un pipeline de récupération agentique dans Recherche Azure AI. Les sources de connaissances sont créées indépendamment, référencées dans une base de connaissances et utilisées comme données de base lorsque la base de connaissances est interrogée lors de l’exécution.

Lorsque vous créez une source de connaissances OneLake indexée, vous spécifiez une source de données externe, des modèles et des propriétés pour générer automatiquement les objets Recherche Azure AI suivants :

  • Source de données qui représente un lakehouse.
  • Ensemble de compétences qui segmente et vectorise éventuellement le contenu modal de la lakehouse.
  • Index qui stocke du contenu enrichi et répond aux critères de récupération agentique.
  • Indexeur qui utilise les objets précédents pour piloter l’indexation et le pipeline d’enrichissement.

L’indexeur généré est conforme à l’indexeur OneLake, dont les prérequis, les tâches prises en charge, les formats de documents pris en charge, les raccourcis pris en charge et les limitations s’appliquent également aux sources de connaissances OneLake. Pour plus d’informations, consultez la documentation de l’indexeur OneLake et les limites de l’indexeur. Si l’ensemble de compétences généré appelle un service externe, les limites d’entrée et de service de cette compétence s’appliquent également.

Support d'utilisation

portail Azure Portail Microsoft Foundry Kit de développement logiciel (SDK) .NET sdk Python SDK Java SDK JavaScript REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Conditions préalables

  • Package Azure.Search.Documents requis :

    • Pour les fonctionnalités 2026-08-01-preview, le dernier package de préversion : dotnet add package Azure.Search.Documents --prerelease

    • Pour les 2026-04-01 fonctionnalités, le dernier package stable : dotnet add package Azure.Search.Documents

  • Pour l’authentification sans clé, le Azure.Identity package : dotnet add package Azure.Identity

  • Package azure-search-documents requis :

    • Pour les fonctionnalités 2026-08-01-preview, le dernier package de préversion : pip install --pre azure-search-documents

    • Pour les 2026-04-01 fonctionnalités, le dernier package stable : pip install azure-search-documents

  • Pour l’authentification sans clé, le azure-identity package : pip install azure-identity

  • Version de l’API REST du service de recherche obligatoire :

  • Pour l’authentification sans clé, incluez un jeton de Microsoft Entra ID dans l’en-tête Authorization de chaque requête HTTP.

Limitations

La synchronisation privée n’est pas prise en charge pour les sources de connaissances OneLake indexées. Conservez networkAccessMode à la valeur public.

Rechercher les sources de connaissances existantes

Une source de connaissances est 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}");
}

Reference :SearchIndexClient

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

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

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

Reference :SearchIndexClient

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

Référence :Sources de connaissances - Liste

Vous pouvez également retourner une source de connaissances unique 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));

Reference :SearchIndexClient

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

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

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

Reference :SearchIndexClient

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

Référence :Sources de connaissances - Obtenir

Le code JSON suivant est un exemple de réponse pour une source de connaissances OneLake indexée.

{
  "name": "my-onelake-ks",
  "kind": "indexedOneLake",
  "description": "A sample indexed OneLake knowledge source.",
  "encryptionKey": null,
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "<REDACTED>",
    "lakehouseId": "<REDACTED>",
    "targetPath": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "standard",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<aoai-endpoint>",
          "deploymentId": "gpt-5-mini",
          "modelName": "gpt-5-mini"
        }
      },
      "ingestionSchedule": null,
      "aiServices": {
        "uri": "<aoai-endpoint>",
      }
    },
    "createdResources": {
    "datasource": "my-onelake-ks-datasource",
    "indexer": "my-onelake-ks-indexer",
    "skillset": "my-onelake-ks-skillset",
    "index": "my-onelake-ks-index"
    }
  }
}

Créer une source de connaissances

Exécutez le code suivant pour créer une source de connaissances OneLake indexée.

// Create an indexed OneLake knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Search.Documents.Models;
using Azure.Identity;

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

var chatCompletionParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiGptDeployment,
    ModelName = aoaiGptModel
};

var embeddingParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiEmbeddingDeployment,
    ModelName = aoaiEmbeddingModel
};

var ingestionParams = new KnowledgeSourceIngestionParameters
{
    NetworkAccessMode = KnowledgeSourceNetworkAccessMode.Public,
    DisableImageVerbalization = false,
    ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    },
    IngestionPermissionOptions = new List<KnowledgeSourceIngestionPermissionOption>
    {
        KnowledgeSourceIngestionPermissionOption.UserIds,
        KnowledgeSourceIngestionPermissionOption.GroupIds
    }
};

var oneLakeParams = new IndexedOneLakeKnowledgeSourceParameters(
    fabricWorkspaceId: fabricWorkspaceId,
    lakehouseId: lakehouseId)
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedOneLakeKnowledgeSource(
    name: "my-onelake-ks",
    indexedOneLakeParameters: oneLakeParams)
{
    Description = "This knowledge source pulls content from a lakehouse."
};

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

Reference :SearchIndexClient, IndexedOneLakeKnowledgeSource

# Create an indexed OneLake knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedOneLakeKnowledgeSource, IndexedOneLakeKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters
from azure.search.documents.knowledgebases.models import KnowledgeSourceNetworkAccessMode

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

knowledge_source = IndexedOneLakeKnowledgeSource(
    name = "my-onelake-ks",
    description= "This knowledge source pulls content from a lakehouse.",
    encryption_key = None,
    indexed_one_lake_parameters = IndexedOneLakeKnowledgeSourceParameters(
        fabric_workspace_id = "fabric_workspace_id",
        lakehouse_id = "lakehouse_id",
        target_path = None,
        ingestion_parameters = KnowledgeSourceIngestionParameters(
            network_access_mode = KnowledgeSourceNetworkAccessMode.PUBLIC,
            identity = None,
            disable_image_verbalization = False,
            chat_completion_model = KnowledgeBaseAzureOpenAIModel(
                azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
                    resource_url = "<aoai-endpoint>",
                    deployment_name = "<aoai-gpt-deployment>",
                    model_name = "<aoai-gpt-model>",
                )
            ),
            embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
                azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
                    resource_url = "<aoai-endpoint>",
                    deployment_name = "<aoai-embedding-deployment>",
                    model_name = "<aoai-embedding-model>",
                )
            ),
            content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
            ingestion_schedule = None,
            ingestion_permission_options = ["user_ids", "group_ids"]
        )
    )
)

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

Reference :SearchIndexClient

### Create an indexed OneLake knowledge source
PUT {{search-endpoint}}/knowledgesources/my-onelake-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json

{
    "name": "my-onelake-ks",
    "kind": "indexedOneLake",
    "description": "This knowledge source pulls content from a lakehouse.",
    "indexedOneLakeParameters": {
      "fabricWorkspaceId": "<fabric-workspace-id>",
      "lakehouseId": "<lakehouse-id>",
      "targetPath": null,
      "ingestionParameters": {
        "networkAccessMode": "public",
        "identity": null,
        "disableImageVerbalization": null,
        "chatCompletionModel": {
            "kind": "azureOpenAI",
            "azureOpenAIParameters": {
                "resourceUri": "{{aoai-endpoint}}",
                "deploymentId": "{{aoai-gpt-deployment}}",
                "modelName": "{{aoai-gpt-model}}"
            }
        },
        "embeddingModel": {
            "kind": "azureOpenAI",
            "azureOpenAIParameters": {
                "resourceUri": "{{aoai-endpoint}}",
                "deploymentId": "{{aoai-embedding-deployment}}",
                "modelName": "{{aoai-embedding-model}}"
            }
        },
        "contentExtractionMode": "minimal",
        "ingestionSchedule": null,
        "ingestionPermissionOptions": ["userIds", "groupIds"]
    }
  }
}

Référence :Sources de connaissances - Créer ou mettre à jour

Note

Pour appliquer des autorisations ingestionPermissionOptionsau niveau du document, utilisez la version d’API 2026-08-01-preview. La version d’API 2026-04-01 ne prend pas en charge cette fonctionnalité.

Vérifier l’état d’ingestion

Exécutez le code suivant pour surveiller la progression et l’intégrité de l’ingestion, notamment le type de source de connaissances et les erreurs d’indexation détaillées pour les sources de connaissances qui génèrent un pipeline d’indexeur et remplissent un index de recherche.

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

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;

// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);

Reference :SearchIndexClient

# Check knowledge source ingestion status
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"))

status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))

Reference :SearchIndexClient

### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
Authorization: Bearer {{token}}
Content-Type: application/json 

Référence :Sources de connaissances - Consulter l’état

Une réponse pour une demande qui inclut des paramètres d’ingestion et qui ingère activement du contenu peut ressembler à l’exemple suivant.

{
  "kind": "azureBlob",
  "synchronizationStatus": "active",
  "synchronizationInterval": "1d",
  "currentSynchronizationState": {
    "startTime": "2026-04-10T19:30:00Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": [
      {
        "key": "Item id 1",
        "docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
        "statusCode": 400,
        "componentName": "DocumentExtraction.AzureBlob.MyDataSource",
        "errorMessage": "Could not read the value of column 'foo' at index '0'.",
        "details": "The file could not be parsed.",
        "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
      }
    ]
  },
  "lastSynchronizationState": {
    "status": "partialSuccess",
    "startTime": "2026-04-09T19:30:00Z",
    "endTime": "2026-04-09T19:40:01Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": null
  },
  "statistics": {
    "totalSynchronizations": 25,
    "averageSynchronizationDuration": "00:15:20",
    "averageItemsProcessedPerSynchronization": 500
  }
}

Note

La kind propriété et currentSynchronizationState.errors[] le tableau avec les détails d’erreur au niveau du document sont disponibles à partir de la version de l’API 2026-04-01. Pour les versions antérieures de l’API, ces champs ne sont pas retournés. Le lastSynchronizationState.status champ est également nouveau en 2026-04-01.

Passer en revue les objets générés

Lorsque vous créez cette source de connaissances, Recherche Azure AI génère automatiquement une source de données, un ensemble de compétences, un indexeur et un index. La réponse de création répertorie chaque objet sous createdResources.

Ces objets sont générés en fonction d’un modèle fixe, et leurs noms sont basés sur le nom de la source de connaissances. Vous ne pouvez pas modifier les noms d’objets. Évitez de modifier ces objets directement, car les modifications peuvent introduire des erreurs ou des incompatibilités qui interrompent le pipeline d’indexeur.

Vous pouvez utiliser le portail Azure pour valider la création d’objets. Le flux de travail est le suivant :

  1. Vérifiez les messages de réussite ou d’échec de l'indexeur. Les erreurs de connexion ou de quota s’affichent ici.

  2. Vérifiez la source de données pour vérifier la connexion à votre magasin de données. La connexion utilise une chaîne de connexion ou une identité managée, selon la façon dont vous avez configuré la source de connaissances.

  3. Vérifiez l’ensemble de compétences pour voir comment votre contenu est segmenté et éventuellement vectorisé.

  4. Vérifiez l’index pour voir comment votre contenu est indexé et exposé pour la récupération, y compris les champs pouvant faire l’objet d’une recherche et filtrables et quels champs stockent des vecteurs pour la recherche de similarité. Utilisez l’Explorateur de recherche pour exécuter des requêtes sur l’index généré.

Attribuer à une base de connaissances

Si vous êtes satisfait de la source de connaissances, ajoutez-la à une base de connaissances.

Pour toute base de connaissances qui spécifie une source de connaissances OneLake indexée, veillez à définir includeReferenceSourceData sur true. Cette étape est nécessaire pour extraire l’URL du document source dans la citation.

Interroger une base de connaissances

Après avoir configuré la base de connaissances, appelez l’action de récupération ou le point de terminaison MCP pour interroger la source de connaissances. Choisissez la configuration qui correspond à votre scénario.

Appliquer des autorisations au niveau du document (Aperçu)

Pour appliquer des autorisations au niveau du document, définissez ingestionPermissionOptions lorsque vous créez cette source de connaissances, puis incluez le jeton d’accès de l’utilisateur dans la demande de récupération. Pour plus d’informations, consultez Appliquer les autorisations au moment de la requête (préversion).

Afficher les images intégrées aux documents (version préliminaire)

Pour afficher des images intégrées aux documents (telles que des diagrammes ou des documents numérisés) dans les réponses générées par la synthèse de réponses, configurez assetStore sur cette source de connaissances, puis activez la diffusion d’images sur la base de connaissances. La diffusion d’images n’est pas prise en charge lorsque ingestionPermissionOptions est configuré. Pour plus d’informations, consultez Afficher les images intégrées au document dans la récupération agentique (préversion).

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 :

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

    Reference :SearchIndexClient

    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"
         }
         ]
     }
    
  2. Obtenez 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);
    

    Reference :SearchIndexClient

    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
     }
    
  3. Supprimez la base de connaissances ou, si vous avez plusieurs sources de connaissances, mettez à jour la base de connaissances pour supprimer la source. 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.");
    

    Reference :SearchIndexClient

  4. Supprimez la source de connaissances.

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

    Reference :SearchIndexClient

  1. Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.

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

    Reference :SearchIndexClient

    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"
         }
         ]
     }
    
  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
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    kb = index_client.get_knowledge_base("knowledge_base_name")
    print(kb)
    

    Reference :SearchIndexClient

    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"
       }
     }
    
  3. Supprimez la base de connaissances ou, si vous avez plusieurs sources de connaissances, mettez à jour la base de connaissances pour supprimer la source. 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.")
    

    Reference :SearchIndexClient

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

    Reference :SearchIndexClient

  1. Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.

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

    Référence :Bases de connaissances - Liste

    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"
         }
         ]
     }
    
  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-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Référence :Bases de connaissances - Obtenir

    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"
       }
     }
    
  3. Supprimez la base de connaissances ou, si vous avez plusieurs sources de connaissances, mettez à jour la base de connaissances pour supprimer la source. Cet exemple montre la suppression.

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

    Référence :Bases de connaissances - Supprimer

  4. Supprimez la source de connaissances.

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

    Référence :Sources de connaissances - Supprimer