Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka
Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.
Important
Na funkce, možnosti nebo vlastnosti označené jako (Preview) se nevztahuje smlouva o úrovni služeb, nejsou doporučené pro produkční úlohy a mohou se změnit nebo být omezeny dříve, než budou obecně k dispozici. Podmínky Azure AI Vyhledávač Preview platí pro všechny funkce ve verzi Preview, ať už jsou samostatné nebo součástí obecně dostupné funkce.
Zdroj znalostí objektů blob přebírá obsah ze služby Azure Blob Storage nebo ADLS Gen2 do agentního kanálu pro vyhledávání v Azure AI Vyhledávač. Zdroje znalostí se vytvářejí nezávisle, odkazují na znalostní bázi a používají se jako podkladová data při dotazování znalostní báze za běhu.
Při vytváření zdroje znalostí objektů blob zadáte externí zdroj dat, modely a vlastnosti, které automaticky vygenerují následující Azure AI Vyhledávač objekty:
- Zdroj dat, který představuje kontejner blobů.
- Dovednosti, které rozčleňují a volitelně vektorizují multimodální obsah z kontejneru.
- Index, který ukládá obsah s přidanou hodnotou a splňuje kritéria pro agentní vyhledávání.
- Indexer, který používá předchozí objekty k řízení procesu indexování a obohacovacího řetězce.
Vygenerovaný indexer odpovídá indexeru objektů blob, jehož požadavky, podporované formáty dokumentů a omezení platí také pro zdroje znalostí objektů blob. Další informace najdete v dokumentaci k indexeru objektů blob a omezení indexeru. Pokud vygenerovaná sada dovedností volá externí službu, platí i limity pro vstupy a služby této dovednosti.
Poznámka
Pokud je uživatelský přístup zadaný na úrovni dokumentu (objektu blob) v Azure Storage, může zdroj znalostí přenést metadata oprávnění do indexovaného obsahu v Azure AI Vyhledávač. Další informace najdete v článku Metadata oprávnění pro ADLS Gen2 (Preview) nebo Oblasti působnosti RBAC pro objekty blob (Preview).
Podpora využití
| portál Azure | Microsoft portál Foundry | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Požadavky
Služba Azure AI Vyhledávač v jakékoli oblasti, která poskytuje agentní vyhledávání.
Účet Azure Blob Storage nebo Azure Data Lake Storage (ADLS) Gen2.
Kontejner objektů blob s podporovanými typy obsahu pro textový obsah U volitelné verbalizace obrázků závisí podporovaný typ obsahu na tom, zda váš model dokončování chatu dokáže analyzovat a popsat obrázkový soubor.
Pokud
contentExtractionModejestandard, použijte prostředek Microsoft Foundry v oblasti, která je podporovaná funkcí Porozumění obsahu v nástrojích Foundry, s endpointemhttps://<resource-name>.services.ai.azure.com. Prostředek musí mít nasazení modelu pro vkládání a, pokud povolíte verbalizaci obrázků, nasazení multimodálního chatovacího modelu.Oprávnění k vytváření zdrojů znalostí Nakonfigurujte ověřování bez klíčů pomocí rolí Přispěvatel dat vyhledávací služby a Přispěvatel dat indexu vyhledávání přiřazené k vašemu uživatelskému účtu (doporučeno) nebo použijte klíč rozhraní API pro správu.
spravovaná identita pro vyhledávací službu s rolí Storage Blob Data Reader v rozsahu zdrojového účtu úložiště a s rolí Cognitive Services User u prostředku Microsoft Foundry. Pokud nakonfigurujete asset store v jiném účtu úložiště, přiřaďte také roli Storage Blob Data Contributor v oboru daného účtu úložiště. Pokud kontejner zdroje a kontejner prostředku sdílejí účet, Storage Blob Data Contributor poskytuje přístup ke čtení zdroje i přístup ke čtení a zápisu k úložišti prostředku.
Pokud nastavíte
privatenanetworkAccessMode, splňte následující požadavky:Použijte vyhledávací službu S2, S3, L1 nebo L2.
Povolte ve službě vyhledávání spravovanou identitu přiřazenou systémem nebo uživatelem, přiřaďte jí u účtu úložiště roli Čtenář dat objektů blob služby Storage a použijte
ResourceId=/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>připojovací řetězec. Pro identitu přiřazenou uživatelem také nastavteingestionParameters.identity.Vytvořte a schvalte sdílený privátní odkaz na účet úložiště s
blobID skupiny. Pro ADLS Gen2 vytvořte a schvalte oba sdílené privátní odkazyblobadfs.Vytvořte a schvalte sdílené privátní propojení pro každý koncový bod chráněného modelu. Použijte ID skupiny
openai_accountpro koncové body Azure OpenAI afoundry_accountpro koncové body prostředku Foundry resource.
Požadovaný balíček
Azure.Search.Documents:Pro funkce
2026-08-01-previewje k dispozici nejnovější balíček Preview:dotnet add package Azure.Search.Documents --prereleasePro funkce
2026-04-01: nejnovější stabilní balíček:dotnet add package Azure.Search.Documents
Balíček
Azure.Identitypro bezklíčové ověřování:dotnet add package Azure.Identity
Požadovaný balíček
azure-search-documents:Pro funkce
2026-08-01-previewje k dispozici nejnovější balíček Preview:pip install --pre azure-search-documentsPro funkce
2026-04-01: nejnovější stabilní balíček:pip install azure-search-documents
Balíček
azure-identitypro bezklíčové ověřování:pip install azure-identity
Požadovaná verze rozhraní REST API vyhledávací služby:
Pro funkce ve verzi Preview: 2026-08-01-preview
Obecně dostupné funkce: 2026-04-01
Pro bezklíčové ověřování uveďte v
Authorizationhlavičce každého požadavku HTTP token Microsoft Entra ID.
Kontrola existujících zdrojů znalostí
Zdroj znalostí je objekt nejvyšší úrovně, který lze opakovaně použít. Znalost existujících zdrojů znalostí je užitečná pro opakované použití nebo pojmenování nových objektů.
Spuštěním následujícího kódu zobrazíte seznam zdrojů znalostí podle názvu a typu.
// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();
Console.WriteLine("Knowledge Sources:");
await foreach (var ks in knowledgeSources)
{
Console.WriteLine($" Name: {ks.Name}, Type: {ks.GetType().Name}");
}
Reference:SearchIndexClient
# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
for ks in index_client.list_knowledge_sources():
print(f" - {ks.name} ({ks.kind})")
Reference:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Referenční informace:Zdroje znalostí – seznam
Pokud chcete zkontrolovat jeho definici JSON, můžete také vrátit jeden zdroj znalostí podle názvu.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Reference:SearchIndexClient
# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))
Reference:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Referenční informace:Zdroje znalostí – Získání
Následující JSON je ukázková odpověď pro zdroj znalostí objektu blob.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"ingestionParameters": {
"disableImageVerbalization": false,
"ingestionPermissionOptions": [],
"contentExtractionMode": "standard",
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<aoai-endpoint>",
"deploymentId": "gpt-5-mini",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<aoai-endpoint>",
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
Poznámka
Citlivé informace jsou upraveny. Vygenerované prostředky se zobrazí na konci odpovědi.
Vytvoření zdroje znalostí
Spuštěním následujícího kódu vytvořte zdroj znalostí objektů blob.
// Create a blob knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Search.Documents.Models;
using Azure.Identity;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var chatCompletionParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel
};
var embeddingParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiEmbeddingDeployment,
ModelName = aoaiEmbeddingModel
};
var ingestionParams = new KnowledgeSourceIngestionParameters
{
NetworkAccessMode = KnowledgeSourceNetworkAccessMode.Public,
DisableImageVerbalization = false,
ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
{
AzureOpenAIParameters = embeddingParams
},
IngestionPermissionOptions = new List<KnowledgeSourceIngestionPermissionOption>
{
KnowledgeSourceIngestionPermissionOption.UserIds,
KnowledgeSourceIngestionPermissionOption.GroupIds
}
};
var blobParams = new AzureBlobKnowledgeSourceParameters(
connectionString: connectionString,
containerName: containerName
)
{
IsAdlsGen2 = false,
IngestionParameters = ingestionParams
};
var knowledgeSource = new AzureBlobKnowledgeSource(
name: "my-blob-ks",
azureBlobParameters: blobParams
)
{
Description = "This knowledge source pulls from a blob storage container."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Reference:SearchIndexClient, AzureBlobKnowledgeSource
# Create a blob knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import AzureBlobKnowledgeSource, AzureBlobKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters
from azure.search.documents.knowledgebases.models import KnowledgeSourceNetworkAccessMode
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
knowledge_source = AzureBlobKnowledgeSource(
name = "my-blob-ks",
description = "This knowledge source pulls from a blob storage container.",
encryption_key = None,
azure_blob_parameters = AzureBlobKnowledgeSourceParameters(
connection_string = "blob_connection_string",
container_name = "blob_container_name",
folder_path = None,
is_adls_gen2 = False,
ingestion_parameters = KnowledgeSourceIngestionParameters(
network_access_mode = KnowledgeSourceNetworkAccessMode.PUBLIC,
identity = None,
disable_image_verbalization = False,
chat_completion_model = KnowledgeBaseAzureOpenAIModel(
azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-gpt-deployment>",
model_name = "<aoai-gpt-model>",
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-embedding-deployment>",
model_name = "<aoai-embedding-model>",
)
),
content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
ingestion_schedule = None,
ingestion_permission_options = ["user_ids", "group_ids"]
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Reference:SearchIndexClient
### Create a blob knowledge source
PUT {{search-endpoint}}/knowledgesources/my-blob-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "This knowledge source pulls from a blob storage container.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "ResourceId=<storage-resource-id>",
"containerName": "<blob-container-name>",
"folderPath": null,
"isADLSGen2": false,
"ingestionParameters": {
"networkAccessMode": "public",
"identity": null,
"disableImageVerbalization": null,
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-gpt-deployment}}",
"modelName": "{{aoai-gpt-model}}"
}
},
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-embedding-deployment}}",
"modelName": "{{aoai-embedding-model}}"
}
},
"contentExtractionMode": "minimal",
"ingestionSchedule": null,
"ingestionPermissionOptions": ["userIds", "groupIds"]
}
}
}
Referenční informace:Zdroje znalostí – Vytvoření nebo aktualizace
Poznámka
Chcete-li vynutit oprávnění na úrovni dokumentu pomocí ingestionPermissionOptions, použijte verzi rozhraní API 2026-08-01-preview. Verze rozhraní API z 4. 4. 2026 tuto funkci nepodporuje.
Omezit příjem dat na privátní síť (Preview)
Od verze rozhraní API 2026-08-01-previewnetworkAccessMode určuje síťové prostředí, ve kterém běží generovaný indexer pro zdroj znalostí objektů blob. Toto nastavení ovlivňuje pouze ingestování dat a nemění požadavky na načtení ze znalostní báze ani odpovědi ze znalostní báze.
networkAccessMode výchozí hodnota je public, která zachovává stávající chování veřejné sítě. Pokud je networkAccessModeprivate, vygenerovaný indexer se spouští v privátním prostředí pro spouštění. Používá schválené sdílené privátní propojení pro přístup ke zdrojovému připojení Azure Blob Storage nebo ADLS Gen2 a podporované závislosti Azure, jako jsou Azure modely OpenAI a prostředky Microsoft Foundry.
Konfigurace a ověření přístupu k privátní síti:
Dokončete požadavky na privátní síť.
Nastavte
networkAccessModenaprivatev požadavku na vytvoření zdroje znalostí. Tuto vlastnost můžete nastavit pouze během vytváření. Pokud ho chcete později změnit, odstraňte a znovu vytvořte zdroj znalostí.Vytvoření může selhat, pokud úroveň služby nebo modul runtime nepodporuje privátní spuštění nebo pokud neexistuje požadovaný sdílený privátní odkaz.
Ověřte, že vygenerovaný indexer
privatejeexecutionEnvironment.Ověřte, že je každý požadovaný sdílený privátní odkaz schválený a cílí na správnou závislost. Samotné úspěšné vytvoření samo o sobě nepotvrzuje schválení odkazu ani cílení.
Zjišťujte stav znalostního zdroje, dokud
lastSynchronizationState.endTimenebude mít hodnotu. Ověřte, že0jeitemsUpdatesFailed, a poté ověřte zdrojový obsah pro daný konektor. Synchronizace selže, pokud závislost není dostupná.
Použití automatických analyzátorů pro jednotlivé jazyky (Preview)
2026-08-01-preview Počínaje verzí rozhraní API jsou automatické analyzátory pro jednotlivé jazyky dostupné pro objekty blob, indexované OneLake a indexované SharePoint zdroje znalostí. Pokud je tato možnost povolená, Azure AI Vyhledávač rozpozná jazyk jednotlivých zdrojových dokumentů a automaticky použije odpovídající analyzátor jazyka Microsoft. V definici zdroje znalostí ani v dotazu nezadáte analyzátor.
Pokud chcete povolit automatické analyzátory pro jednotlivé jazyky, nastavte contentExtractionModeminimal a nakonfigurujte ingestionParameters.aiServices v definici zdroje znalostí.
Pro ověřování bez klíčů vynecháte aiServices.apiKey a přiřaďte roli uživatele služeb Cognitive Services ve vašem prostředku Microsoft Foundry spravované identitě vyhledávací služby. Pro ověřování na základě klíčů nastavte aiServices.apiKey platný klíč pro váš prostředek Foundry.
Podporují se následující jazyky:
- Angličtina
- Japanese
- French
- Spanish
- Němčina
- Dutch
- Italian
- Brazilská portugalština
- Evropská portugalština
- Zjednodušená čínština
- Tradiční čínština
- Korean
Pro vícejazyčný obsah Azure AI Vyhledávač vybere analyzátor založený na převládajícím zjištěném jazyce. Používá standardní analyzátor, pokud jazyk není podporovaný nebo nejistý.
Když povolíte automatické analyzátory pro jednotlivé jazyky, Azure AI Vyhledávač přidá pole obsahu specifická pro jazyk pro každý podporovaný jazyk do vygenerovaného schématu indexu bez ohledu na to, jestli vaše data v těchto jazycích obsahují dokumenty. Během příjmu dat se dokumenty směrují do příslušného pole specifického jazyka na základě zjištěného jazyka.
Nepoužitá jazyková pole neobsahují indexovaný obsah a mají minimální dopad na úložiště, ale zůstávají součástí schématu indexu a započítávají se do limitu pole indexu. Při plánování návrhu indexu, počtu polí a požadavků na úložiště zvažte další pole. Další informace najdete v tématu Omezení indexu a Odhad a správa kapacity vyhledávací služby.
Rozpoznávání jazyka se účtuje po přidělení bezplatného rozšiřování AI. Další informace naleznete v tématu Bezplatné rozšiřování.
Kontrola stavu příjmu dat
Spuštěním následujícího kódu monitorujte průběh a stav příjmu, včetně druhu zdroje znalostí a podrobných chyb indexování pro zdroje znalostí, které generují kanál indexeru a naplní index vyhledávání.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;
// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);
Reference:SearchIndexClient
# Check knowledge source ingestion status
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))
status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))
Reference:SearchIndexClient
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
Authorization: Bearer {{token}}
Content-Type: application/json
Reference:Zdroje znalostí – Získání stavu
Odpověď na požadavek, který obsahuje parametry příjmu dat a aktivně ingestuje obsah, může vypadat jako v následujícím příkladu.
{
"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
}
}
Poznámka
Vlastnost kind a currentSynchronizationState.errors[] pole s podrobnostmi o chybě na úrovni dokumentu jsou k dispozici od verze rozhraní API 2026-04-01. U starších verzí rozhraní API se tato pole nevrácejí. Pole lastSynchronizationState.status je také nové v roce 2026-04-01.
Kontrola vygenerovaných objektů
Když tento zdroj znalostí vytvoříte, Azure AI Vyhledávač automaticky vygeneruje zdroj dat, sadu dovedností, indexer a index. Odpověď na vytvoření uvádí každý objekt pod createdResources.
Tyto objekty se generují podle pevné šablony a jejich názvy jsou založeny na názvu zdroje znalostí. Názvy objektů nemůžete změnit. Vyhněte se úpravám těchto objektů přímo, protože změny můžou představovat chyby nebo nekompatibility, které přeruší kanál indexeru.
K ověření vytváření objektů můžete použít portál Azure. Pracovní postup je:
Zkontrolujte indexer kvůli zprávám o úspěchu nebo selhání. Tady se zobrazí chyby připojení nebo kvóty.
Zkontrolujte zdroj dat a ověřte připojení k úložišti dat. Připojení používá připojovací řetězec nebo spravovanou identitu podle toho, jak jste nakonfigurovali zdroj znalostí.
Zkontrolujte sadu dovedností a podívejte se, jak je váš obsah rozdělen na části a případně převeden na vektory.
Zkontrolujte index a podívejte se, jak se váš obsah indexuje a zobrazuje pro načtení, včetně polí, která jsou prohledávatelná a filtrovatelná a která pole ukládají vektory pro vyhledávání podobnosti. Pomocí Průzkumníka služby Search můžete spouštět dotazy na vygenerovaný index.
Přiřazení ke znalostní bázi
Pokud jste s zdrojem znalostí spokojení, přidejte ho do znalostní báze.
Dotazování znalostní báze
Jakmile nakonfigurujete znalostní bázi, zavolejte akci načtení nebo koncový bod MCP a dotazujte se na zdroj znalostí. Zvolte konfiguraci, která odpovídá vašemu scénáři.
Vynucení oprávnění na úrovni dokumentu (Preview)
Pokud chcete vynutit oprávnění na úrovni dokumentu, nastavte ingestionPermissionOptions při vytváření tohoto zdroje znalostí a pak do žádosti o načtení zahrňte přístupový token uživatele. Další informace najdete v tématu Vynucení oprávnění v době dotazu (Preview).
Zobrazit obrázky vložené v dokumentu (Preview verze)
Chcete-li v odpovědích generovaných syntézou odpovědí zobrazovat obrázky vložené do dokumentů (například diagramy nebo skeny), nakonfigurujte na tomto zdroji znalostí možnost assetStore a potom v bázi znalostí povolte zobrazování obrázků. Poskytování obrázků není podporováno, když je nakonfigurováno ingestionPermissionOptions. Další informace najdete v tématu Zobrazení obrázků vložených do dokumentu v agentním vyhledávání (verze Preview).
Odstranění zdroje znalostí
Než budete moct odstranit zdroj znalostí, musíte odstranit jakoukoli znalostní bázi, která na ni odkazuje, nebo aktualizovat definici znalostní báze, aby se odkaz odebral. Pro zdroje znalostí, které generují kanál indexu a indexeru, se odstraní také všechny vygenerované objekty . Pokud jste ale k vytvoření zdroje znalostí použili existující index, index se neodstraní.
Pokud se pokusíte odstranit zdroj znalostí, který se používá, akce selže a vrátí seznam ovlivněných znalostních bází.
Odstranění zdroje znalostí:
Získejte seznam všech znalostních bází ve vyhledávací službě.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); var knowledgeBases = indexClient.GetKnowledgeBasesAsync(); Console.WriteLine("Knowledge Bases:"); await foreach (var kb in knowledgeBases) { Console.WriteLine($" - {kb.Name}"); }Reference:SearchIndexClient
Příklad odpovědi může vypadat takto:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Získejte individuální definici znalostní báze a zkontrolujte odkazy na zdroje znalostí.
using Azure.Search.Documents.Indexes; using System.Text.Json; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); // Specify the knowledge base name to retrieve string kbNameToGet = "earth-knowledge-base"; // Get a specific knowledge base definition var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet); var kb = knowledgeBaseResponse.Value; // Serialize to JSON for display string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true }); Console.WriteLine(json);Reference:SearchIndexClient
Příklad odpovědi může vypadat takto:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Odstraňte znalostní bázi nebo pokud máte více zdrojů znalostí, aktualizujte znalostní bázi tak, aby zdroj odebral. Tento příklad ukazuje odstranění.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName); System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");Reference:SearchIndexClient
Odstraňte zdroj znalostí.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Získejte seznam všech znalostních bází ve vyhledávací službě.
# Get knowledge bases from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) print("Knowledge Bases:") for kb in index_client.list_knowledge_bases(): print(f" - {kb.name}")Reference:SearchIndexClient
Příklad odpovědi může vypadat takto:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Získejte individuální definici znalostní báze a zkontrolujte odkazy na zdroje znalostí.
# Get a knowledge base definition from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) kb = index_client.get_knowledge_base("knowledge_base_name") print(kb)Reference:SearchIndexClient
Příklad odpovědi může vypadat takto:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Odstraňte znalostní bázi nebo pokud máte více zdrojů znalostí, aktualizujte znalostní bázi tak, aby zdroj odebral. Tento příklad ukazuje odstranění.
# Delete a knowledge base from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_base("knowledge_base_name") print(f"Knowledge base deleted successfully.")Reference:SearchIndexClient
Odstraňte zdroj znalostí.
# Delete a knowledge source from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_source("knowledge_source_name") print(f"Knowledge source deleted successfully.")Reference:SearchIndexClient
Získejte seznam všech znalostních bází ve vyhledávací službě.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Referenční informace:Znalostní báze – seznam
Příklad odpovědi může vypadat takto:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Získejte individuální definici znalostní báze a zkontrolujte odkazy na zdroje znalostí.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referenční informace:Znalostní báze – Získat
Příklad odpovědi může vypadat takto:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Odstraňte znalostní bázi nebo pokud máte více zdrojů znalostí, aktualizujte znalostní bázi tak, aby zdroj odebral. Tento příklad ukazuje odstranění.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referenční informace:Znalostní báze – Odstranění
Odstraňte zdroj znalostí.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referenční informace:Zdroje znalostí – Odstranění