Compartir a través de


Inicio rápido: Vectorización de texto en Azure Portal

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

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 .

Captura de pantalla de una cuenta de Azure Data Lake Storage en Azure Portal.
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:

  1. En el servicio de búsqueda, habilite los roles y configure una identidad administrada asignada por el sistema.

  2. 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

  3. 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.

  1. Inicie sesión en Azure Portal y seleccione la cuenta de Azure Storage.

  2. En el panel izquierdo, seleccioneContenedores>.

  3. Cree un contenedor y cargue los documentos PDF del plan de salud utilizados para este inicio rápido.

  4. Para asignar roles:

    1. En el panel izquierdo, seleccione Control de acceso (IAM) .

    2. Seleccione Agregar>Agregar asignación de rol.

    3. En Roles de trabajo, seleccione Lector de datos de blobs de almacenamiento y, a continuación, seleccione Siguiente.

    4. En Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.

    5. Seleccione la suscripción y la identidad administrada del servicio de búsqueda.

  5. (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:

    1. 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.

    2. 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.

  1. Inicie sesión en Azure Portal y seleccione el recurso de Azure OpenAI.

  2. Para asignar roles:

    1. En el panel izquierdo, seleccione Control de acceso (IAM) .

    2. Seleccione Agregar>Agregar asignación de rol.

    3. En Roles de función de trabajo, seleccione Usuario de OpenAI de Cognitive Services y, a continuación, elija Siguiente.

    4. En Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.

    5. Seleccione la suscripción y la identidad administrada del servicio de búsqueda.

  3. Para implementar un modelo de inserción:

    1. Inicie sesión en el portal de Azure AI Foundry y seleccione el recurso de Azure OpenAI.

    2. En el panel izquierdo, seleccione Catálogo de modelos.

    3. Despliegue un modelo de incrustación admitido.

Inicio del asistente

Para iniciar el asistente para la búsqueda de vectores:

  1. Inicie sesión en Azure Portal y seleccione el servicio Azure AI Search.

  2. En la página Información general, seleccione Importar y vectorizar datos.

    Captura de pantalla del comando para abrir el asistente para importar y vectorizar datos.

  3. Seleccione el origen de datos: Azure Blob Storage, ADLS Gen2 o OneLake.

  4. Seleccione RAG.

    Captura de pantalla del icono RAG en el asistente.

Conectar con tus datos

El siguiente paso consiste en conectarse a un origen de datos que se usará para el índice de búsqueda.

  1. En la página Conectar a los datos , especifique la suscripción de Azure.

  2. Seleccione la cuenta de almacenamiento y el contenedor que proporcionan los datos de ejemplo.

  3. 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.

    Recorte de pantalla de la página del origen de datos con opciones de detección de eliminación.

  4. 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.

  5. 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"
  1. 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)

  2. Especifique la suscripción de Azure.

  3. En función del recurso, realice la siguiente selección:

  4. 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.
  5. Active la casilla que confirma los efectos de facturación del uso de estos recursos.

    Captura de pantalla de la página Vectorizar el texto en el asistente.

  6. 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.

  1. 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.

  2. Especifique la suscripción.

  3. 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.

  4. (Opcional) Descifra imágenes binarias, como archivos de documentos escaneados, y use OCR para reconocer texto.

  5. Active la casilla que confirma los efectos de facturación del uso de estos recursos.

    Captura de pantalla de la página Vectorizar las imágenes en el asistente.

  6. 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.

  1. Seleccione Agregar campo.

  2. 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.

  3. 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

  1. 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.

  2. 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.

  1. En Azure Portal, vaya a Search ManagementIndexes (> de búsqueda) y seleccione el índice.

  2. 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.

    Captura de pantalla del botón para las opciones de consulta.

  3. En el menú Ver , seleccione vista JSON para que pueda escribir texto para la consulta vectorial en el text parámetro de consulta vectorial.

    Captura de pantalla del comando de menú para abrir la vista JSON.

    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 la select 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"
     }
    
  4. Reemplacen ambos marcadores de posición con asterisco (*) por una pregunta relacionada con los planes de salud, como Which 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"
     }
    
  5. Para ejecutar la consulta, seleccione Buscar.

    Captura de pantalla de los resultados de la búsqueda.

    Cada documento es un fragmento del PDF original. El campo title muestra de qué PDF procede el fragmento. Cada chunk uno es largo. Puede copiar y pegar uno en un editor de texto para leer todo el valor.

  6. 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.