Inicio rápido: búsqueda de imágenes mediante el Explorador de búsqueda en Azure Portal

En este inicio rápido se muestra cómo empezar a usar la búsqueda de imágenes mediante el asistente de importación y vectorización de datos en Azure Portal. También muestra cómo usar el Explorador de búsqueda para ejecutar consultas basadas en imágenes.

Los datos de ejemplo constan de archivos de imagen en el repositorio de azure-search-sample-data, pero puede usar imágenes diferentes y seguir el tutorial.

Requisitos previos

  • Suscripción a Azure. cree una de forma gratuita.

  • Una cuenta multiservicio de servicios de Azure AI, que se usa para la vectorización de imágenes y el reconocimiento óptico de caracteres (OCR). La vectorización de imágenes requiere inserciones multimodales de Visión de Azure AI. Consulte la documentación para obtener una lista actualizada de las regiones.

  • Búsqueda de Azure AI para indexación y consultas. Puede estar en cualquier nivel, pero debe estar en la misma región que Azure AI multiservicio.

    El nivel de servicio determina cuántos blobs se pueden indexar. Usamos el nivel gratuito para crear este tutorial y limitamos el contenido a 10 archivos JPG.

  • Azure Storage para almacenar archivos de imagen como blobs. Use Azure Blob Storage o Azure Data Lake Storage Gen2 (una cuenta de almacenamiento con un espacio de nombres jerárquico), una cuenta de rendimiento estándar (uso general v2). Los niveles de acceso pueden ser frecuente, esporádico y frío.

Todos los recursos anteriores deben tener habilitado el acceso público para que los nodos del 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.

Un servicio de búsqueda gratuito admite el control de acceso basado en rol en conexiones a Búsqueda de Azure AI, pero no admite identidades administradas en conexiones salientes a Azure Storage o Visión de Azure AI. Este nivel de compatibilidad significa que debe usar la autenticación basada en claves en las conexiones entre un servicio de búsqueda gratuito y otros servicios de Azure. Para las conexiones que son más seguras:

Búsqueda de espacio

Si empieza con el servicio gratuito, está limitado a tres índices, tres orígenes de datos, tres conjuntos de aptitudes y tres indizadores. Asegúrese de que tiene espacio para elementos adicionales antes de empezar. Este inicio rápido crea uno de cada objeto.

Preparación de datos de ejemplo

  1. Descargue la carpeta de imagen unsplash-signs a una carpeta local o busque algunas imágenes propias. En un servicio de búsqueda gratuito, mantenga los archivos de imagen por debajo de 20 para permanecer dentro de la cuota gratuita para el procesamiento de enriquecimiento.

  2. Inicie sesión en Azure Portal con su cuenta de Azure y vaya a la cuenta de Azure Storage.

  3. En el panel izquierdo, en Almacenamiento de datos, seleccione Contenedores.

  4. Cree un nuevo contenedor y, a continuación, cargue las imágenes.

Inicio del asistente

Si el servicio de búsqueda y el servicio Azure AI se encuentran en la mismo región admitida e inquilino, y si el contenedor de blobs de Azure Storage usa la configuración predeterminada, está listo para iniciar el asistente.

  1. Inicie sesión en Azure Portal con su cuenta de Azure y vaya al servicio de 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.

Conectarse a los datos propios

El siguiente paso es conectarse a un origen de datos que proporcione las imágenes.

  1. En la página Configurar la conexión de datos, seleccione Azure Blob Storage.

  2. Especifique la suscripción de Azure.

  3. Para Azure Storage, seleccione la cuenta de almacenamiento y el contenedor que proporciona los datos. Use los valores predeterminados en los cuadros restantes.

    Captura de pantalla de la página del asistente para configurar una conexión de datos.

  4. Seleccione Siguiente.

Vectorizar el texto

Si el contenido sin procesar incluye texto o si el conjunto de aptitudes genera texto, el asistente llama a un modelo de inserción de texto para generar vectores para ese contenido. En este ejercicio, el texto se generará a partir de la aptitud de OCR que agregará en el paso siguiente.

Visión de Azure AI proporciona inserciones de texto, por lo que se usa ese recurso para la vectorización de texto.

  1. En la página Vectorizar el texto, seleccione Vectorización de AI Vision. Si no está disponible, asegúrese de que Búsqueda de Azure AI y la cuenta de varios servicios de Azure AI estén juntas en una región que admita las API multimodales de AI Vision.

    Captura de pantalla de la página del asistente para vectorizar texto.

  2. Seleccione Siguiente.

Vectorizar y enriquecer las imágenes

Use Visión de Azure AI para generar una representación vectorial de los archivos de imagen.

En este paso, también puede aplicar IA para extraer texto de imágenes. El asistente usa el OCR de los servicios de Azure AI para reconocer texto en archivos de imagen.

Aparecen dos salidas más en el índice cuando se agrega el OCR al flujo de trabajo:

  • El campo chunk se rellena con una cadena generada por OCR de cualquier texto que se encuentre en la imagen.
  • El campo "text_vector" se rellena con una inserción que representa la cadena chunk.

La inclusión de texto sin formato en el campo chunk es útil si desea usar características de relevancia que operan en cadenas, como clasificación semántica y perfiles de puntuación.

  1. En la página Vectorizar las imágenes, marque la casilla Vectorizar imágenes y seleccione Vectorización de AI Vision.

  2. Seleccione Usar el mismo servicio de IA seleccionado para la vectorización de texto.

  3. En la sección de enriquecimiento, seleccione Extraer texto de imágenes y Usar el mismo servicio de IA seleccionado para la vectorización de imágenes.

    Captura de pantalla de la página del asistente para vectorizar imágenes y enriquecer datos.

  4. Seleccione Siguiente.

Asignar nuevos campos

En la página Configuración avanzada, puede agregar campos nuevos opcionalmente. De forma predeterminada, el asistente genera los siguientes campos con estos atributos:

Campo Se aplica a Descripción
chunk_id Vectores de texto e imagen Campo de cadena generado. Se puede buscar, recuperar y ordenar. Esta es la clave de documento del índice.
text_parent_id Vectores de imagen Campo de cadena generado. Se puede recuperar y filtrar. Identifica el documento primario desde el que se origina el fragmento.
image_parent_id Vectores de imagen Campo de cadena generado. Se puede recuperar y filtrar. Identifica el documento primario desde el que se origina la imagen.
chunk Vectores de texto e imagen Campo de cadena. Versión legible humana del fragmento de datos. Se puede buscar y recuperar, pero no filtrar, mostrar u ordenar.
title 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, mostrar u ordenar.
image_vector Vectores de imagen Collection(Edm.single). Representación vectorial de la imagen. Se puede buscar y recuperar, pero no filtrar, mostrar u 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 nuevo.

  2. Elija un campo de origen de la lista de campos disponibles, proporcione un nombre de campo para el índice y acepte el tipo de datos predeterminado o invalide según sea necesario.

    Los campos de metadatos se pueden buscar, pero no recuperar, filtrar, mostrar u ordenar.

  3. Seleccione Restablecer si desea restaurar el esquema a su versión original.

Programación de la indexación

  1. En la página Configuración avanzada, en Programar indexación, especifique una Programación de ejecución para el indexador. Se recomienda Una vez para este ejercicio. Para los orígenes de datos en los que los datos subyacentes son volátiles, puede programar la indexación para recoger los cambios.

    Captura de pantalla de la página del asistente para programar la indexación.

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

    Captura de pantalla de la página del asistente para revisar y completar la configuración.

  2. Seleccione Crear.

Cuando el asistente completa la configuración, crea los siguientes objetos:

  • Indexador que controla la canalización de indexación.

  • Una conexión de origen de datos a Azure Blob Storage.

  • Un índice con campos vectoriales, campos de texto, vectorizadores, perfiles vectoriales y algoritmos vectoriales. No se puede modificar el índice predeterminado durante el flujo de trabajo del asistente. Los índices se ajustan a la API de REST 2024-05-01-preview para que pueda usar características en versión preliminar.

  • Un conjunto de aptitudes con las cinco capacidades siguientes:

Comprobar los resultados

El Explorador de búsqueda acepta texto, vectores e imágenes como entradas de consulta. Puede arrastrar o seleccionar una imagen en el área de búsqueda. El Explorador de búsqueda vectoriza la imagen y envía el vector como entrada de consulta al motor de búsqueda. La vectorización de imágenes supone que el índice tiene una definición de vectorizador, que Importar y vectorizar datos crea en función de las entradas del modelo de inserción.

  1. En Azure Portal, vaya a Administración de búsqueda>Índices y, a continuación, seleccione el índice que creó. Explorador de búsqueda es la primera pestaña.

  2. En el menú Ver, seleccione Vista de imagen.

    Captura de pantalla del comando para seleccionar la vista de imagen.

  3. Arrastre una imagen desde la carpeta local que contiene los archivos de imagen de ejemplo. O bien, abra el explorador de archivos para seleccionar un archivo de imagen local.

  4. Seleccione Buscar para ejecutar la consulta.

    La coincidencia superior debe ser la imagen que ha buscado. Dado que una búsqueda de vectores coincide con vectores similares, el motor de búsqueda devuelve cualquier documento que sea lo suficientemente similar a la entrada de consulta, hasta el número k de resultados. Puede cambiar a la vista JSON para consultas más avanzadas que incluyan el ajuste de relevancia.

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

  5. Pruebe otras opciones de consulta para comparar los resultados de búsqueda:

    • Ocultar vectores para obtener resultados más legibles (recomendado).
    • Seleccione un campo vectorial sobre el que realizar la consulta. El valor predeterminado es vectores de texto, pero puede especificar el vector de imagen para excluir vectores de texto de la ejecución de consultas.

Limpiar

En esta demostración se usan recursos facturables de Azure. Si ya no necesita los recursos, elimínelos de la suscripción para evitar cargos.

Paso siguiente

Este inicio rápido sirve de presentación del asistente para importar y vectorizar datos que crea todos los objetos necesarios para la búsqueda de imágenes. Si desea explorar cada paso con detalle, pruebe los ejemplos de vectorización integrada.