Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
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
Een Azure AI Zoeken-service in elke regio die op agent gebaseerde gegevensophaling biedt.
Voltooiing van de vereisten voor SharePoint indexeerfunctie.
Voltooiing van de volgende SharePoint configuratiestappen voor de indexeerfunctie:
Step 1: Een beheerde identiteit inschakelen voor Azure AI Zoeken (alleen vereist voor verificatie zonder geheim; overslaan als u een clientgeheim gebruikt)
Stap 2: Kies gedelegeerde machtigingen of toepassingsmachtigingen
Step 3: Maak een Microsoft Entra toepassingsregistratie (voor toepassingsmachtigingen configureert u ook een clientgeheim of secretloze verificatie)
Als
contentExtractionModestandardis, gebruik een Microsoft Foundry-resource in een regio die wordt ondersteund voor Content Understanding in Foundry Tools en hethttps://<resource-name>.services.ai.azure.com-eindpunt. Implementeer een embeddingmodel en implementeer een multimodaal chatmodel als u beeldverbalisatie inschakelt.Machtiging voor het maken van kennisbronnen. Configureer sleutelloze verificatie met de rollen Inzender voor zoekservice en Inzender voor zoekindexgegevens die zijn toegewezen aan uw gebruikersaccount (aanbevolen) of gebruik een beheerders-API-sleutel.
Als de kennisbron een Azure OpenAI-model specificeert voor embeddings of beeldbeschrijving, moet de zoekservice beschikken over een beheerde identiteit met de machtiging Cognitive Services User op de Microsoft Foundry-resource.
Als u
networkAccessModeinstelt opprivate, moet u aan de volgende vereisten voldoen:Gebruik een S2-, S3-, L1- of L2-zoekservice.
Gebruik de SharePoint-verbindingsreeks, de Microsoft Entra-applicatie en de SharePoint-machtigingen die in de eerder beschreven vereisten worden beschreven. SharePoint Online is geen ondersteund doel voor gedeelde privékoppelingen, waardoor de privémodus deze bronverbinding niet privé maakt.
Schakel voor elk beveiligd modeleindpunt een beheerde identiteit in op de zoekservice, wijs deze de rol Cognitive Services-gebruiker toe op de resource en maak een gedeelde privékoppeling en keur deze goed. Gebruik de
openai_accountgroeps-id voor Azure OpenAI-eindpunten enfoundry_accountvoor Foundry-resource-eindpunten.
Het nieuwste preview-pakket
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prereleaseVoor sleutelloze verificatie is het
Azure.Identitypakket:dotnet add package Azure.Identity
Het nieuwste preview-pakket
azure-search-documents:pip install --pre azure-search-documentsVoor sleutelloze verificatie is het
azure-identitypakket:pip install azure-identity
De preview-versie 2026-08-01 van de REST API van de Search Service.
Neem voor sleutelloze verificatie een Microsoft Entra ID token op in de
Authorizationheader van elke HTTP-aanvraag.
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:
Voltooi de vereisten voor het privénetwerk.
Stel
networkAccessModein opprivatein 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.
Controleer of de
executionEnvironmentvan de gegenereerde indexerprivate.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.
Controleer de status van de kennisbron totdat
lastSynchronizationState.endTimeeen waarde heeft. Bevestig datitemsUpdatesFailed0is 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:
Controleer de indexeerfunctie op geslaagde of mislukte berichten. Hier worden verbindings- of quotumfouten weergegeven.
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.
Controleer de skillset om te bekijken hoe uw inhoud wordt opgedeeld en optioneel gevectoriseerd.
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:
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" } ] }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 }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
Verwijder de kennisbron.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Naslaginformatie:SearchIndexClient
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" } ] }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" } }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
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
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" } ] }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" } }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
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.