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.
En este inicio rápido, usará el Asistente para importar y vectorizar datos en Azure Portal para empezar a trabajar con la vectorización integrada. El asistente fragmenta el contenido y llama a un modelo de incrustación para vectorizar dichos fragmentos durante la indexación y las consultas.
En este inicio rápido se usan archivos PDF basados en texto del repositorio azure-search-sample-data . Sin embargo, puede usar imágenes y seguir completando este inicio rápido.
Requisitos previos
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Un servicio azure AI Search. Se recomienda el nivel Básico o superior.
Familiaridad con el asistente. Consulte Asistente para importación de datos en Azure Portal.
Orígenes de datos admitidos
El Asistente para importación y vectorización de datosadmite una amplia gama de orígenes de datos de Azure. Sin embargo, este inicio rápido solo cubre los orígenes de datos que funcionan con archivos completos, que se describen en la tabla siguiente.
Origen de datos compatible | Descripción |
---|---|
Azure Blob Storage | Este origen de datos funciona con blobs y tablas. Debe usar una cuenta de rendimiento estándar (de uso general v2). Los niveles de acceso pueden ser frecuente, esporádico o frío. |
Azure Data Lake Storage (ADLS) Gen2 | Se trata de una cuenta de Azure Storage con un espacio de nombres jerárquico habilitado. Para confirmar que tiene Data Lake Storage, active la pestaña Propiedades de la página Información general .![]() |
OneLake | Este origen de datos está actualmente en versión preliminar. Para obtener información sobre las limitaciones y los accesos directos admitidos, consulte Indexación de OneLake. |
Modelos de inserción compatibles
Para la vectorización integrada, debe usar uno de los siguientes modelos de inserción en una plataforma de Azure AI. Las instrucciones de implementación se proporcionan en una sección posterior.
Proveedor | Modelos admitidos |
---|---|
Azure OpenAI en Azure AI Foundry Models1, 2 | text-embedding-ada-002 inserción de texto-3-small inserción de texto-3-grande |
Recurso de varios servicios de Azure AI3 | Para texto e imágenes: Azure AI Vision multimodal4 |
Catálogo de modelos de Azure AI Foundry | Para texto: Cohere-embed-v3-english Cohere-embed-v3-multilingüe Para imágenes: Facebook-DinoV2-Image-Embeddings-ViT-Base Facebook-DinoV2-Image-Embeddings-ViT-Giant |
1 El punto de conexión del recurso de Azure OpenAI debe tener un subdominio personalizado, como https://my-unique-name.openai.azure.com
. Si creó el recurso en Azure Portal, este subdominio se generó automáticamente durante la configuración del recurso.
2 Los recursos de Azure OpenAI (con acceso a los modelos de inserción) creados en el portal de Azure AI Foundry no se admiten. Solo los recursos de Azure OpenAI creados en Azure Portal son compatibles con la aptitud de inserción de Azure OpenAI.
3 Para fines de facturación, debe adjuntar el recurso multiservicio de Azure AI al conjunto de aptitudes del servicio de Búsqueda de Azure AI. A menos que utilice una conexión sin clave (versión preliminar) para crear el conjunto de habilidades, ambos recursos deben estar en la misma región.
4 El modelo de inserción multiinstalación de Azure AI Vision está disponible en regiones seleccionadas.
Requisitos de punto de conexión público
Para este inicio rápido, todos los recursos anteriores deben tener habilitado el acceso público para que los nodos de Azure Portal puedan acceder a ellos. De lo contrario, se produce un error en el asistente. Una vez que se ejecute el asistente, puede habilitar firewalls y puntos de conexión privados en los componentes de integración de cara a la seguridad. Para obtener más información, consulte Conexiones seguras en los asistentes de importación.
Si ya existen puntos de conexión privados y no se pueden deshabilitar, la opción alternativa es ejecutar el flujo de un extremo a otro correspondiente desde un script o programa en una máquina virtual. La máquina virtual debe estar en la misma red virtual que el punto de conexión privado. Este es un ejemplo de código de Python para la vectorización integrada. El mismo repositorio de GitHub tiene ejemplos en otros lenguajes de programación.
Acceso basado en roles
Puede usar Microsoft Entra ID con asignaciones de roles o autenticación basada en claves con cadenas de conexión de acceso completo. En el caso de las conexiones de Azure AI Search a otros recursos, se recomiendan asignaciones de roles. En este inicio rápido se asumen los roles.
Los servicios de búsqueda gratuitos admiten conexiones basadas en roles a Azure AI Search. Sin embargo, no admiten identidades administradas en conexiones salientes a Azure Storage o Azure AI Vision. Esta falta de compatibilidad requiere autenticación basada en claves en conexiones entre servicios de búsqueda gratuitos y otros recursos de Azure. Para conexiones más seguras, use el nivel Básico o superior y, a continuación, habilite los roles y configure una identidad administrada.
Para configurar el acceso basado en rol recomendado:
En el servicio de búsqueda, habilite los roles y configure una identidad administrada asignada por el sistema.
Asigne los siguientes roles a sí mismo:
Colaborador del servicio Search
Colaborador de datos de índice de búsqueda
Lector de datos de índice de búsqueda
En la plataforma del origen de datos y el proveedor de modelos de inserción, cree asignaciones de roles que permitan al servicio de búsqueda acceder a datos y modelos. Consulte Preparación de datos de ejemplo y Preparación de modelos de inserción.
Nota:
Si no puede avanzar a través del asistente porque las opciones no están disponibles (por ejemplo, no puede seleccionar un origen de datos o un modelo de incrustación), vuelva a las asignaciones de roles. Los mensajes de error indican que los modelos o implementaciones no existen, cuando la causa real es que el servicio de búsqueda no tiene permiso para acceder a ellos.
Búsqueda de espacio
Si empieza con el servicio gratuito, está limitado a tres índices, orígenes de datos, conjuntos de aptitudes e indizadores. El nivel básico le limita a 15. En este inicio rápido se crea uno de cada objeto, por lo que debe asegurarse de tener espacio para elementos adicionales antes de comenzar.
Preparación de datos de ejemplo
Esta sección te dirige al contenido adecuado para este inicio rápido. Antes de continuar, asegúrese de completar los requisitos previos para el acceso basado en roles.
Inicie sesión en Azure Portal y seleccione la cuenta de Azure Storage.
En el panel izquierdo, seleccioneContenedores>.
Cree un contenedor y cargue los documentos PDF del plan de salud utilizados para este inicio rápido.
Para asignar roles:
En el panel izquierdo, seleccione Control de acceso (IAM) .
Seleccione Agregar>Agregar asignación de rol.
En Roles de trabajo, seleccione Lector de datos de blobs de almacenamiento y, a continuación, seleccione Siguiente.
En Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.
Seleccione la suscripción y la identidad administrada del servicio de búsqueda.
(Opcional) Sincronice las eliminaciones del contenedor con eliminaciones en el índice de búsqueda. Para configurar el indexador para la detección de eliminación:
Habilite la eliminación temporal en la cuenta de almacenamiento. Si está utilizando la eliminación temporal nativa, no es necesario realizar el siguiente paso.
Agregue metadatos personalizados que un indexador pueda examinar para determinar qué blobs están marcados para su eliminación. Asigne un nombre descriptivo a la propiedad personalizada. Por ejemplo, puede asignar un nombre a la propiedad "IsDeleted" y establecerla en false. Repita este paso para cada blob del contenedor. Cuando desee eliminar el blob, cambie la propiedad a true. Para más información, consulte Cambio y eliminación de la detección al indexar desde Azure Storage.
Preparación del modelo de inserción
El asistente puede usar modelos de inserción implementados desde Azure OpenAI, Azure AI Vision o desde el catálogo de modelos en el portal de Azure AI Foundry. Antes de continuar, asegúrese de completar los requisitos previos para el acceso basado en roles.
El asistente admite: text-embedding-ada-002, text-embedding-3-large y text-embedding-3-small. Internamente, el asistente llama a la aptitud AzureOpenAIEmbedding para conectarse a Azure OpenAI.
Inicie sesión en Azure Portal y seleccione el recurso de Azure OpenAI.
Para asignar roles:
En el panel izquierdo, seleccione Control de acceso (IAM) .
Seleccione Agregar>Agregar asignación de rol.
En Roles de función de trabajo, seleccione Usuario de OpenAI de Cognitive Services y, a continuación, elija Siguiente.
En Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.
Seleccione la suscripción y la identidad administrada del servicio de búsqueda.
Para implementar un modelo de inserción:
Inicie sesión en el portal de Azure AI Foundry y seleccione el recurso de Azure OpenAI.
En el panel izquierdo, seleccione Catálogo de modelos.
Despliegue un modelo de incrustación admitido.
Inicio del asistente
Para iniciar el asistente para la búsqueda de vectores:
Inicie sesión en Azure Portal y seleccione el servicio Azure AI Search.
En la página Información general, seleccione Importar y vectorizar datos.
Seleccione el origen de datos: Azure Blob Storage, ADLS Gen2 o OneLake.
Seleccione RAG.
Conectar con tus datos
El siguiente paso consiste en conectarse a un origen de datos que se usará para el índice de búsqueda.
En la página Conectar a los datos , especifique la suscripción de Azure.
Seleccione la cuenta de almacenamiento y el contenedor que proporcionan los datos de ejemplo.
Si ha habilitado la eliminación temporal y, opcionalmente, ha agregado metadatos personalizados en Preparar datos de ejemplo, active la casilla Habilitar seguimiento de eliminación .
En las siguientes ejecuciones de indexación, el índice de búsqueda se actualiza para quitar los documentos de búsqueda basados en blobs eliminados temporalmente en Azure Storage.
Los blobs admiten la Eliminación temporal de blobs nativos o la eliminación temporal mediante metadatos personalizados.
Si configuró los blobs para la eliminación temporal, proporcione el par nombre-valor de la propiedad de metadatos. Se recomienda IsDeleted. Si IsDeleted se establece en true en un blob, el indexador quita el documento de búsqueda correspondiente en la siguiente ejecución del indexador.
El asistente no comprueba la configuración válida de Azure Storage ni produce un error si no se cumplen los requisitos. Sin embargo, la detección de eliminaciones no funciona, lo que probablemente llevará a que el índice de búsqueda acumule documentos huérfanos con el tiempo.
Active la casilla Autenticar con identidad administrada .
Para el tipo de identidad administrada, seleccione Asignado por el sistema.
La identidad debe tener un rol Lector de datos de Blob Storage en Azure Storage.
No omita este paso. Se produce un error de conexión durante la indexación si el asistente no se puede conectar a Azure Storage.
Seleccione Siguiente.
Vectorizar el texto
En este paso, especificará un modelo de inserción para vectorizar datos fragmentados. El chunking está integrado y no se puede configurar. La configuración efectiva es:
"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 500,
"maximumPagesToTake": 0, #unlimited
"unit": "characters"
En la página Vectorizar el texto , seleccione el origen del modelo de inserción:
Azure OpenAI
Catálogo de modelos de Azure AI Foundry
Azure AI Vision (a través de un recurso multiservicio de Azure AI en la misma región que Azure AI Search)
Especifique la suscripción de Azure.
En función del recurso, realice la siguiente selección:
En Azure OpenAI, seleccione el modelo que implementó en Preparación del modelo de inserción.
En el catálogo de modelos de AI Foundry, seleccione el modelo que implementó en Preparación del modelo de inserción.
Para las instalaciones multimodales de Vision AI, seleccione el recurso de varios servicios.
Para el tipo de autenticación, seleccione Identidad asignada por el sistema.
- La identidad debe tener el rol Usuario de Cognitive Services en el recurso de varios servicios de servicios de Azure AI.
Active la casilla que confirma los efectos de facturación del uso de estos recursos.
Seleccione Siguiente.
Vectorizar y enriquecer las imágenes
Los archivos PDF del plan de salud incluyen un logotipo corporativo, pero no hay imágenes. Puede omitir este paso si usa los documentos de ejemplo.
Sin embargo, si trabaja con contenido que incluye imágenes útiles, puede aplicar inteligencia artificial de dos maneras:
Use un modelo de inserción de imágenes compatibles desde el catálogo o la API de incrustaciones vectoriales de Azure AI Vision para vectorizar imágenes.
Use el reconocimiento óptico de caracteres (OCR) para reconocer el texto de las imágenes. Esta opción invoca la habilidad OCR para leer texto de imágenes.
Búsqueda de Azure AI y el recurso de Azure AI deben estar en la misma región o configurados para conexiones de facturación sin claves.
En la página Vectorizar las imágenes, especifique el tipo de conexión que debe realizar el asistente. En el caso de la vectorización de imágenes, el asistente puede conectarse a modelos de inserción en el portal de Azure AI Foundry o Azure AI Vision.
Especifique la suscripción.
En el catálogo de modelos de Azure AI Foundry, especifique el proyecto y la implementación. Para obtener más información, consulte Preparación de modelos de inserción.
(Opcional) Descifra imágenes binarias, como archivos de documentos escaneados, y use OCR para reconocer texto.
Active la casilla que confirma los efectos de facturación del uso de estos recursos.
Seleccione Siguiente.
Incorporación de la clasificación semántica
En la página Configuración avanzada, puede agregar opcionalmente la clasificación semántica para volver a clasificar resultados al final de la ejecución de consultas. Cuando se vuelven a clasificar los resultados, las coincidencias que son más relevantes semánticamente se mueven arriba.
Asignar nuevos campos
Puntos clave sobre este paso:
El esquema de índice proporciona campos vectores y no vectores para datos fragmentados.
Puede agregar campos, pero no puede eliminar ni modificar campos generados.
El modo de análisis de documentos crea fragmentos (un documento de búsqueda por fragmento).
En la página Configuración avanzada , puede agregar campos nuevos opcionalmente, suponiendo que el origen de datos proporcione metadatos o campos que no se seleccionen en el primer paso. De forma predeterminada, el asistente genera los campos descritos en la tabla siguiente.
Campo | Se aplica a | Descripción |
---|---|---|
identificador_de_fragmento | Vectores de texto e imagen | Campo de cadena generado. Se pueden buscar, recuperar y ordenar. Esta es la clave de documento del índice. |
parent_id | Vectores de texto | Campo de cadena generado. Recuperable y filtrable. Identifica el documento primario desde el que se origina el fragmento. |
fragmento | Vectores de texto e imagen | Campo de cadena. Versión legible humana del fragmento de datos. Se puede buscar y recuperar, pero no filtrar, facetear ni ordenar. |
título | Vectores de texto e imagen | Campo de cadena. Título del documento legible o título de la página o número de página. Se puede buscar y recuperar, pero no filtrar, facetear ni ordenar. |
vector de texto | Vectores de texto | Collection(Edm.single). Representación vectorial del fragmento. Se puede buscar y recuperar, pero no filtrar, facetear ni ordenar. |
No puede modificar los campos generados ni sus atributos, pero puede agregar nuevos campos si el origen de datos los proporciona. Por ejemplo, Azure Blob Storage proporciona una colección de campos de metadatos.
Seleccione Agregar campo.
Seleccione un campo de origen de los campos disponibles, escriba un nombre de campo para el índice y acepte (o invalide) el tipo de datos predeterminado.
Nota:
Los campos de metadatos son buscables, pero no recuperables, filtrables, clasificables o ordenables.
Si desea restaurar el esquema a su versión original, seleccione Restablecer.
Programación de la indexación
En la página Configuración avanzada , también puede especificar una programación de ejecución opcional para el indexador. Después de elegir un intervalo en la lista desplegable, seleccione Siguiente.
Finalización del asistente
En la página Revisar la configuración, especifique un prefijo para los objetos que creará el asistente. Un prefijo común le ayuda a mantenerse organizado.
Seleccione Crear.
Cuando el asistente completa la configuración, crea los siguientes objetos:
Una conexión de origen de datos.
Índice con campos vectoriales, vectorizadores, perfiles vectoriales y algoritmos vectoriales. No se puede modificar ni diseñar el índice predeterminado durante el flujo de trabajo del asistente. Los índices se ajustan a la API REST 2024-05-01-preview.
Conjunto de habilidades con la habilidad de división de texto para la fragmentación y una habilidad de incrustación para la vectorización. La aptitud de inserción es la aptitud AzureOpenAIEmbeddingModel para Azure OpenAI o la aptitud AML para el catálogo de modelos de Azure AI Foundry. El conjunto de aptitudes también tiene la configuración de proyecciones de índice, que asigna datos de un documento del origen de datos a sus fragmentos correspondientes en un índice "secundario".
Indexador con asignaciones de campos y asignaciones de campos de salida (si procede).
Sugerencia
Los objetos creados por el asistente tienen definiciones JSON configurables. Para ver o modificar estas definiciones, seleccione Administración de búsquedas en el panel izquierdo, donde puede ver los índices, indexadores, orígenes de datos y conjuntos de aptitudes.
Comprobar los resultados
El Explorador de búsqueda acepta cadenas de texto como entrada y, a continuación, vectoriza el texto para la ejecución de consultas vectoriales.
En Azure Portal, vaya a Search ManagementIndexes (> de búsqueda) y seleccione el índice.
Seleccione Opciones de consulta y, a continuación, ocultar valores vectoriales en los resultados de la búsqueda. Este paso hace que los resultados se puedan leer más.
En el menú Ver , seleccione vista JSON para que pueda escribir texto para la consulta vectorial en el
text
parámetro de consulta vectorial.La consulta predeterminada es una búsqueda vacía (
"*"
), pero incluye parámetros para devolver las coincidencias de número. Es una consulta híbrida que ejecuta consultas de texto y vectores en paralelo. También incluye la clasificación semántica y especifica los campos que se van a devolver en los resultados a través de laselect
instrucción .{ "search": "*", "count": true, "vectorQueries": [ { "kind": "text", "text": "*", "fields": "text_vector,image_vector" } ], "queryType": "semantic", "semanticConfiguration": "my-demo-semantic-configuration", "captions": "extractive", "answers": "extractive|count-3", "queryLanguage": "en-us", "select": "chunk_id,text_parent_id,chunk,title,image_parent_id" }
Reemplacen ambos marcadores de posición con asterisco (
*
) por una pregunta relacionada con los planes de salud, comoWhich plan has the lowest deductible?
.{ "search": "Which plan has the lowest deductible?", "count": true, "vectorQueries": [ { "kind": "text", "text": "Which plan has the lowest deductible?", "fields": "text_vector,image_vector" } ], "queryType": "semantic", "semanticConfiguration": "my-demo-semantic-configuration", "captions": "extractive", "answers": "extractive|count-3", "queryLanguage": "en-us", "select": "chunk_id,text_parent_id,chunk,title" }
Para ejecutar la consulta, seleccione Buscar.
Cada documento es un fragmento del PDF original. El campo
title
muestra de qué PDF procede el fragmento. Cadachunk
uno es largo. Puede copiar y pegar uno en un editor de texto para leer todo el valor.Para ver todos los fragmentos de un documento específico, agregue un filtro para el campo
title_parent_id
de un archivo PDF específico. Puede comprobar la pestaña Campos del índice para confirmar que el campo es filtrable.{ "select": "chunk_id,text_parent_id,chunk,title", "filter": "text_parent_id eq 'aHR0cHM6Ly9oZWlkaXN0c3RvcmFnZWRlbW9lYXN0dXMuYmxvYi5jb3JlLndpbmRvd3MubmV0L2hlYWx0aC1wbGFuLXBkZnMvTm9ydGh3aW5kX1N0YW5kYXJkX0JlbmVmaXRzX0RldGFpbHMucGRm0'", "count": true, "vectorQueries": [ { "kind": "text", "text": "*", "k": 5, "fields": "text_vector" } ] }
Limpieza
Azure AI Search es un recurso facturable. Si ya no es necesario, elimínelo de la suscripción para evitar cargos.
Paso siguiente
En este inicio rápido se presentó al Asistente para importar y vectorizar datos, que crea todos los objetos necesarios para la vectorización integrada. Para explorar cada paso con detalle, consulte Configuración de la vectorización integrada en Azure AI Search.