Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Questa funzionalità agentic di recupero è generalmente disponibile nell'API REST versione 2026-04-01 tramite accesso programmatico. Il portale di Azure e il portale Foundry di Microsoft continueranno a fornire l'accesso in anteprima a tutte le funzionalità di recupero agentico. Per indicazioni sulla migrazione, vedere Eseguire la migrazione del codice di recupero agenti alla versione più recente.
Se si sceglie di usare un'API REST di anteprima, è possibile accedere alle funzionalità non ancora disponibili a livello generale per questa funzionalità. Le funzionalità di anteprima vengono fornite senza un contratto di servizio e non sono consigliate per i carichi di lavoro di produzione. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.
Importante
Queste funzionalità e funzionalità fanno parte dell'API REST 2026-05-01-preview. L'anteprima 2026-05-01-preview è concessa in licenza all'utente come parte della sottoscrizione Azure ed è soggetta ai termini applicabili alle "Anteprime" nei Microsoft Product Terms, nel Microsoft Products and Services Data Protection Addendum ("DPA") e nei Supplemental Terms of Use for Microsoft Azure Previews.
La versione 2026-05-01-preview supporta le connessioni ad altri servizi di servizi Microsoft e di terze parti. L'utilizzo di questi servizi è soggetto alle rispettive condizioni e potrebbe comportare l'elaborazione o l'archiviazione dei dati al di fuori del limite di conformità Azure, nonché il flusso dei dati nel limite di conformità Azure.
L'anteprima 2026-05-01-preview non può modificare le autorizzazioni di accesso impostate al di fuori dell'anteprima 2026-05-01-preview. Se si utilizza la versione 2026-05-01-preview con contenuti soggetti a restrizioni di accesso o autorizzazioni, si verificherà un ritardo prima che la versione 2026-05-01-preview riconosca le modifiche apportate a tali restrizioni di accesso o autorizzazioni.
È tua responsabilità gestire l'eventuale trasferimento dei tuoi dati al di fuori dei confini di conformità e geografici della tua organizzazione e le relative implicazioni, nonché garantire che siano predisposte le autorizzazioni, i limiti e le approvazioni appropriati.
L'utente è responsabile di esaminare e testare attentamente le applicazioni compilate nel contesto dei casi d'uso specifici e di prendere tutte le decisioni e le personalizzazioni appropriate. Ciò include l'implementazione di mitigazioni di intelligenza artificiale responsabili, ad esempio metaprompt, filtri di contenuto o altri sistemi di sicurezza, e garantire che le applicazioni soddisfino gli standard di qualità, affidabilità, sicurezza e attendibilità appropriati. Per altre informazioni, vedere la nota sulla trasparenza Azure AI Search.
Un origine della conoscenza OneLake indicizzata acquisisce i file di Microsoft OneLake in una pipeline di recupero agentico in Azure AI Search. Le origini delle informazioni vengono create in modo indipendente, a cui viene fatto riferimento in una Knowledge Base e usate come dati di base quando viene eseguita una query sulla Knowledge Base in fase di esecuzione.
Quando si crea una fonte di conoscenza OneLake indicizzata, si specifica una fonte dati esterna, dei modelli e delle proprietà per generare automaticamente i seguenti oggetti di Azure AI Search:
- Un'origine dati che rappresenta un lakehouse.
- Insieme di competenze che suddivide e, facoltativamente, vettorizza i contenuti multimodali dal lakehouse.
- Indice che archivia il contenuto arricchito e soddisfa i criteri per il recupero agentico.
- Indicizzatore che usa gli oggetti precedenti per guidare la pipeline di indicizzazione e arricchimento.
L'indicizzatore generato è conforme all'indicizzatore OneLake, i cui prerequisiti, le attività supportate, i formati di documento supportati, i collegamenti supportati e le limitazioni si applicano anche alle origini conoscenze di OneLake. Per altre informazioni, vedere la documentazione dell'indicizzatore OneLake.
Supporto per l'utilizzo
| Portal di Azure | portale Microsoft Foundry | .NET SDK | Python SDK | Java SDK | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerequisiti
Servizio di Ricerca con intelligenza artificiale di Azure disponibile in qualsiasi area che supporta il recupero tramite agenti autonomi.
Completamento dei prerequisiti dell'indicizzatore OneLake.
Completamento della preparazione dei dati dell'indicizzatore OneLake.
Autorizzazioni per la creazione di origini delle informazioni. Configurare l'autenticazione senza chiave con il ruolo Collaboratore servizio di ricerca assegnato all'account utente (scelta consigliata) o usare una chiave API.
Se l'origine dati di conoscenza specifica un modello Azure OpenAI per incorporamenti vettoriali o descrizione delle immagini, il servizio di ricerca deve avere un'identità gestita con autorizzazioni Utente di Servizi cognitivi sulla risorsa Microsoft Foundry.
Pacchetto
Azure.Search.Documentsobbligatorio:Per le funzionalità di anteprima 2026-05-01, il pacchetto di anteprima più recente:
dotnet add package Azure.Search.Documents --prereleasePer le funzionalità 2026-04-01, il pacchetto stabile più recente:
dotnet add package Azure.Search.Documents
Pacchetto
azure-search-documentsobbligatorio:Per le funzionalità di anteprima 2026-05-01, il pacchetto di anteprima più recente:
pip install --pre azure-search-documentsPer le funzionalità 2026-04-01, il pacchetto stabile più recente:
pip install azure-search-documents
Versione dell'API REST necessaria:
Per le funzionalità di anteprima: Servizio di ricerca 2026-05-01-preview
Per le funzionalità disponibili a livello generale: Servizio di ricerca 2026-04-01
Verificare la presenza di fonti di conoscenza esistenti
Un'origine delle conoscenze è un oggetto riutilizzabile di primo livello. Conoscere le origini conoscenze esistenti è utile per riutilizzare o denominare nuovi oggetti.
Eseguire il codice seguente per elencare le origini delle informazioni in base al nome e al tipo.
// 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
api-key: {{api-key}}
Reference:Knowledge Sources - List
Puoi anche restituire una singola fonte di conoscenza per nome per esaminarne la definizione JSON.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Reference:SearchIndexClient
# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))
Reference:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}
Reference:Fonti di Conoscenza - Ottieni
Il codice JSON seguente è una risposta di esempio per una sorgente di conoscenza di OneLake indicizzata.
{
"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": "<your-foundry-resource-endpoint>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini"
}
},
"ingestionSchedule": null,
"aiServices": {
"uri": "<your-foundry-resource-endpoint>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-onelake-ks-datasource",
"indexer": "my-onelake-ks-indexer",
"skillset": "my-onelake-ks-skillset",
"index": "my-onelake-ks-index"
}
}
}
Creare una fonte di conoscenza
Esegui il codice seguente per creare una sorgente indicizzata di conoscenza OneLake.
// 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.");
Reference:SearchIndexClient, IndexedOneLakeKnowledgeSource
# 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.")
Reference:SearchIndexClient
### Create an indexed OneLake knowledge source
PUT {{search-url}}/knowledgesources/my-onelake-ks?api-version=2026-05-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"]
}
}
}
Riferimento:Fonti di conoscenza - Creare o Aggiornare
Nota
L'imposizione delle autorizzazioni a livello di documento tramite ingestionPermissionOptions richiede la versione dell'API 2026-05-01-preview. 2026-04-01 non supporta questa funzionalità.
Proprietà specifiche dell'origine
Le proprietà seguenti si applicano alle origini conoscenze OneLake indicizzate.
| Nome | Descrizione | Digitare | Modificabile | Obbligatorio |
|---|---|---|---|---|
Name |
Nome dell'origine di conoscenza, che deve essere univoco all'interno della raccolta delle origini di conoscenza e seguire le linee guida di denominazione per gli oggetti in Azure AI Search. | Stringa | No | Sì |
Description |
Descrizione dell'origine delle informazioni. | Stringa | Sì | No |
EncryptionKey |
Chiave gestita dal cliente per crittografare le informazioni riservate sia nell'origine delle informazioni che negli oggetti generati. | Oggetto | Sì | No |
IndexedOneLakeKnowledgeSourceParameters |
Parametri specifici delle origini delle conoscenze di OneLake: FabricWorkspaceId, LakehouseIde TargetPath. |
Oggetto | Sì | |
FabricWorkspaceId |
GUID dello spazio di lavoro che contiene la lakehouse. | Stringa | No | Sì |
LakehouseId |
GUID del lakehouse. | Stringa | No | Sì |
TargetPath |
Una cartella o un collegamento all'interno della lakehouse. Se non specificato, l'intera lakehouse viene indicizzata. | Stringa | No | No |
| Nome | Descrizione | Digitare | Modificabile | Obbligatorio |
|---|---|---|---|---|
name |
Nome dell'origine di conoscenza, che deve essere univoco all'interno della raccolta delle origini di conoscenza e seguire le linee guida di denominazione per gli oggetti in Azure AI Search. | Stringa | No | Sì |
description |
Descrizione dell'origine delle informazioni. | Stringa | Sì | No |
encryption_key |
Chiave gestita dal cliente per crittografare le informazioni riservate sia nell'origine delle informazioni che negli oggetti generati. | Oggetto | Sì | No |
indexed_one_lake_parameters |
Parametri specifici delle origini delle conoscenze di OneLake: fabric_workspace_id, lakehouse_ide target_path. |
Oggetto | Sì | |
fabric_workspace_id |
GUID dello spazio di lavoro che contiene la lakehouse. | Stringa | No | Sì |
lakehouse_id |
GUID del lakehouse. | Stringa | No | Sì |
target_path |
Una cartella o un collegamento all'interno della lakehouse. Se non specificato, l'intera lakehouse viene indicizzata. | Stringa | No | No |
| Nome | Descrizione | Digitare | Modificabile | Obbligatorio |
|---|---|---|---|---|
name |
Nome dell'origine di conoscenza, che deve essere univoco all'interno della raccolta delle origini di conoscenza e seguire le linee guida di denominazione per gli oggetti in Azure AI Search. | Stringa | No | Sì |
kind |
Il tipo di origine delle conoscenze, che in questo caso è indexedOneLake . |
Stringa | No | Sì |
description |
Descrizione dell'origine delle informazioni. | Stringa | Sì | No |
encryptionKey |
Chiave gestita dal cliente per crittografare le informazioni riservate sia nell'origine delle informazioni che negli oggetti generati. | Oggetto | Sì | No |
indexedOneLakeParameters |
Parametri specifici delle origini delle conoscenze di OneLake: fabricWorkspaceId, lakehouseIde targetPath. |
Oggetto | Sì | |
fabricWorkspaceId |
GUID dello spazio di lavoro che contiene la lakehouse. | Stringa | No | Sì |
lakehouseId |
GUID del lakehouse. | Stringa | No | Sì |
targetPath |
Una cartella o un collegamento all'interno della lakehouse. Se non specificato, l'intera lakehouse viene indicizzata. | Stringa | No | No |
Proprietà dei parametri di inserimento
Solo per le fonti di conoscenza indicizzate, è possibile passare le seguenti proprietà ingestionParameters per controllare il modo in cui il contenuto viene acquisito ed elaborato.
| Nome | Descrizione | Digitare | Modificabile | Obbligatorio |
|---|---|---|---|---|
Identity |
Identità gestita da usare nell'indicizzatore generato. | Oggetto | Sì | No |
DisableImageVerbalization |
Abilita o disabilita l'uso della verbalizzazione delle immagini. Il valore predefinito è False, che abilita la verbalizzazione delle immagini. Impostare True su disabilitare la verbalizzazione delle immagini. |
Booleano | No | No |
ChatCompletionModel |
Modello di completamento della chat che verbalizza le immagini o estrae il contenuto. I modelli supportati sono gpt-4o, gpt-4o-mini, gpt-4.1gpt-4.1-mini, gpt-4.1-nano, gpt-5, , gpt-5-minie gpt-5-nano. La competenza Prompt GenAI è inclusa nel set di competenze generato. L'impostazione di questo parametro richiede anche che DisableImageVerbalization sia impostato su False. Quando ContentExtractionMode è impostato su standard, ChatCompletionModel.AzureOpenAIParameters.ResourceUri deve essere uguale a AiServices.Uri e entrambi i parametri devono puntare alla stessa risorsa Microsoft Foundry in services.ai.azure.com. |
Oggetto | Solo ApiKey e DeploymentName sono modificabili |
No |
EmbeddingModel |
Modello di incorporamento di testo che vettorizza il contenuto di testo e immagine durante l'indicizzazione e in fase di query. I modelli supportati sono text-embedding-ada-002, text-embedding-3-smalle text-embedding-3-large. La funzionalità di embedding di Azure OpenAI è inclusa nel set di funzionalità generato e il vettorizzatore Azure OpenAI è incluso nell'indice generato. |
Oggetto | Solo ApiKey e DeploymentName sono modificabili |
No |
ContentExtractionMode |
Controlla la modalità di estrazione del contenuto dai file. Il valore predefinito è minimal, che usa metodi di estrazione del contenuto di base per testo e immagini. Impostare su standard per il cracking e la suddivisione avanzata dei documenti utilizzando la funzionalità Azure Content Understanding, che è inclusa nel set di competenze generato. Solo per standard, il parametro AiServices può essere specificato e ChatCompletionModel.AzureOpenAIParameters.ResourceUri deve essere uguale a AiServices.Uri. Per altre informazioni, vedere la ChatCompletionModel riga . |
Stringa | No | No |
AiServices |
Una risorsa di Foundry per accedere ad Azure Content Understanding in Foundry Tools. L'impostazione di questo parametro richiede che ContentExtractionMode sia impostato su standard. Per altre informazioni, vedere la ChatCompletionModel riga . |
Oggetto | Solo ApiKey modificabile |
No |
IngestionSchedule |
Aggiunge informazioni di pianificazione all'indicizzatore generato. È anche possibile aggiungere una pianificazione in un secondo momento per automatizzare l'aggiornamento dei dati. | Oggetto | Sì | No |
IngestionPermissionOptions |
Autorizzazioni a livello di documento per l'inserimento insieme al contenuto. Specificare UserIds, GroupIds o RbacScope per archiviare i metadati delle autorizzazioni nell'indice. È anche possibile specificare SensitivityLabel per acquisire i metadati delle etichette di riservatezza di Microsoft Purview per le origini dati di conoscenza blob, OneLake indicizzate e SharePoint indicizzate. Per indicazioni RBAC specifiche dell'origine, vedere Acquisire le autorizzazioni RBAC dall'archiviazione BLOB e Acquisire gli ACL da ADLS Gen2. Per applicare queste autorizzazioni in fase di query, vedere Applicare le autorizzazioni in fase di query. |
Array | No | No |
AssetStore |
(solo nell'anteprima 2026-05-01) Contenitore BLOB usato per archiviare in modo permanente le immagini estratte dai documenti di origine. Obbligatorio per abilitare la gestione delle immagini (anteprima) per la Knowledge Base. Se si imposta questo parametro, viene effettuato il provisioning di un repository di conoscenza insieme all'origine della conoscenza per archiviare gli artefatti delle immagini. È possibile esaminare e gestire questo archivio conoscenze come qualsiasi altro. L'account di archiviazione deve rimanere accessibile al servizio di ricerca per la durata della Knowledge Base. | Oggetto | No | No |
| Nome | Descrizione | Digitare | Modificabile | Obbligatorio |
|---|---|---|---|---|
identity |
Identità gestita da usare nell'indicizzatore generato. | Oggetto | Sì | No |
disable_image_verbalization |
Abilita o disabilita l'uso della verbalizzazione delle immagini. Il valore predefinito è False, che abilita la verbalizzazione delle immagini. Impostare True su disabilitare la verbalizzazione delle immagini. |
Booleano | No | No |
chat_completion_model |
Modello di completamento della chat che verbalizza le immagini o estrae il contenuto. I modelli supportati sono gpt-4o, gpt-4o-mini, gpt-4.1gpt-4.1-mini, gpt-4.1-nano, gpt-5, , gpt-5-minie gpt-5-nano. La competenza Prompt GenAI è inclusa nel set di competenze generato. L'impostazione di questo parametro richiede anche che disable_image_verbalization sia impostato su False. Quando content_extraction_mode è impostato su standard, chat_completion_model.azure_open_ai_parameters.resource_url deve essere uguale a ai_services.uri e entrambi i parametri devono puntare alla stessa risorsa Microsoft Foundry in services.ai.azure.com. |
Oggetto | Solo api_key e deployment_name sono modificabili |
No |
embedding_model |
Modello di incorporamento di testo che vettorizza il contenuto di testo e immagine durante l'indicizzazione e in fase di query. I modelli supportati sono text-embedding-ada-002, text-embedding-3-smalle text-embedding-3-large. La funzionalità di embedding di Azure OpenAI è inclusa nel set di funzionalità generato e il vettorizzatore Azure OpenAI è incluso nell'indice generato. |
Oggetto | Solo api_key e deployment_name sono modificabili |
No |
content_extraction_mode |
Controlla la modalità di estrazione del contenuto dai file. Il valore predefinito è minimal, che usa metodi di estrazione del contenuto di base per testo e immagini. Impostare su standard per il cracking e la suddivisione avanzata dei documenti utilizzando la funzionalità Azure Content Understanding, che è inclusa nel set di competenze generato. Solo per standard, il parametro ai_services può essere specificato e chat_completion_model.azure_open_ai_parameters.resource_url deve essere uguale a ai_services.uri. Per altre informazioni, vedere la chat_completion_model riga . |
Stringa | No | No |
ai_services |
Una risorsa di Foundry per accedere ad Azure Content Understanding negli strumenti di Foundry. L'impostazione di questo parametro richiede che content_extraction_mode sia impostato su standard. Per altre informazioni, vedere la chat_completion_model riga . |
Oggetto | Solo api_key modificabile |
No |
ingestion_schedule |
Aggiunge informazioni di pianificazione all'indicizzatore generato. È anche possibile aggiungere una pianificazione in un secondo momento per automatizzare l'aggiornamento dei dati. | Oggetto | Sì | No |
ingestion_permission_options |
Autorizzazioni a livello di documento per l'inserimento insieme al contenuto. Specificare user_ids, group_ids o rbac_scope per archiviare i metadati delle autorizzazioni nell'indice. È anche possibile specificare sensitivity_label per acquisire i metadati delle etichette di riservatezza di Microsoft Purview per le origini dati di conoscenza blob, OneLake indicizzate e SharePoint indicizzate. Per indicazioni RBAC specifiche dell'origine, vedere Acquisire le autorizzazioni RBAC dall'archiviazione BLOB e Acquisire gli ACL da ADLS Gen2. Per applicare queste autorizzazioni in fase di query, vedere Applicare le autorizzazioni in fase di query. |
Array | No | No |
asset_store |
(solo nell'anteprima 2026-05-01) Contenitore BLOB usato per archiviare in modo permanente le immagini estratte dai documenti di origine. Obbligatorio per abilitare la gestione delle immagini (anteprima) per la Knowledge Base. Se si imposta questo parametro, viene effettuato il provisioning di un repository di conoscenza insieme all'origine della conoscenza per archiviare gli artefatti delle immagini. È possibile esaminare e gestire questo archivio conoscenze come qualsiasi altro. L'account di archiviazione deve rimanere accessibile al servizio di ricerca per la durata della Knowledge Base. | Oggetto | No | No |
| Nome | Descrizione | Digitare | Modificabile | Obbligatorio |
|---|---|---|---|---|
identity |
Identità gestita da usare nell'indicizzatore generato. | Oggetto | Sì | No |
disableImageVerbalization |
Abilita o disabilita l'uso della verbalizzazione delle immagini. Il valore predefinito è false, che abilita la verbalizzazione delle immagini. Impostare true su disabilitare la verbalizzazione delle immagini. |
Booleano | No | No |
chatCompletionModel |
Modello di completamento della chat che verbalizza le immagini o estrae il contenuto. I modelli supportati sono gpt-4o, gpt-4o-mini, gpt-4.1gpt-4.1-mini, gpt-4.1-nano, gpt-5, , gpt-5-minie gpt-5-nano. La competenza Prompt GenAI è inclusa nel set di competenze generato. L'impostazione di questo parametro richiede anche che disableImageVerbalization sia impostato su false. Quando contentExtractionMode è impostato su standard, chatCompletionModel.azureOpenAIParameters.resourceUri deve essere uguale a aiServices.uri e entrambi i parametri devono puntare alla stessa risorsa Microsoft Foundry in services.ai.azure.com. |
Oggetto | Solo apiKey e deploymentId sono modificabili |
No |
embeddingModel |
Modello di incorporamento di testo che vettorizza il contenuto di testo e immagine durante l'indicizzazione e in fase di query. I modelli supportati sono text-embedding-ada-002, text-embedding-3-smalle text-embedding-3-large. La funzionalità di embedding di Azure OpenAI è inclusa nel set di funzionalità generato e il vettorizzatore Azure OpenAI è incluso nell'indice generato. |
Oggetto | Solo apiKey e deploymentId sono modificabili |
No |
contentExtractionMode |
Controlla la modalità di estrazione del contenuto dai file. Il valore predefinito è minimal, che usa metodi di estrazione del contenuto di base per testo e immagini. Impostare su standard per il cracking e la suddivisione avanzata dei documenti utilizzando la funzionalità Azure Content Understanding, che è inclusa nel set di competenze generato. Solo per standard, il parametro ai_services può essere specificato e chatCompletionModel.azureOpenAIParameters.resourceUri deve essere uguale a aiServices.uri. Per altre informazioni, vedere la chatCompletionModel riga . |
Stringa | No | No |
aiServices |
Una risorsa di Foundry per accedere ad Azure Content Understanding negli strumenti di Foundry. L'impostazione di questo parametro richiede che contentExtractionMode sia impostato su standard. Per altre informazioni, vedere la chatCompletionModel riga . |
Oggetto | Solo apiKey modificabile |
No |
ingestionSchedule |
Aggiunge informazioni di pianificazione all'indicizzatore generato. È anche possibile aggiungere una pianificazione in un secondo momento per automatizzare l'aggiornamento dei dati. | Oggetto | Sì | No |
ingestionPermissionOptions |
Autorizzazioni a livello di documento per l'inserimento insieme al contenuto. Specificare userIds, groupIds o rbacScope per archiviare i metadati delle autorizzazioni nell'indice. È anche possibile specificare sensitivityLabel per acquisire i metadati delle etichette di riservatezza di Microsoft Purview per le origini dati di conoscenza blob, OneLake indicizzate e SharePoint indicizzate. Per indicazioni RBAC specifiche dell'origine, vedere Acquisire le autorizzazioni RBAC dall'archiviazione BLOB e Acquisire gli ACL da ADLS Gen2. Per applicare queste autorizzazioni in fase di query, vedere Applicare le autorizzazioni in fase di query. |
Array | No | No |
assetStore |
(solo nell'anteprima 2026-05-01) Contenitore BLOB usato per archiviare in modo permanente le immagini estratte dai documenti di origine. Obbligatorio per abilitare la gestione delle immagini (anteprima) per la Knowledge Base. Se si imposta questo parametro, viene effettuato il provisioning di un repository di conoscenza insieme all'origine della conoscenza per archiviare gli artefatti delle immagini. È possibile esaminare e gestire questo archivio conoscenze come qualsiasi altro. L'account di archiviazione deve rimanere accessibile al servizio di ricerca per la durata della Knowledge Base. | Oggetto | No | No |
Controllare lo stato di inserimento
Eseguire il codice seguente per monitorare lo stato e l'integrità dell'inserimento, inclusi il tipo di origine delle informazioni e gli errori dettagliati di indicizzazione per le origini delle informazioni che generano una pipeline dell'indicizzatore e popolano un indice di ricerca.
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}}
api-key: {{api-key}}
Content-Type: application/json
Riferimento:Fonti di Conoscenza - Ottieni Stato
Una risposta per una richiesta che include parametri di inserimento e inserisce attivamente contenuto potrebbe essere simile all'esempio seguente.
{
"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
}
}
Nota
La proprietà kind e l'array currentSynchronizationState.errors[] con i dettagli degli errori a livello di documento sono disponibili a partire dalla versione API 2026-04-01. Per le versioni precedenti dell'API, questi campi non vengono restituiti. Il lastSynchronizationState.status campo è anche nuovo nel 2026-04-01.
Esaminare gli oggetti generati
Quando si crea questa origine conoscenze, Azure AI Search genera automaticamente un'origine dati, un set di competenze, un indicizzatore e un indice. La risposta di creazione elenca ogni oggetto in createdResources.
Questi oggetti vengono generati in base a un modello fisso e i relativi nomi si basano sul nome dell'origine conoscenze. Non è possibile modificare i nomi degli oggetti. Evitare di modificare direttamente questi oggetti, perché le modifiche possono introdurre errori o incompatibilità che interrompono la pipeline dell'indicizzatore.
È possibile usare il portale di Azure per convalidare la creazione di oggetti. Il flusso di lavoro è:
Controllare l'indicizzatore per i messaggi di esito positivo o negativo. Gli errori di connessione o quota vengono visualizzati qui.
Controllare l'origine dati per verificare la connessione all'archivio dati. La connessione utilizza una stringa di connessione o un'identità gestita, a seconda di come è stata configurata l'origine dati.
Controlla il set di competenze per vedere come i contenuti sono suddivisi in blocchi ed eventualmente vettorializzati.
Controllare l'indice per vedere in che modo il contenuto viene indicizzato ed esposto per il recupero, inclusi i campi ricercabili e filtrabili e quali campi archiviano vettori per la ricerca di somiglianza. Usa Search Explorer per eseguire query sull'indice generato.
Assegnare a una base di conoscenza
Se sei soddisfatto della fonte di conoscenza, aggiungila a una base di conoscenza.
Per qualsiasi base di conoscenza che specifica un'origine di conoscenza OneLake indicizzata, assicurarsi di impostare includeReferenceSourceData su true. Questo passaggio è necessario per eseguire il pull dell'URL del documento di origine nella citazione.
Eseguire una query su una base di conoscenza
Dopo aver configurato la Knowledge Base, chiamare l'azione di recupero o l'endpoint MCP per eseguire una query sull'origine della knowledge base. Questa origine dati supporta configurazioni facoltative per l'applicazione delle autorizzazioni di accesso a livello di documento e l'individuazione delle immagini incorporate nei documenti.
Applicare le autorizzazioni a livello di documento
Per applicare le autorizzazioni a livello di documento, impostare ingestionPermissionOptions creando questa fonte di conoscenza, e quindi includere il token di accesso dell'utente nella richiesta di recupero. Per altre informazioni, vedere Applicare le autorizzazioni in fase di query (anteprima).
Surface immagini incorporate nei documenti
Per visualizzare nelle risposte di sintesi delle risposte le immagini incorporate nei documenti (ad esempio diagrammi o scansioni), configurare assetStore in questa origine di conoscenza e quindi abilitare la distribuzione delle immagini nella knowledge base. Per altre informazioni, vedere Surface immagini incorporate in documenti nel recupero agentico (anteprima).
Eliminare una fonte di conoscenza
Prima di poter eliminare una fonte di conoscenza, è necessario eliminare qualsiasi base di conoscenza che vi faccia riferimento o aggiornare la definizione della base di conoscenza per rimuovere il riferimento. Per le fonti di conoscenza che generano una pipeline dell'indice e dell'indicizzatore, vengono eliminati anche tutti gli oggetti generati. Tuttavia, se è stato usato un indice esistente per creare un'origine conoscenze, l'indice non viene eliminato.
Se si tenta di eliminare una fonte di conoscenza attualmente in uso, l'azione fallisce e restituisce un elenco delle basi di conoscenza interessate.
Per eliminare una fonte di conoscenza:
Ottenere un elenco di tutte le knowledge base nel servizio di ricerca.
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
Una risposta di esempio potrebbe essere simile alla seguente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Ottenere una singola definizione della Knowledge Base per verificare la presenza di riferimenti all'origine della knowledge base.
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
Una risposta di esempio potrebbe essere simile alla seguente:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Eliminare la Knowledge Base o, se si dispone di più origini informazioni, aggiornare la Knowledge Base per rimuovere l'origine. Questo esempio mostra l'eliminazione.
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
Eliminare l'origine delle informazioni.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Ottenere un elenco di tutte le knowledge base nel servizio di ricerca.
# 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
Una risposta di esempio potrebbe essere simile alla seguente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Ottenere una singola definizione della Knowledge Base per verificare la presenza di riferimenti all'origine della knowledge base.
# 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
Una risposta di esempio potrebbe essere simile alla seguente:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Eliminare la Knowledge Base o, se si dispone di più origini informazioni, aggiornare la Knowledge Base per rimuovere l'origine. Questo esempio mostra l'eliminazione.
# 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
Eliminare l'origine delle informazioni.
# 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
Ottenere un elenco di tutte le knowledge base nel servizio di ricerca.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name api-key: {{api-key}}Reference:Knowledge Bases - List
Una risposta di esempio potrebbe essere simile alla seguente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Ottenere una singola definizione della Knowledge Base per verificare la presenza di riferimenti all'origine della knowledge base.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Reference:Knowledge Bases - Get
Una risposta di esempio potrebbe essere simile alla seguente:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Eliminare la Knowledge Base o, se si dispone di più origini informazioni, aggiornare la Knowledge Base per rimuovere l'origine. Questo esempio mostra l'eliminazione.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Reference:Basi di conoscenza - Elimina
Eliminare l'origine delle informazioni.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} api-key: {{api-key}}Riferimento:Fonti di Conoscenza - Elimina
Errori noti
Quando si crea questa origine dati di conoscenza con contentExtractionMode impostato su standard, è possibile che venga visualizzato l'errore seguente.
Failed to create custom analyzer 'azs_tmp': BadRequest - {"error":{"code":"InvalidRequest","message":"Invalid request.","innererror":{"code":"DefaultsNotSet","message":"Defaults have not yet been set. Call 'PATCH /contentunderstanding/defaults' first."}}}
Per risolvere l'errore, definire i valori predefiniti come indicato nei prerequisiti di Content Understanding. Successivamente, è possibile procedere con la creazione della fonte di conoscenza.
Contenuto correlato
- recupero agentico in Azure AI Search
- Che cos'è un'origine delle conoscenze?
- Creare una knowledge base
- Interrogare una base di conoscenza