Een geïndexeerde SharePoint kennisbron maken (preview)

Opmerking

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

Important

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

Een geïndexeerde SharePoint-kennisbron (preview-versie) neemt SharePoint-inhoud op in een agentische pijplijn voor het ophalen van gegevens in Azure AI Zoeken. Kennisbronnen worden onafhankelijk gemaakt, waarnaar wordt verwezen in een knowledge base en worden gebruikt als grondgegevens wanneer de knowledge base tijdens runtime wordt opgevraagd.

Wanneer u een geïndexeerde SharePoint kennisbron maakt, geeft u een SharePoint verbindingsreeks, modellen en eigenschappen op om automatisch de volgende Azure AI Zoeken objecten te genereren:

  • Een gegevensbron die verwijst naar SharePoint sites en die de verbindingsreeks ongewijzigd gebruikt. De gegenereerde gegevensbron volgt de regels van TenantIdde SharePoint indexeerfunctie.
  • Een vaardighedenset die segmenteert en optioneel multimodale inhoud vectoriseert.
  • Een index waarin verrijkte inhoud wordt opgeslagen en voldoet aan de criteria voor agentisch ophalen.
  • Een indexeerfunctie die gebruikmaakt van de vorige objecten om de indexerings- en verrijkingspijplijn aan te sturen.

De gegenereerde indexeerfunctie voldoet aan de SharePoint in Microsoft 365 indexeerfunctie, waarvan de vereisten, ondersteunde documentindelingen en beperkingen ook van toepassing zijn op geïndexeerde SharePoint kennisbronnen. Zie de documentatie over de SharePoint-indexer en de limieten van de indexer voor meer informatie. Als de gegenereerde vaardighedenset een externe service aanroept, zijn ook de invoer- en servicelimieten van die vaardigheid van toepassing.

Gebruiksondersteuning

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

Voorwaarden

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

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

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

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

Controleren op bestaande kennisbronnen

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

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

// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();

Console.WriteLine("Knowledge Sources:");

await foreach (var ks in knowledgeSources)
{
    Console.WriteLine($"  Name: {ks.Name}, Type: {ks.GetType().Name}");
}

Naslaginformatie:SearchIndexClient

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

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

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

Naslaginformatie:SearchIndexClient

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

Naslaginformatie:Kennisbronnen - Lijst

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

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

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

// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";

// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;

// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions 
{ 
    WriteIndented = true,
    DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));

Naslaginformatie:SearchIndexClient

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

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

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

Naslaginformatie:SearchIndexClient

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

Naslaginformatie:Kennisbronnen ophalen

De volgende JSON is een voorbeeldantwoord voor een geïndexeerde SharePoint kennisbron.

{
  "name": "my-indexed-sharepoint-ks",
  "kind": "indexedSharePoint",
  "description": "A sample indexed SharePoint knowledge source",
  "encryptionKey": null,
  "indexedSharePointParameters": {
    "connectionString": "<redacted>",
    "containerName": "defaultSiteLibrary",
    "query": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "minimal",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<redacted>",
          "deploymentId": "text-embedding-3-large",
          "modelName": "text-embedding-3-large",
          "authIdentity": null
        }
      },
      "chatCompletionModel": null,
      "ingestionSchedule": null,
      "assetStore": null,
      "aiServices": null
    },
    "createdResources": {
      "datasource": "my-indexed-sharepoint-ks-datasource",
      "indexer": "my-indexed-sharepoint-ks-indexer",
      "skillset": "my-indexed-sharepoint-ks-skillset",
      "index": "my-indexed-sharepoint-ks-index"
    }
  },
  "indexedOneLakeParameters": null
}

Een kennisbron maken

Voer de volgende code uit om een geïndexeerde SharePoint kennisbron te maken.

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

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

var 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
    }
};

var sharePointParams = new IndexedSharePointKnowledgeSourceParameters(
    connectionString: sharePointConnectionString,
    containerName: "defaultSiteLibrary")
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedSharePointKnowledgeSource(
    name: "my-indexed-sharepoint-ks",
    indexedSharePointParameters: sharePointParams)
{
    Description = "A sample indexed SharePoint knowledge source."
};

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

Verwijzing:SearchIndexClient, IndexedSharePointKnowledgeSource

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

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

knowledge_source = IndexedSharePointKnowledgeSource(
    name = "my-indexed-sharepoint-ks",
    description = "A sample indexed SharePoint knowledge source.",
    encryption_key = None,
    indexed_share_point_parameters = IndexedSharePointKnowledgeSourceParameters(
        connection_string = "connection_string",
        container_name = "defaultSiteLibrary",
        query = 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 = None
        )
    )
)

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

Naslaginformatie:SearchIndexClient

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

{
    "name": "my-indexed-sharepoint-ks",
    "kind": "indexedSharePoint",
    "description": "A sample indexed SharePoint knowledge source.",
    "encryptionKey": null,
    "indexedSharePointParameters": {
        "connectionString": "{{sharepoint-federated-connection-string}}",
        "containerName": "defaultSiteLibrary",
        "query": null,
        "ingestionParameters": {
            "networkAccessMode": "public",
            "identity": null,
            "embeddingModel": {
                "kind": "azureOpenAI",
                "azureOpenAIParameters": {
                    "deploymentId": "text-embedding-3-large",
                    "modelName": "text-embedding-3-large",
                    "resourceUri": "{{aoai-endpoint}}"
                }
            },
            "chatCompletionModel": null,
            "disableImageVerbalization": false,
            "ingestionSchedule": null,
            "ingestionPermissionOptions": [],
            "contentExtractionMode": "minimal"
        }
    }
}

Naslaginformatie:Kennisbronnen - Maken of bijwerken

Azure afhankelijkheden beveiligen tijdens opname

Vanaf de 2026-08-01-preview API-versie networkAccessMode bepaalt u de netwerkomgeving waarin de gegenereerde indexeerfunctie voor een geïndexeerde SharePoint kennisbron wordt uitgevoerd. Deze instelling heeft alleen invloed op de gegevensinname en wijzigt geen ophaalverzoeken of -reacties van de kennisbank.

networkAccessMode is standaard ingesteld op public, waarmee het bestaande gedrag van het openbare netwerk behouden blijft. Wanneer networkAccessModeprivate is, wordt de gegenereerde indexeerfunctie uitgevoerd in de privé-uitvoeringsomgeving. Er worden goedgekeurde gedeelde privékoppelingen gebruikt voor toegang tot ondersteunde Azure afhankelijkheden, zoals Azure OpenAI-modellen en Microsoft Foundry-resources.

Important

Voor geïndexeerde SharePoint kennisbronnen geldt de privémodus alleen voor ondersteunde Azure afhankelijkheden. SharePoint Online is geen ondersteund gedeeld privékoppelingsdoel, zodat de SharePoint bronverbinding openbaar blijft.

Persoonlijke toegang configureren en verifiëren voor ondersteunde Azure afhankelijkheden:

  1. Voltooi de vereisten voor het privénetwerk.

  2. Stel networkAccessMode in op private in het aanmaakverzoek voor de kennisbron. U kunt deze eigenschap alleen instellen tijdens het maken. Als u deze later wilt wijzigen, verwijdert u de kennisbron en maakt u deze opnieuw.

    Het maken kan mislukken als de servicelaag of runtime geen ondersteuning biedt voor privé-uitvoering of als er geen vereiste gedeelde privékoppeling bestaat.

  3. Controleer of de executionEnvironment van de gegenereerde indexer private.

  4. Controleer of elke vereiste gedeelde privékoppeling is goedgekeurd en is gericht op de juiste afhankelijkheid. Het succesvol aanmaken van de koppeling bevestigt op zichzelf niet dat de koppeling is goedgekeurd of getarget.

  5. Controleer de status van de kennisbron totdat lastSynchronizationState.endTime een waarde heeft. Bevestig dat itemsUpdatesFailed0 is en controleer vervolgens de connectorspecifieke broninhoud. Synchronisatie mislukt als een afhankelijkheid niet bereikbaar is.

Automatische analyse per taal gebruiken

Vanaf de 2026-08-01-preview API-versie zijn automatische analysefuncties per taal beschikbaar voor blob, geïndexeerde OneLake en geïndexeerde SharePoint kennisbronnen. Indien ingeschakeld, detecteert Azure AI Zoeken de taal van elk brondocument en past automatisch een overeenkomende Microsoft taalanalyse toe. U geeft geen analyse op in de definitie van de kennisbron of in een query.

Als u automatische analyzers per taal wilt inschakelen, stelt u contentExtractionMode in op minimal en configureert u ingestionParameters.aiServices in de definitie van de kennisbron.

Voor sleutelloze verificatie laat u weg en wijst u de rol aiServices.apiKey op uw Microsoft Foundry-resource toe aan de beheerde identiteit van uw zoekservice. Stel voor verificatie aiServices.apiKey op basis van sleutels een geldige sleutel in voor uw Foundry-resource.

De volgende talen worden ondersteund:

  • Engels
  • De Japanse taal
  • Frans
  • Spanish
  • Duits
  • Dutch
  • Italian
  • Braziliaans Portugees
  • Europees Portugees
  • Vereenvoudigd Chinees
  • Traditioneel Chinees
  • Korean

Voor meertalige inhoud selecteert Azure AI Zoeken een analyse op basis van de overheersende gedetecteerde taal. De standaardanalyse wordt gebruikt wanneer de taal niet wordt ondersteund of onzeker is.

Wanneer u automatische analyse per taal inschakelt, voegt Azure AI Zoeken taalspecifieke inhoudsvelden voor elke ondersteunde taal toe aan het gegenereerde indexschema, ongeacht of uw gegevens documenten in die talen bevatten. Tijdens de opname worden documenten doorgestuurd naar het juiste taalspecifieke veld op basis van hun gedetecteerde taal.

Ongebruikte taalvelden bevatten geen geïndexeerde inhoud en hebben minimale opslagimpact, maar blijven deel uitmaken van het indexschema en tellen mee voor de limiet van het indexveld. Houd rekening met de aanvullende velden wanneer u uw indexontwerp, veldaantal en opslagvereisten plant. Zie Indexlimieten en De capaciteit van een zoekservice schatten en beheren voor meer informatie.

Taaldetectie is factureerbaar na de gratis toewijzing voor AI-verrijking. Zie Gratis verrijkingen voor meer informatie.

Opnamestatus controleren

Voer de volgende code uit om de voortgang en status van de opname te controleren, inclusief de soort kennisbron en gedetailleerde indexeringsfouten voor kennisbronnen die een indexeerpijplijn genereren en een zoekindex vullen.

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

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

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

Naslaginformatie:Kennisbronnen - Status ophalen

Een antwoord voor een aanvraag die opnameparameters bevat en inhoud actief opneemt, kan eruitzien als in het volgende voorbeeld.

{
  "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
  }
}

Opmerking

De kind eigenschap en currentSynchronizationState.errors[] matrix met foutdetails op documentniveau zijn beschikbaar vanaf de API-versie 2026-04-01. Voor eerdere API-versies worden deze velden niet geretourneerd. Het lastSynchronizationState.status veld is ook nieuw in 2026-04-01.

De gegenereerde objecten controleren

Wanneer u deze kennisbron maakt, genereert Azure AI Zoeken automatisch een gegevensbron, vaardighedenset, indexeerfunctie en index. Het aanmaakantwoord vermeldt elk object onder createdResources.

Deze objecten worden gegenereerd volgens een vaste sjabloon en hun namen zijn gebaseerd op de naam van de kennisbron. U kunt de objectnamen niet wijzigen. Vermijd het rechtstreeks bewerken van deze objecten, omdat wijzigingen fouten of incompatibiliteit kunnen veroorzaken die de indexeerpijplijn verbreken.

U kunt de Azure-portal gebruiken om het maken van objecten te valideren. De werkstroom is:

  1. Controleer de indexeerfunctie op geslaagde of mislukte berichten. Hier worden verbindings- of quotumfouten weergegeven.

  2. Controleer de gegevensbron om de verbinding met uw gegevensarchief te controleren. De verbinding maakt gebruik van een verbindingsreeks of een beheerde identiteit, afhankelijk van hoe u de kennisbron hebt geconfigureerd.

  3. Controleer de skillset om te bekijken hoe uw inhoud wordt opgedeeld en optioneel gevectoriseerd.

  4. Controleer de index om te zien hoe uw inhoud wordt geïndexeerd en weergegeven voor het ophalen, inclusief welke velden doorzoekbaar en filterbaar zijn en welke velden vectoren opslaan voor overeenkomsten zoeken. Gebruik Search Explorer om query's uit te voeren op de gegenereerde index.

Toewijzen aan de kennisbank

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

Voor een knowledge base die een geïndexeerde SharePoint kennisbron opgeeft, moet u includeReferenceSourceData instellen op true. Deze stap is nodig voor het ophalen van de brondocument-URL in de bronvermelding.

Een query uitvoeren op een Knowledge Base

Nadat u de knowledge base hebt geconfigureerd, roept u de actie ophalen of het MCP-eindpunt aan om een query uit te voeren op de kennisbron. Kies de configuratie die overeenkomt met uw scenario.

Machtigingen op documentniveau afdwingen

Als u machtigingen op documentniveau wilt afdwingen, stelt ingestionPermissionOptions u in wanneer u deze kennisbron maakt en neemt u vervolgens het toegangstoken van de gebruiker op in de ophaalaanvraag. Zie Machtigingen afdwingen op het moment van query (preview) voor meer informatie.

Zie Problemen met SharePoint-machtigingsfiltering oplossen voor ontbrekende, onverwachte of mislukte resultaten van een geïndexeerde query voor SharePoint-machtigingen.

In documenten ingesloten afbeeldingen weergeven

Als u in documenten opgenomen afbeeldingen (zoals diagrammen of scans) wilt weergeven in reacties met gesynthetiseerde antwoorden, configureert u assetStore voor deze kennisbron en schakelt u vervolgens het aanbieden van afbeeldingen in op de kennisbank. Het aanbieden van afbeeldingen wordt niet ondersteund wanneer ingestionPermissionOptions is geconfigureerd. Zie In documenten ingesloten afbeeldingen beschikbaar maken in agentische retrieval (preview) voor meer informatie.

Een kennisbron verwijderen

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

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

Een kennisbron verwijderen:

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

    using Azure.Search.Documents.Indexes;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
    
    Console.WriteLine("Knowledge Bases:");
    
    await foreach (var kb in knowledgeBases)
    {
        Console.WriteLine($"  - {kb.Name}");
    }
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

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

    using Azure.Search.Documents.Indexes;
    using System.Text.Json;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    // Specify the knowledge base name to retrieve
    string kbNameToGet = "earth-knowledge-base";
    
    // Get a specific knowledge base definition
    var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
    var kb = knowledgeBaseResponse.Value;
    
    // Serialize to JSON for display
    string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
    Console.WriteLine(json);
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

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

    using Azure.Search.Documents.Indexes;
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
    System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
    

    Naslaginformatie:SearchIndexClient

  4. Verwijder de kennisbron.

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

    Naslaginformatie:SearchIndexClient

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

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

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

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

    # Get a knowledge base definition
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    kb = index_client.get_knowledge_base("knowledge_base_name")
    print(kb)
    

    Naslaginformatie:SearchIndexClient

    Een voorbeeld van een antwoord kan er als volgt uitzien:

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

    # Delete a knowledge base
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_base("knowledge_base_name")
    print(f"Knowledge base deleted successfully.")
    

    Naslaginformatie:SearchIndexClient

  4. Verwijder de kennisbron.

    # Delete a knowledge source
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_source("knowledge_source_name")
    print(f"Knowledge source deleted successfully.")
    

    Naslaginformatie:SearchIndexClient

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

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

    Naslaginformatie:Knowledge Bases - Lijst

    Een voorbeeld van een antwoord kan er als volgt uitzien:

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

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

    Naslaginformatie:Kennisbanken - Verkrijgen

    Een voorbeeld van een antwoord kan er als volgt uitzien:

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

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

    Naslaginformatie:Knowledge Bases - Verwijderen

  4. Verwijder de kennisbron.

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

    Naslaginformatie:Kennisbronnen - Verwijderen

Bekende fouten

De gegenereerde SharePoint gegevensbron en indexeerfunctie gebruiken hetzelfde Microsoft Entra tenantvalidatie- en verificatiegedrag als rechtstreeks geconfigureerde SharePoint indexeerfuncties. Voor tenantgerelateerde fouten controleert u de status en uitvoeringsgeschiedenis van de gegenereerde indexeerfunctie en volgt u vervolgens het Invalid AAD tenant herstel.