Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
Esta característica de recuperación agente está disponible con carácter general en la API REST 2026-04-01 a través del acceso mediante programación. El portal de Azure y el portal de Microsoft Foundry continúan proporcionando acceso solo para vista previa a todas las funcionalidades de recuperación basada en agentes. Para obtener instrucciones sobre la migración, consulte Migración del código de recuperación agente a la versión más reciente.
Si decide usar una API REST en versión preliminar, puede acceder a las funcionalidades que aún no están disponibles con carácter general para esta característica. Las características en versión preliminar se proporcionan sin un contrato de nivel de servicio y no se recomiendan para cargas de trabajo de producción. Para más información, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Importante
Estas características y funcionalidades forman parte de la API REST 2026-05-01-preview. La versión preliminar 2026-05-01-preview se le concede bajo licencia como parte de su suscripción de Azure y está sujeta a los términos aplicables a las "Versiones preliminares" establecidos en los Microsoft Product Terms, el Microsoft Products and Services Data Protection Addendum ("DPA") y los Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
La 2026-05-01-preview admite conexiones a otros servicios de Microsoft y a servicios de terceros. El uso de estos servicios está sujeto a sus respectivos términos y podría dar lugar a procesamiento o almacenamiento de datos fuera del límite de cumplimiento de Azure, así como a los datos que fluyen a los límites de cumplimiento de Azure.
2026-05-01-preview no puede modificar los permisos de acceso establecidos fuera del 2026-05-01-preview. Si usa la versión preliminar 2026-05-01-preview con contenido restringido por acceso o permisos, se producirá un retraso antes de que la versión preliminar 2026-05-01-preview reconozca los cambios en esas restricciones de acceso o permisos.
Es su responsabilidad gestionar si sus datos saldrán fuera de los límites geográficos y de cumplimiento normativo de su organización, así como cualquier implicación relacionada, y garantizar que se hayan establecido los permisos, límites y aprobaciones adecuados.
Es responsable de revisar y probar cuidadosamente las aplicaciones que compile en el contexto de sus casos de uso específicos y de tomar todas las decisiones y personalizaciones adecuadas. Esto incluye implementar sus propias mitigaciones de IA responsables, como metaprompts, filtros de contenido u otros sistemas de seguridad, y garantizar que las aplicaciones cumplan los estándares de calidad, confiabilidad, seguridad y confiabilidad adecuados. Para obtener más información, consulte la nota de transparencia Búsqueda de Azure AI.
Una fuente de conocimientos de OneLake indexado ingiere archivos de Microsoft OneLake en una canalización de recuperación de agentes de Búsqueda de Azure AI. Los orígenes de conocimiento se crean de forma independiente, se hace referencia en una base de conocimiento y se usan como datos de base cuando se consulta la base de conocimiento en tiempo de ejecución.
Al crear un origen de conocimiento de OneLake indexado, especifique un origen de datos externo, modelos y propiedades para generar automáticamente los siguientes objetos de Búsqueda de Azure AI:
- Un origen de datos que representa un almacén de lago de datos.
- Conjunto de habilidades que fragmenta y, opcionalmente, vectoriza el contenido multimodal del almacén de lago de datos.
- Índice que almacena contenido enriquecido y cumple los criterios para la recuperación agencial.
- Indexador que emplea los objetos anteriores para impulsar la tubería de indexación y enriquecimiento.
El indexador generado se ajusta al indexador oneLake, cuyos requisitos previos, tareas admitidas, formatos de documento admitidos, accesos directos admitidos y limitaciones también se aplican a los orígenes de conocimiento de OneLake. Para obtener más información, consulte la documentación del indexador oneLake.
Soporte de uso
| Azure Portal | portal Microsoft Foundry | SDK de .NET | SDK de Python | SDK de Java | SDK de JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Requisitos previos
Un servicio de Búsqueda de Azure AI en cualquier región que proporcione recuperación mediante agentes.
Finalización de los requisitos previos del indexador de OneLake.
Finalización de la preparación de datos del indexador de OneLake.
Permisos para crear orígenes de conocimiento. Configure la autenticación sin clave con los roles Colaborador del servicio de búsqueda y Colaborador de datos del índice de búsqueda asignados a la cuenta de usuario (recomendado) o use una clave de API.
Si el origen de conocimiento especifica un modelo de Azure OpenAI para inserciones o verbalización de imágenes, el servicio de búsqueda debe tener una identidad administrada con permisos de Cognitive Services User sobre el recurso Microsoft Foundry.
Paquete
Azure.Search.Documentsrequerido:Para 2026-05-01-preview features, el paquete de versión preliminar más reciente:
dotnet add package Azure.Search.Documents --prereleasePara las características del 01/04/2026, el paquete estable más actual:
dotnet add package Azure.Search.Documents
Paquete
azure-search-documentsrequerido:Para 2026-05-01-preview features, el paquete de versión preliminar más reciente:
pip install --pre azure-search-documentsPara las características del 01/04/2026, el paquete estable más actual:
pip install azure-search-documents
Versión necesaria de la API REST:
Para características en versión preliminar: Search Service 2026-05-01-preview
Para las características disponibles con carácter general: Search Service 2026-04-01
Comprobación de orígenes de conocimiento existentes
Un origen de conocimiento es un objeto reutilizable de nivel superior. Conocer los orígenes de conocimiento existentes resulta útil para reutilizar o asignar nombres a nuevos objetos.
Ejecute el código siguiente para enumerar los orígenes de conocimiento por nombre y 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
También puede devolver un único origen de conocimiento por nombre para revisar la definición JSON de este.
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}}
Referencia:Orígenes de conocimiento - Obtener
El siguiente json es una respuesta de ejemplo para un origen de conocimiento de OneLake indizado.
{
"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"
}
}
}
Creación de un origen de conocimiento
Ejecute el código siguiente para crear un origen de conocimiento de OneLake indexado.
// 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"]
}
}
}
Referencia:Orígenes de conocimiento: crear o actualizar
Nota
La aplicación de los permisos a nivel de documento mediante ingestionPermissionOptions requiere la versión de la API 2026-05-01-preview. 2026-04-01 no admite esta característica.
Propiedades específicas del origen
Las siguientes propiedades se aplican a los orígenes de conocimiento de OneLake indexados.
| Nombre | Descripción | Tipo | Editable | Obligatorio |
|---|---|---|---|---|
Name |
El nombre del origen de conocimiento, que debe ser único dentro de la colección de orígenes de conocimiento y seguir las directrices de denominación para los objetos de Búsqueda de Azure AI. | Cadena | No | Sí |
Description |
Descripción del origen de conocimiento. | Cadena | Sí | No |
EncryptionKey |
Clave administrada por el cliente para cifrar información confidencial tanto en el origen de conocimiento como en los objetos generados. | Objeto | Sí | No |
IndexedOneLakeKnowledgeSourceParameters |
Parámetros específicos de los orígenes de conocimiento de OneLake: FabricWorkspaceId, LakehouseIdy TargetPath. |
Objeto | Sí | |
FabricWorkspaceId |
GUID del área de trabajo que contiene almacén de lago de datos. | Cadena | No | Sí |
LakehouseId |
El identificador único global (GUID) de la casa de lago. | Cadena | No | Sí |
TargetPath |
Carpeta o acceso directo dentro del almacén de lago de datos. Cuando no se especifica, se indexa todo el almacén de lago de datos. | Cadena | No | No |
| Nombre | Descripción | Tipo | Editable | Obligatorio |
|---|---|---|---|---|
name |
El nombre del origen de conocimiento, que debe ser único dentro de la colección de orígenes de conocimiento y seguir las directrices de denominación para los objetos de Búsqueda de Azure AI. | Cadena | No | Sí |
description |
Descripción del origen de conocimiento. | Cadena | Sí | No |
encryption_key |
Clave administrada por el cliente para cifrar información confidencial tanto en el origen de conocimiento como en los objetos generados. | Objeto | Sí | No |
indexed_one_lake_parameters |
Parámetros específicos de los orígenes de conocimiento de OneLake: fabric_workspace_id, lakehouse_idy target_path. |
Objeto | Sí | |
fabric_workspace_id |
GUID del área de trabajo que contiene almacén de lago de datos. | Cadena | No | Sí |
lakehouse_id |
El identificador único global (GUID) de la casa de lago. | Cadena | No | Sí |
target_path |
Carpeta o acceso directo dentro del almacén de lago de datos. Cuando no se especifica, se indexa todo el almacén de lago de datos. | Cadena | No | No |
| Nombre | Descripción | Tipo | Editable | Obligatorio |
|---|---|---|---|---|
name |
El nombre del origen de conocimiento, que debe ser único dentro de la colección de orígenes de conocimiento y seguir las directrices de denominación para los objetos de Búsqueda de Azure AI. | Cadena | No | Sí |
kind |
El tipo de origen de conocimiento, que es indexedOneLake en este caso. |
Cadena | No | Sí |
description |
Descripción del origen de conocimiento. | Cadena | Sí | No |
encryptionKey |
Clave administrada por el cliente para cifrar información confidencial tanto en el origen de conocimiento como en los objetos generados. | Objeto | Sí | No |
indexedOneLakeParameters |
Parámetros específicos de los orígenes de conocimiento de OneLake: fabricWorkspaceId, lakehouseIdy targetPath. |
Objeto | Sí | |
fabricWorkspaceId |
GUID del área de trabajo que contiene almacén de lago de datos. | Cadena | No | Sí |
lakehouseId |
El identificador único global (GUID) de la casa de lago. | Cadena | No | Sí |
targetPath |
Carpeta o acceso directo dentro del almacén de lago de datos. Cuando no se especifica, se indexa todo el almacén de lago de datos. | Cadena | No | No |
Propiedades de parámetros de ingesta
Solo para las fuentes de conocimiento indexadas, puede pasar las siguientes ingestionParameters propiedades para controlar cómo se ingiere y procesa el contenido.
| Nombre | Descripción | Tipo | Editable | Obligatorio |
|---|---|---|---|---|
Identity |
Identidad administrada que se va a usar en el indexador generado. | Objeto | Sí | No |
DisableImageVerbalization |
Habilita o deshabilita el uso de la verbalización de imágenes. El valor predeterminado es False, que permite la verbalización de imágenes. Establézcalo en True para deshabilitar la verbalización de imágenes. |
Boolean | No | No |
ChatCompletionModel |
Un modelo de finalización de chat que verbaliza imágenes o extrae contenido. Los modelos admitidos son gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-minigpt-4.1-nano, , gpt-5, , gpt-5-miniy gpt-5-nano. La aptitud de solicitud de GenAI se incluye en el conjunto de aptitudes generado. Establecer este parámetro también requiere que DisableImageVerbalization se establezca en False. Cuando ContentExtractionMode se establece en standard, ChatCompletionModel.AzureOpenAIParameters.ResourceUri debe ser igual a AiServices.Uri y ambos parámetros deben apuntar al mismo recurso Microsoft Foundry en services.ai.azure.com. |
Objeto | Solo ApiKey y DeploymentName son editables |
No |
EmbeddingModel |
Modelo de inserción de texto que vectoriza el contenido de texto e imagen durante la indexación y en el momento de la consulta. Los modelos admitidos son text-embedding-ada-002, text-embedding-3-smally text-embedding-3-large. La aptitud de inserciones de Azure OpenAI se incluye en el conjunto de aptitudes generado, y el vectorizador de Azure OpenAI se incluye en el índice generado. |
Objeto | Solo ApiKey y DeploymentName son editables |
No |
ContentExtractionMode |
Controla cómo se extrae el contenido de los archivos. El valor predeterminado es minimal, que usa métodos básicos de extracción de contenido para texto e imágenes. Establézcalo en standard para el descifrado y la fragmentación de documentos avanzados mediante la aptitud Azure Content Understanding, que se incluye en el conjunto de aptitudes generado. Solo para standard , el AiServices parámetro se puede especificar y ChatCompletionModel.AzureOpenAIParameters.ResourceUri debe ser igual a AiServices.Uri. Para obtener más información, consulte la ChatCompletionModel fila. |
Cadena | No | No |
AiServices |
Un recurso Foundry para acceder a Azure Content Understanding en Foundry Tools. Establecer este parámetro requiere que ContentExtractionMode se establezca en standard. Para obtener más información, consulte la ChatCompletionModel fila. |
Objeto | Solo ApiKey se puede editar |
No |
IngestionSchedule |
Agrega información de programación al indexador generado. También puede agregar una programación más adelante para automatizar la actualización de datos. | Objeto | Sí | No |
IngestionPermissionOptions |
Permisos de nivel de documento para ingerir junto con el contenido. Especifique UserIds, GroupIdso RbacScope para almacenar los metadatos de permisos en el índice. También puede especificar SensitivityLabel para ingerir los metadatos de la etiqueta de confidencialidad de Microsoft Purview para las fuentes de conocimientos de blob, OneLake indexado y SharePoint indexado. Para obtener instrucciones específicas sobre RBAC, consulte Permisos de ingesta basados en RBAC en el almacenamiento de blobs e Ingesta de listas de control de acceso (ACL) en ADLS Gen2. Para aplicar estos permisos en el momento de la consulta, consulte Aplicar permisos en tiempo de consulta (versión preliminar). |
Matriz | No | No |
AssetStore |
(solo 2026-05-01-preview) Contenedor de blobs usado para almacenar de forma persistente imágenes extraídas de documentos de origen. Necesario para habilitar el servicio de imágenes (versión preliminar) para la base de conocimiento. Al establecer este parámetro, se aprovisiona un almacén de conocimientos junto a la fuente de conocimiento para almacenar los artefactos de imágenes. Puede inspeccionar y administrar este almacén de conocimiento como cualquier otro. La cuenta de almacenamiento debe permanecer accesible para el servicio de búsqueda durante la vigencia de la base de conocimiento. | Objeto | No | No |
| Nombre | Descripción | Tipo | Editable | Obligatorio |
|---|---|---|---|---|
identity |
Identidad administrada que se va a usar en el indexador generado. | Objeto | Sí | No |
disable_image_verbalization |
Habilita o deshabilita el uso de la verbalización de imágenes. El valor predeterminado es False, que permite la verbalización de imágenes. Establézcalo en True para deshabilitar la verbalización de imágenes. |
Boolean | No | No |
chat_completion_model |
Un modelo de finalización de chat que verbaliza imágenes o extrae contenido. Los modelos admitidos son gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-minigpt-4.1-nano, , gpt-5, , gpt-5-miniy gpt-5-nano. La aptitud de solicitud de GenAI se incluye en el conjunto de aptitudes generado. Establecer este parámetro también requiere que disable_image_verbalization se establezca en False. Cuando content_extraction_mode se establece en standard, chat_completion_model.azure_open_ai_parameters.resource_url debe ser igual a ai_services.uri y ambos parámetros deben apuntar al mismo recurso Microsoft Foundry en services.ai.azure.com. |
Objeto | Solo api_key y deployment_name son editables |
No |
embedding_model |
Modelo de inserción de texto que vectoriza el contenido de texto e imagen durante la indexación y en el momento de la consulta. Los modelos admitidos son text-embedding-ada-002, text-embedding-3-smally text-embedding-3-large. La aptitud de inserciones de Azure OpenAI se incluye en el conjunto de aptitudes generado, y el vectorizador de Azure OpenAI se incluye en el índice generado. |
Objeto | Solo api_key y deployment_name son editables |
No |
content_extraction_mode |
Controla cómo se extrae el contenido de los archivos. El valor predeterminado es minimal, que usa métodos básicos de extracción de contenido para texto e imágenes. Establézcalo en standard para el descifrado y la fragmentación de documentos avanzados mediante la aptitud Azure Content Understanding, que se incluye en el conjunto de aptitudes generado. Solo para standard , el ai_services parámetro se puede especificar y chat_completion_model.azure_open_ai_parameters.resource_url debe ser igual a ai_services.uri. Para obtener más información, consulte la chat_completion_model fila. |
Cadena | No | No |
ai_services |
Un recurso Foundry para acceder a Azure Content Understanding en las herramientas de Foundry. Establecer este parámetro requiere que content_extraction_mode se establezca en standard. Para obtener más información, consulte la chat_completion_model fila. |
Objeto | Solo api_key se puede editar |
No |
ingestion_schedule |
Agrega información de programación al indexador generado. También puede agregar una programación más adelante para automatizar la actualización de datos. | Objeto | Sí | No |
ingestion_permission_options |
Permisos de nivel de documento para ingerir junto con el contenido. Especifique user_ids, group_idso rbac_scope para almacenar los metadatos de permisos en el índice. También puede especificar sensitivity_label para ingerir los metadatos de la etiqueta de confidencialidad de Microsoft Purview para las fuentes de conocimientos de blob, OneLake indexado y SharePoint indexado. Para obtener instrucciones específicas sobre RBAC, consulte Permisos de ingesta basados en RBAC en el almacenamiento de blobs e Ingesta de listas de control de acceso (ACL) en ADLS Gen2. Para aplicar estos permisos en el momento de la consulta, consulte Aplicar permisos en tiempo de consulta (versión preliminar). |
Matriz | No | No |
asset_store |
(solo 2026-05-01-preview) Contenedor de blobs usado para almacenar de forma persistente imágenes extraídas de documentos de origen. Necesario para habilitar el servicio de imágenes (versión preliminar) para la base de conocimiento. Al establecer este parámetro, se aprovisiona un almacén de conocimientos junto a la fuente de conocimiento para almacenar los artefactos de imágenes. Puede inspeccionar y administrar este almacén de conocimiento como cualquier otro. La cuenta de almacenamiento debe permanecer accesible para el servicio de búsqueda durante la vigencia de la base de conocimiento. | Objeto | No | No |
| Nombre | Descripción | Tipo | Editable | Obligatorio |
|---|---|---|---|---|
identity |
Identidad administrada que se va a usar en el indexador generado. | Objeto | Sí | No |
disableImageVerbalization |
Habilita o deshabilita el uso de la verbalización de imágenes. El valor predeterminado es false, que permite la verbalización de imágenes. Establézcalo en true para deshabilitar la verbalización de imágenes. |
Boolean | No | No |
chatCompletionModel |
Un modelo de finalización de chat que verbaliza imágenes o extrae contenido. Los modelos admitidos son gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-minigpt-4.1-nano, , gpt-5, , gpt-5-miniy gpt-5-nano. La aptitud de solicitud de GenAI se incluye en el conjunto de aptitudes generado. Establecer este parámetro también requiere que disableImageVerbalization se establezca en false. Cuando contentExtractionMode se establece en standard, chatCompletionModel.azureOpenAIParameters.resourceUri debe ser igual a aiServices.uri y ambos parámetros deben apuntar al mismo recurso Microsoft Foundry en services.ai.azure.com. |
Objeto | Solo apiKey y deploymentId son editables |
No |
embeddingModel |
Modelo de inserción de texto que vectoriza el contenido de texto e imagen durante la indexación y en el momento de la consulta. Los modelos admitidos son text-embedding-ada-002, text-embedding-3-smally text-embedding-3-large. La aptitud de inserciones de Azure OpenAI se incluye en el conjunto de aptitudes generado, y el vectorizador de Azure OpenAI se incluye en el índice generado. |
Objeto | Solo apiKey y deploymentId son editables |
No |
contentExtractionMode |
Controla cómo se extrae el contenido de los archivos. El valor predeterminado es minimal, que usa métodos básicos de extracción de contenido para texto e imágenes. Establézcalo en standard para el descifrado y la fragmentación de documentos avanzados mediante la aptitud Azure Content Understanding, que se incluye en el conjunto de aptitudes generado. Solo para standard , el ai_services parámetro se puede especificar y chatCompletionModel.azureOpenAIParameters.resourceUri debe ser igual a aiServices.uri. Para obtener más información, consulte la chatCompletionModel fila. |
Cadena | No | No |
aiServices |
Un recurso Foundry para acceder a Azure Content Understanding en las herramientas de Foundry. Establecer este parámetro requiere que contentExtractionMode se establezca en standard. Para obtener más información, consulte la chatCompletionModel fila. |
Objeto | Solo apiKey se puede editar |
No |
ingestionSchedule |
Agrega información de programación al indexador generado. También puede agregar una programación más adelante para automatizar la actualización de datos. | Objeto | Sí | No |
ingestionPermissionOptions |
Permisos de nivel de documento para ingerir junto con el contenido. Especifique userIds, groupIdso rbacScope para almacenar los metadatos de permisos en el índice. También puede especificar sensitivityLabel para ingerir los metadatos de la etiqueta de confidencialidad de Microsoft Purview para las fuentes de conocimientos de blob, OneLake indexado y SharePoint indexado. Para obtener instrucciones específicas sobre RBAC, consulte Permisos de ingesta basados en RBAC en el almacenamiento de blobs e Ingesta de listas de control de acceso (ACL) en ADLS Gen2. Para aplicar estos permisos en el momento de la consulta, consulte Aplicar permisos en tiempo de consulta (versión preliminar). |
Matriz | No | No |
assetStore |
(solo 2026-05-01-preview) Contenedor de blobs usado para almacenar de forma persistente imágenes extraídas de documentos de origen. Necesario para habilitar el servicio de imágenes (versión preliminar) para la base de conocimiento. Al establecer este parámetro, se aprovisiona un almacén de conocimientos junto a la fuente de conocimiento para almacenar los artefactos de imágenes. Puede inspeccionar y administrar este almacén de conocimiento como cualquier otro. La cuenta de almacenamiento debe permanecer accesible para el servicio de búsqueda durante la vigencia de la base de conocimiento. | Objeto | No | No |
Comprobación del estado de la ingesta
Ejecute el código siguiente para supervisar el progreso y el estado de la ingesta, incluidos el tipo de origen de conocimiento y los errores de indexación detallados para los orígenes de conocimiento que generan una canalización del indexador y rellenan un índice de búsqueda.
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
Referencia:Fuentes de conocimiento - Obtener estado
Una respuesta para una solicitud que incluye parámetros de ingesta y que está ingeriendo contenido activamente podría ser similar al ejemplo siguiente.
{
"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 propiedad kind y la matriz currentSynchronizationState.errors[] con detalles de error a nivel de documento estarán disponibles a partir de la versión de API 2026-04-01. En el caso de versiones anteriores de la API, estos campos no se devuelven. El lastSynchronizationState.status campo también es nuevo en 2026-04-01.
Revisión de los objetos generados
Al crear este origen de conocimiento, Búsqueda de Azure AI genera automáticamente un origen de datos, un conjunto de aptitudes, un indexador y un índice. La respuesta de creación enumera cada objeto en createdResources.
Estos objetos se generan según una plantilla fija y sus nombres se basan en el nombre del origen de conocimiento. No se pueden cambiar los nombres de objeto. Evite editar estos objetos directamente, ya que los cambios pueden introducir errores o incompatibilidades que interrumpen la canalización del indexador.
Puede usar el portal de Azure para validar la creación de objetos. El flujo de trabajo es:
Compruebe si el indexador tiene mensajes correctos o erróneos. Los errores de conexión o cuota aparecen aquí.
Compruebe el origen de datos para comprobar la conexión con el almacén de datos. La conexión utiliza una cadena de conexión o una identidad administrada, según cómo hayas configurado el origen de conocimiento.
Compruebe el conjunto de habilidades para ver cómo se fragmenta su contenido y, opcionalmente, cómo se vectoriza.
Compruebe el índice para ver cómo se indexa y expone el contenido para la recuperación, incluidos los campos que se pueden buscar y filtrar y qué campos almacenan vectores para la búsqueda de similitud. Use el Explorador de búsqueda para ejecutar consultas en el índice generado.
Asignar a una base de conocimiento
Si está satisfecho con el origen de conocimiento, agréguelo a una base de conocimiento.
Para cualquier base de conocimiento que especifique un origen de conocimiento de OneLake indexado, asegúrese de establecer includeReferenceSourceData en true. Este paso es necesario para extraer la dirección URL del documento de origen en la cita.
Consulta de una base de conocimiento
Una vez configurada la base de conocimiento, llame a la acción de recuperación o al punto de conexión de MCP para consultar el origen de conocimiento. Este origen de conocimiento admite configuraciones opcionales para la aplicación de permisos de nivel de documento y la visualización de imágenes insertadas en documentos.
Aplicación de permisos de nivel de documento (versión preliminar)
Para aplicar permisos de nivel de documento, establezca ingestionPermissionOptions al crear este origen de conocimiento y, a continuación, incluya el token de acceso del usuario en la solicitud de recuperación. Para obtener más información, consulte Aplicar permisos en tiempo de consulta (versión preliminar).
Mostrar imágenes incrustadas en documentos (versión preliminar)
Para mostrar imágenes incrustadas en documentos (como diagramas o escaneos) en las respuestas de síntesis, configure assetStore en este origen de conocimiento y, a continuación, habilite la publicación de imágenes en la base de conocimiento. Para obtener más información, consulte Mostrar imágenes incrustadas en documentos en recuperación de agentes (versión preliminar).
Eliminación de un origen de conocimiento
Para poder eliminar un origen de conocimiento, debe eliminar cualquier base de conocimiento que haga referencia a ella o actualizar la definición de la base de conocimiento para quitar la referencia. En el caso de los orígenes de conocimiento que generan una canalización de índice e indexador, también se eliminan todos los objetos generados . Sin embargo, si usó un índice existente para crear un origen de conocimiento, el índice no se eliminará.
Si intenta eliminar un origen de conocimiento que está en uso, se produce un error en la acción y devuelve una lista de bases de conocimiento afectadas.
Para eliminar un origen de conocimiento:
Obtenga una lista de todas las bases de conocimiento del servicio de búsqueda.
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 respuesta de ejemplo podría ser similar a la siguiente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenga una definición de base de conocimiento individual para comprobar si hay referencias de origen de conocimiento.
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 respuesta de ejemplo podría ser similar a la siguiente:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Elimine la base de conocimiento o, si tiene varios orígenes de conocimiento, actualice la base de conocimiento para quitar el origen. En este ejemplo se muestra la eliminació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
Elimine el origen de conocimiento.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Obtenga una lista de todas las bases de conocimiento del servicio de búsqueda.
# 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 respuesta de ejemplo podría ser similar a la siguiente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenga una definición de base de conocimiento individual para comprobar si hay referencias de origen de conocimiento.
# 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 respuesta de ejemplo podría ser similar a la siguiente:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Elimine la base de conocimiento o, si tiene varios orígenes de conocimiento, actualice la base de conocimiento para quitar el origen. En este ejemplo se muestra la eliminació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
Elimine el origen de conocimiento.
# 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
Obtenga una lista de todas las bases de conocimiento del servicio de búsqueda.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name api-key: {{api-key}}Reference:Knowledge Bases - List
Una respuesta de ejemplo podría ser similar a la siguiente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenga una definición de base de conocimiento individual para comprobar si hay referencias de origen de conocimiento.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Reference:Bases de Conocimiento - Obtener
Una respuesta de ejemplo podría ser similar a la siguiente:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Elimine la base de conocimiento o, si tiene varios orígenes de conocimiento, actualice la base de conocimiento para quitar el origen. En este ejemplo se muestra la eliminación.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referencia:Bases de Conocimiento - Eliminar
Elimine el origen de conocimiento.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} api-key: {{api-key}}Referencia:Orígenes de conocimiento: Eliminar
Errores conocidos
Al crear este origen de conocimiento con contentExtractionMode establecido en standard, puede que reciba el siguiente error.
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."}}}
Para resolver el error, defina los valores predeterminados como se indica en los requisitos previos de Content Understanding. Después, puede continuar con la creación del origen de conocimiento.