Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Observera
Den här agentiska hämtningsfunktionen är allmänt tillgänglig i REST API-versionen 2026-04-01 via programmatisk åtkomst. Portalen Azure och Microsoft Foundry fortsätter att ge förhandsversionsåtkomst till alla funktioner för agentisk hämtning. Information om migrering finns i Migrera agentisk hämtningskod till den senaste versionen.
Om du väljer att använda en REST API-version för förhandsversion kan du komma åt funktioner som ännu inte är allmänt tillgängliga för den här funktionen. Förhandsversionsfunktioner tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Använd en indexerad OneLake-kunskapskälla för att indexera och fråga Microsoft OneLake-filer i en agentisk hämtningspipeline. Kunskapskällor skapas oberoende av varandra, refereras till i en kunskapsbas och används som grunddata när en agent eller chattrobot anropar en hämtningsåtgärd vid frågetillfället.
När du skapar en indexerad OneLake-kunskapskälla anger du en extern datakälla, modeller och egenskaper för att automatiskt generera följande Azure AI-sökning objekt:
- En datakälla som representerar ett sjöhus.
- En kompetensuppsättning som segmenterar och eventuellt vektoriserar multimodalt innehåll från lakehouse.
- Ett index som lagrar berikat innehåll och uppfyller kriterierna för agentisk hämtning.
- En indexerare som använder de tidigare objekten för att driva indexerings- och berikningspipelinen.
Den genererade indexeraren överensstämmer med OneLake-indexeraren, vars krav, uppgifter som stöds, dokumentformat som stöds, genvägar som stöds och begränsningar gäller även för OneLake-kunskapskällor. Mer information finns i dokumentationen om OneLake-indexeraren.
Användningsstöd
| Azure Portal | Microsoft Foundry-portalen | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Förutsättningar
Azure AI-sökning i valfri region som tillhandahåller agentisk hämtning.
Slutförande av OneLake-indexerarens krav.
Slutförande av dataförberedelsen för OneLake-indexeraren.
Behörighet att skapa och använda objekt på Azure AI-sökning. Vi rekommenderar rollbaserad åtkomst, men du kan använda API-nycklar om en rolltilldelning inte är möjlig. Mer information finns i Ansluta till en söktjänst.
Krävs Azure. Search.Documents paket:
För funktionerna i förhandsversionen 2025-11-01 är det senaste förhandsversionspaketet:
dotnet add package Azure.Search.Documents --prereleaseFör funktionerna den 1 april 2026 är det senaste stabila paketet:
dotnet add package Azure.Search.Documents
Obligatoriskt azure-search-documents-paket:
För funktionerna i förhandsversionen 2025-11-01 är det senaste förhandsversionspaketet:
pip install azure-search-documents --preFör funktionerna den 1 april 2026 är det senaste stabila paketet:
pip install azure-search-documents
Nödvändig REST API-version:
För förhandsversionsfunktioner: Search Service 2025-11-01-preview
För allmänt tillgängliga funktioner: Search Service 2026-04-01
Sök efter befintliga kunskapskällor
En kunskapskälla är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapskällor är användbart för återanvändning eller namngivning av nya objekt.
Kör följande kod för att lista kunskapskällor efter namn och typ.
// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();
Console.WriteLine("Knowledge Sources:");
await foreach (var ks in knowledgeSources)
{
Console.WriteLine($" Name: {ks.Name}, Type: {ks.GetType().Name}");
}
Referens: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})")
Referens:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}
Referens:Kunskapskällor – lista
Du kan också returnera en enda kunskapskälla efter namn för att granska dess JSON-definition.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Referens: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))
Referens:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}
Referens:Kunskapskällor – Hämta
Följande JSON är ett exempelsvar för en indexerad OneLake-kunskapskälla.
{
"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",
"apiKey": "<REDACTED>",
"modelName": "text-embedding-3-large"
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini"
}
},
"ingestionSchedule": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-onelake-ks-datasource",
"indexer": "my-onelake-ks-indexer",
"skillset": "my-onelake-ks-skillset",
"index": "my-onelake-ks-index"
}
}
}
Observera
Känslig information maskeras. De genererade resurserna visas i slutet av svaret.
Skapa en kunskapskälla
Kör följande kod för att skapa en indexerad OneLake-kunskapskälla.
// Create an indexed OneLake knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;
using Azure;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
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
{
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.");
# Create an indexed OneLake knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedOneLakeKnowledgeSource, IndexedOneLakeKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
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(
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",
api_key = "aoai_api_key"
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
resource_url = "aoai_endpoint",
deployment_name = "aoai_embedding_deployment",
model_name = "aoai_embedding_model",
api_key = "aoai_api_key"
)
),
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.")
Referens:SearchIndexClient
### Create an indexed OneLake knowledge source
PUT {{search-url}}/knowledgesources/my-onelake-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "my-onelake-ks",
"kind": "indexedOneLake",
"description": "This knowledge source pulls content from a lakehouse.",
"indexedOneLakeParameters": {
"fabricWorkspaceId": "<YOUR FABRIC WORKSPACE GUID>",
"lakehouseId": "<YOUR LAKEHOUSE GUID>",
"targetPath": null,
"ingestionParameters": {
"identity": null,
"disableImageVerbalization": null,
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-gpt-deployment}}",
"modelName": "{{aoai-gpt-model}}",
"apiKey": "{{aoai-key}}"
}
},
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-embedding-deployment}}",
"modelName": "{{aoai-embedding-model}}",
"apiKey": "{{aoai-key}}"
}
},
"contentExtractionMode": "minimal",
"ingestionSchedule": null,
"ingestionPermissionOptions": ["userIds", "groupIds"]
}
}
}
Observera
Åtkomstkontroll på dokumentnivå med hjälp av ingestionPermissionOptions kräver API-versionen 2025-11-01-preview. 2026-04-01 stöder inte den här funktionen.
Källspecifika egenskaper
För både API-versionerna 2025-11-01 och 2026-04-01 kan du skicka följande egenskaper för att skapa en indexerad OneLake-kunskapskälla.
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
Name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | Sträng | Nej | Ja |
Description |
En beskrivning av kunskapskällan. | Sträng | Ja | Nej |
EncryptionKey |
En kundhanterad nyckel för att kryptera känslig information i både kunskapskällan och de genererade objekten. | Objekt | Ja | Nej |
IndexedOneLakeKnowledgeSourceParameters |
Parametrar som är specifika för OneLake-kunskapskällor: FabricWorkspaceId, LakehouseIdoch TargetPath. |
Objekt | Ja | |
FabricWorkspaceId |
GUID för den arbetsytan som innehåller lakehouse. | Sträng | Nej | Ja |
LakehouseId |
GUID för lakehouse. | Sträng | Nej | Ja |
TargetPath |
En mapp eller genväg i lakehouse. När det är ospecificerat indexeras hela sjöhuset. | Sträng | Nej | Nej |
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | Sträng | Nej | Ja |
description |
En beskrivning av kunskapskällan. | Sträng | Ja | Nej |
encryption_key |
En kundhanterad nyckel för att kryptera känslig information i både kunskapskällan och de genererade objekten. | Objekt | Ja | Nej |
indexed_one_lake_parameters |
Parametrar som är specifika för OneLake-kunskapskällor: fabric_workspace_id, lakehouse_idoch target_path. |
Objekt | Ja | |
fabric_workspace_id |
GUID för den arbetsytan som innehåller lakehouse. | Sträng | Nej | Ja |
lakehouse_id |
GUID för lakehouse. | Sträng | Nej | Ja |
target_path |
En mapp eller genväg i lakehouse. När det är ospecificerat indexeras hela sjöhuset. | Sträng | Nej | Nej |
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | Sträng | Nej | Ja |
kind |
Den typ av kunskapskälla, vilket är indexedOneLake i det här fallet. |
Sträng | Nej | Ja |
description |
En beskrivning av kunskapskällan. | Sträng | Ja | Nej |
encryptionKey |
En kundhanterad nyckel för att kryptera känslig information i både kunskapskällan och de genererade objekten. | Objekt | Ja | Nej |
indexedOneLakeParameters |
Parametrar som är specifika för OneLake-kunskapskällor: fabricWorkspaceId, lakehouseIdoch targetPath. |
Objekt | Ja | |
fabricWorkspaceId |
GUID för den arbetsytan som innehåller lakehouse. | Sträng | Nej | Ja |
lakehouseId |
GUID för lakehouse. | Sträng | Nej | Ja |
targetPath |
En mapp eller genväg i lakehouse. När det är ospecificerat indexeras hela sjöhuset. | Sträng | Nej | Nej |
Egenskaper för inmatningsparametrar
Endast för indexerade kunskapskällor kan du skicka följande ingestionParameters egenskaper för att styra hur innehåll matas in och bearbetas.
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
Identity |
En hanterad identitet som ska användas i den genererade indexeraren. | Objekt | Ja | Nej |
DisableImageVerbalization |
Aktiverar eller inaktiverar användningen av bildverbalisering. Standardvärdet är False, vilket möjliggör verbalisering av bilder. Ställ in på True för att inaktivera verbalisering av bilder. |
Boolean | Nej | Nej |
ChatCompletionModel |
En modell för chattens slutförande som verbaliserar bilder eller extraherar innehåll. Modeller som stöds är gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-minioch gpt-5-nano.
GenAI Prompt-färdigheten ingår i den genererade kompetensuppsättningen. För att ställa in den här parametern krävs också att DisableImageVerbalization den är inställd på False. |
Objekt | Endast ApiKey och DeploymentName kan redigeras |
Nej |
EmbeddingModel |
En textinbäddningsmodell som vektoriserar text- och bildinnehåll under indexering och vid frågetillfället. Modeller som stöds är text-embedding-ada-002, text-embedding-3-smalloch text-embedding-3-large.
Azure OpenAI-inbäddningsfärdigheten ingår i den genererade kompetensuppsättningen och Azure OpenAI-vektoriserare ingår i det genererade indexet. |
Objekt | Endast ApiKey och DeploymentName kan redigeras |
Nej |
ContentExtractionMode |
Styr hur innehåll extraheras från filer. Standardvärdet är minimal, som använder standardinnehållsextrahering för text och bilder. Ange till standard för avancerad dokumentsprickning och segmentering med hjälp av Azure Content Understanding, som ingår i den genererade kompetensuppsättningen. Endast för standard är parametern AiServices specifik. |
Sträng | Nej | Nej |
AiServices |
En Microsoft Foundry-resurs för åtkomst till Azure Content Understanding i Foundry Tools. Om du ställer in den här parametern måste den ContentExtractionMode vara inställd på standard. |
Objekt | Endast ApiKey kan redigeras |
Nej |
IngestionSchedule |
Lägger till schemaläggningsinformation till den genererade indexeraren. Du kan också lägga till ett schema senare för att automatisera datauppdateringen. | Objekt | Ja | Nej |
IngestionPermissionOptions |
Behörigheter på dokumentnivå att mata in tillsammans med innehåll. Ange UserIds, GroupIdseller RbacScope för att lagra behörighetsmetadata i indexet. För källspecifik vägledning, se Mata in RBAC-behörigheter från bloblagring och Mata in ACL:er från ADLS Gen2. Information om hur du framtvingar dessa behörigheter vid frågetillfället finns i Framtvinga behörigheter vid frågetillfället. |
Array | Nej | Nej |
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
identity |
En hanterad identitet som ska användas i den genererade indexeraren. | Objekt | Ja | Nej |
disable_image_verbalization |
Aktiverar eller inaktiverar användningen av bildverbalisering. Standardvärdet är False, vilket möjliggör verbalisering av bilder. Ställ in på True för att inaktivera verbalisering av bilder. |
Boolean | Nej | Nej |
chat_completion_model |
En modell för chattens slutförande som verbaliserar bilder eller extraherar innehåll. Modeller som stöds är gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-minioch gpt-5-nano.
GenAI Prompt-färdigheten ingår i den genererade kompetensuppsättningen. För att ställa in den här parametern krävs också att disable_image_verbalization den är inställd på False. |
Objekt | Endast api_key och deployment_name kan redigeras |
Nej |
embedding_model |
En textinbäddningsmodell som vektoriserar text- och bildinnehåll under indexering och vid frågetillfället. Modeller som stöds är text-embedding-ada-002, text-embedding-3-smalloch text-embedding-3-large.
Azure OpenAI-inbäddningsfärdigheten ingår i den genererade kompetensuppsättningen och Azure OpenAI-vektoriserare ingår i det genererade indexet. |
Objekt | Endast api_key och deployment_name kan redigeras |
Nej |
content_extraction_mode |
Styr hur innehåll extraheras från filer. Standardvärdet är minimal, som använder standardinnehållsextrahering för text och bilder. Ange till standard för avancerad dokumentsprickning och segmentering med hjälp av Azure Content Understanding, som ingår i den genererade kompetensuppsättningen. Endast för standard är parametern ai_services specifik. |
Sträng | Nej | Nej |
ai_services |
En Microsoft Foundry-resurs för åtkomst till Azure Content Understanding i Foundry Tools. Om du ställer in den här parametern måste den content_extraction_mode vara inställd på standard. |
Objekt | Endast api_key kan redigeras |
Nej |
ingestion_schedule |
Lägger till schemaläggningsinformation till den genererade indexeraren. Du kan också lägga till ett schema senare för att automatisera datauppdateringen. | Objekt | Ja | Nej |
ingestion_permission_options |
Behörigheter på dokumentnivå att mata in tillsammans med innehåll. Ange user_ids, group_idseller rbac_scope för att lagra behörighetsmetadata i indexet. För källspecifik vägledning, se Mata in RBAC-behörigheter från bloblagring och Mata in ACL:er från ADLS Gen2. Information om hur du framtvingar dessa behörigheter vid frågetillfället finns i Framtvinga behörigheter vid frågetillfället. |
Array | Nej | Nej |
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
identity |
En hanterad identitet som ska användas i den genererade indexeraren. | Objekt | Ja | Nej |
disableImageVerbalization |
Aktiverar eller inaktiverar användningen av bildverbalisering. Standardvärdet är false, vilket möjliggör verbalisering av bilder. Ställ in på true för att inaktivera verbalisering av bilder. |
Boolean | Nej | Nej |
chatCompletionModel |
En modell för chattens slutförande som verbaliserar bilder eller extraherar innehåll. Modeller som stöds är gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-minioch gpt-5-nano.
GenAI Prompt-färdigheten ingår i den genererade kompetensuppsättningen. För att ställa in den här parametern krävs också att disableImageVerbalization den är inställd på false. |
Objekt | Endast apiKey och deploymentId kan redigeras |
Nej |
embeddingModel |
En textinbäddningsmodell som vektoriserar text- och bildinnehåll under indexering och vid frågetillfället. Modeller som stöds är text-embedding-ada-002, text-embedding-3-smalloch text-embedding-3-large.
Azure OpenAI-inbäddningsfärdigheten ingår i den genererade kompetensuppsättningen och Azure OpenAI-vektoriserare ingår i det genererade indexet. |
Objekt | Endast apiKey och deploymentId kan redigeras |
Nej |
contentExtractionMode |
Styr hur innehåll extraheras från filer. Standardvärdet är minimal, som använder standardinnehållsextrahering för text och bilder. Ange till standard för avancerad dokumentsprickning och segmentering med hjälp av Azure Content Understanding, som ingår i den genererade kompetensuppsättningen. Endast för standard är parametern aiServices specifik. |
Sträng | Nej | Nej |
aiServices |
En Microsoft Foundry-resurs för åtkomst till Azure Content Understanding i Foundry Tools. Om du ställer in den här parametern måste den contentExtractionMode vara inställd på standard. |
Objekt | Endast apiKey kan redigeras |
Nej |
ingestionSchedule |
Lägger till schemaläggningsinformation till den genererade indexeraren. Du kan också lägga till ett schema senare för att automatisera datauppdateringen. | Objekt | Ja | Nej |
ingestionPermissionOptions |
Behörigheter på dokumentnivå att mata in tillsammans med innehåll. Ange userIds, groupIdseller rbacScope för att lagra behörighetsmetadata i indexet. För källspecifik vägledning, se Mata in RBAC-behörigheter från bloblagring och Mata in ACL:er från ADLS Gen2. Information om hur du framtvingar dessa behörigheter vid frågetillfället finns i Framtvinga behörigheter vid frågetillfället. |
Array | Nej | Nej |
Kontrollera inmatningsstatus
Kör följande kod för att övervaka inmatningsförlopp och hälsa, inklusive kunskapskällans typ och detaljerade indexeringsfel för kunskapskällor som genererar en indexeringspipeline och fyller i ett sökindex.
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);
Referens: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))
Referens:SearchIndexClient
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
api-key: {{api-key}}
Content-Type: application/json
Referens:Kunskapskällor – Hämta status
Ett svar för en begäran som innehåller inmatningsparametrar och aktivt matar in innehåll kan se ut som i följande exempel.
{
"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
}
}
Observera
Egenskapen kind och currentSynchronizationState.errors[] matrisen med felinformation på dokumentnivå är tillgängliga från och med API-versionen 2026-04-01. För tidigare API-versioner returneras inte dessa fält. Fältet lastSynchronizationState.status är också nytt 2026-04-01.
Granska de skapade objekten
När du skapar en indexerad OneLake-kunskapskälla skapar söktjänsten även en indexerare, index, kompetensuppsättning och datakälla. Vi rekommenderar inte att du redigerar dessa objekt eftersom ett fel eller inkompatibilitet kan bryta pipelinen.
När du har skapat en kunskapskälla visar svaret de skapade objekten. Dessa objekt skapas enligt en fast mall och deras namn baseras på namnet på kunskapskällan. Du kan inte ändra objektnamnen.
Vi rekommenderar att du använder Azure-portalen för att verifiera att utdata skapas. Arbetsflödet är:
- Kontrollera indexeraren efter lyckade eller misslyckade meddelanden. Anslutnings- eller kvotfel visas här.
- Kontrollera indexet för sökbart innehåll. Använd Sökutforskaren för att köra frågor.
- Kontrollera färdighetsuppsättningen för att lära dig hur ditt innehåll kommer att segmenteras och eventuellt vektoriseras.
- Kontrollera datakällan för anslutningsinformation. Vårt exempel använder API-nycklar för enkelhetens skull, men du kan använda Microsoft Entra ID för autentisering och rollbaserad åtkomstkontroll för auktorisering.
Tilldela en kunskapsbas
Om du är nöjd med kunskapskällan fortsätter du till nästa steg: ange kunskapskällan i en kunskapsbas.
För alla kunskapsbaser som anger en indexerad OneLake-kunskapskälla måste du ange includeReferenceSourceData till true. Det här steget är nödvändigt för att hämta källdokumentets URL till källhänvisningen.
När kunskapsbasen har konfigurerats använder du åtgärden hämta för att fråga kunskapskällan.
Tips
Om du vill framtvinga behörigheter på dokumentnivå anger ingestionPermissionOptions du när du skapar den här kunskapskällan och tar sedan med användarens åtkomsttoken i hämtningsbegäran. Mer information finns i Framtvinga behörigheter vid frågetillfället.
Ta bort en kunskapskälla
Innan du kan ta bort en kunskapskälla måste du ta bort alla kunskapsbaser som refererar till den eller uppdatera kunskapsbasdefinitionen för att ta bort referensen. För kunskapskällor som genererar en index- och indexeringspipeline tas även alla genererade objekt bort. Men om du använde ett befintligt index för att skapa en kunskapskälla tas inte ditt index bort.
Om du försöker ta bort en kunskapskälla som används misslyckas åtgärden och returnerar en lista över berörda kunskapsbaser.
Så här tar du bort en kunskapskälla:
Hämta en lista över alla kunskapsbaser i söktjänsten.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); var knowledgeBases = indexClient.GetKnowledgeBasesAsync(); Console.WriteLine("Knowledge Bases:"); await foreach (var kb in knowledgeBases) { Console.WriteLine($" - {kb.Name}"); }Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseHämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
using Azure.Search.Documents.Indexes; using System.Text.Json; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); // Specify the knowledge base name to retrieve string kbNameToGet = "earth-knowledge-base"; // Get a specific knowledge base definition var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet); var kb = knowledgeBaseResponse.Value; // Serialize to JSON for display string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true }); Console.WriteLine(json);Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName); System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");Referens:SearchIndexClient
Ta bort kunskapskällan.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Referens:SearchIndexClient
Hämta en lista över alla kunskapsbaser i söktjänsten.
# 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}")Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
# Get a knowledge base definition 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)Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
# Delete a knowledge base from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_base("knowledge_base_name") print(f"Knowledge base deleted successfully.")Referens:SearchIndexClient
Ta bort kunskapskällan.
# Delete a knowledge source from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_source("knowledge_source_name") print(f"Knowledge source deleted successfully.")Referens:SearchIndexClient
Hämta en lista över alla kunskapsbaser i söktjänsten.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name api-key: {{api-key}}Referens:Kunskapsbaser – lista
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referens:Kunskapsbaser – Hämta
Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referens:Kunskapsbaser – Ta bort
Ta bort kunskapskällan.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} api-key: {{api-key}}Referens:Kunskapskällor – Ta bort