Comparteix a través de


Inicio rápido: Vectorización de texto e imágenes mediante Azure Portal

Este inicio rápido le ayuda dar sus primeros pasos en la vectorización integrada mediante el asistente para Importación y vectorización de datos en Azure Portal. El asistente fragmenta el contenido y llama a un modelo de inserción para vectorizar el contenido durante la indexación y para las consultas.

Puntos clave sobre el asistente:

  • Los orígenes de datos admitidos son Azure Blob Storage, Azure Data Lake Storage (ADLS) Gen2 o archivos y accesos directos de OneLake.

  • Los modelos de inserción admitidos se hospedan en Azure OpenAI, en el catálogo de modelos de Estudio de IA de Azure, en Visión de Azure AI.

  • El esquema de índice proporciona campos vectoriales y no vectoriales 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).

  • La fragmentación no es configurable. La configuración efectiva es:

    "textSplitMode": "pages",
    "maximumPageLength": 2000,
    "pageOverlapLength": 500,
    "maximumPagesToTake": 0, #unlimited
    "unit": "characters",
    

Requisitos previos

Si usa el servicio Azure OpenAI, debe tener asociado un subdominio personalizado. Si el servicio se creó a través de Azure Portal, este subdominio se genera automáticamente como parte de la configuración del servicio. Asegúrese de que el servicio incluye un subdominio personalizado antes de usarlo con la integración de la Búsqueda de Azure AI.

Los recursos de Azure OpenAI Service (con acceso a modelos de inserción) que se crearon en Estudio de IA no son compatibles. Solo los recursos de Azure OpenAI Service creados en Azure Portal son compatibles con la integración de aptitudes de Incrustación de Azure OpenAI.

Requisitos de punto de conexión público

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.

Requisitos de control de acceso basado en rol

Se recomiendan asignaciones de roles para las conexiones de servicio de búsqueda a otros recursos.

  1. En Búsqueda de Azure AI, habilite los roles.

  2. Configure su servicio de búsqueda para usar una identidad administrada.

  3. En su plataforma de origen de datos y proveedor de modelos de inserción, cree asignaciones de roles que permitan al servicio de búsqueda acceder a los datos y modelos. Preparar datos de muestra proporciona instrucciones para establecer los roles.

Un servicio de búsqueda gratuito admite RBAC 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 conexiones más seguras:

Nota:

Si no puede avanzar a través del asistente porque otras opciones no están disponibles (por ejemplo, no puede seleccionar un origen de datos o un modelo de inserción), vuelva a las asignaciones de roles. Los mensajes de error indican que los modelos o implementaciones no existen, cuando, de hecho, 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. Asegúrese de que tiene espacio para elementos adicionales antes de empezar. Este inicio rápido crea uno de cada objeto.

Comprobación del clasificador semántico

Este asistente admite la clasificación semántica, pero solo en el nivel Básico y versiones posteriores, y solo si el clasificador semántico ya estuviera habilitado en el servicio de búsqueda. Si usa un nivel facturable, compruebe si el clasificador semántico está habilitado.

Preparación de datos de ejemplo

Esta sección le dirige hacia los datos que funcionan para este inicio rápido.

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

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

  3. Cree un contenedor y, a continuación, cargue los documentos PDF sobre el plan de mantenimiento que se usan para este inicio rápido.

  4. En el panel izquierdo, en Control de acceso, asigne el rol Lector de datos de Blob Storage a la identidad del servicio de búsqueda. O bien, obtenga una cadena de conexión a la cuenta de almacenamiento de la página Claves de acceso.

  5. Si lo desea, puede sincronizar las eliminaciones del contenedor con las eliminaciones en el índice de búsqueda. Estos pasos le permiten configurar el indexador para la detección de eliminación:

    1. Habilite la eliminación temporal en la cuenta de almacenamiento.

    2. Si usa la eliminación temporal nativa, no se requieren más pasos en Azure Storage.

    3. De lo contrario, agregue metadatos personalizados que un indexador pueda examinar para determinar qué blobs se marcan para su eliminación. Asigne un nombre descriptivo a la propiedad personalizada. Por ejemplo, podría asignar un nombre a la propiedad "IsDeleted", establecida en false. Haga esto para cada blob del contenedor. Más adelante, cuando desee eliminar el blob, cambie la propiedad a true. Para más información, consulte Detección de cambios y eliminación al indexar desde Azure Storage

Configuración de modelos de inserción

El asistente puede usar modelos de inserción implementados desde Azure OpenAI, Visión de Azure AI o desde el catálogo de modelos en Inteligencia artificial de Azure Studio.

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 con su cuenta de Azure y vaya al recurso de Azure OpenAI.

  2. Configurar permisos:

    1. En el menú izquierdo, seleccione Access Control.

    2. Seleccione Agregar y, después, Agregar asignación de roles.

    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, elija Miembros.

    5. Filtre por suscripción y tipo de recurso (servicios de búsqueda) y seleccione la identidad administrada del servicio de búsqueda.

    6. Seleccione Revisar y asignar.

  3. En la página Información general, seleccione Hacer clic aquí para ver los puntos de conexión o Hacer clic aquí para administrar claves si necesita copiar un punto de conexión o una clave de API. Puede pegar estos valores en el asistente si usa un recurso de Azure OpenAI con autenticación basada en claves.

  4. En Administración de recursos e Implementaciones del modelo, seleccione Administrar implementaciones para abrir Azure AI Studio.

  5. Copie el nombre de implementación de text-embedding-ada-002 u otro modelo de inserción admitido. Si no tiene un modelo de inserción, implemente uno ahora.

Inicio del 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 consiste en conectarse a un origen de datos que se usará para el índice de búsqueda.

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

  2. Especifique la suscripción de Azure.

  3. Elija la cuenta de almacenamiento y el contenedor que proporcionan los datos.

  4. Especifique si desea compatibilidad con la detección 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 datos personalizados.
    • Debe haber habilitado anteriormente la eliminación temporal en Azure Storage y, opcionalmente, haber agregado metadatos personalizados que la indexación pueda reconocer como una marca de eliminación. Para obtener más información acerca de estos pasos, consulte Preparación de datos de ejemplo.
    • Si configuró los blobs para la eliminación temporal mediante datos personalizados, proporcione el par nombre-valor de la propiedad de metadatos en este paso. 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. En su lugar, la detección de eliminación no funciona y es probable que el índice de búsqueda recopile documentos huérfanos a lo largo del tiempo.

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

  5. Especifique si quiere que el servicio de búsqueda se conecte a Azure Storage usando su identidad administrada.

    • Se le pedirá que elija una identidad administrada por el sistema o administrada por el usuario.
    • 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.
  6. Seleccione Siguiente.

Vectorizar el texto

En este paso, especifique el modelo de inserción para vectorizar datos fragmentados.

  1. En la página Vectorizar el texto, elija el origen del modelo de inserción:

    • Azure OpenAI
    • Catálogo de modelos de Inteligencia artificial de Azure Studio
    • Un recurso multiproceso de Visión de Azure AI existente en la misma región que Búsqueda de Azure AI. Si no hay ninguna cuenta de varios servicios de Servicios de Azure AI en la misma región, esta opción no está disponible.
  2. Elija la suscripción de Azure.

  3. Realice selecciones según el recurso:

    • En el caso de Azure OpenAI, elija una implementación existente de text-embedding-ada-002, text-embedding-3-large o text-embedding-3-small.

    • En el caso del catálogo de AI Studio, elija una implementación existente de un modelo de inserción de Azure, Cohere y Facebook.

    • En el caso de las inserciones multimodales de Visión de AI, seleccione la cuenta.

    Para más información, consulte Configuración de modelos de inserción anteriormente en este artículo.

  4. Especifique si quiere que el servicio de búsqueda se autentique mediante una clave de API o una identidad administrada.

    • La identidad debe tener un rol Usuario de OpenAI de Cognitive Services en la cuenta de varios servicios de Azure AI.
  5. Active la casilla que confirma el impacto en la facturación del uso de estos recursos.

  6. Seleccione Siguiente.

Vectorizar y enriquecer las imágenes

Si el contenido incluye imágenes, puede aplicar IA de dos maneras:

  • Use un modelo de inserción de imágenes compatibles desde el catálogo o elija la API de inserciones 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.

Azure AI Search y el recurso de Azure AI deben estar en la misma región.

  1. En la página Vectorizar las imágenes, especifique el tipo de conexión que debe realizar el asistente. Para la vectorización de imágenes, puede conectarse a modelos de inserción en Inteligencia artificial de Azure Studio o Visión de Azure AI.

  2. Especifique la suscripción.

  3. Para el catálogo de modelos de Inteligencia artificial de Azure Studio, especifique el proyecto y la implementación. Para más información, consulte Configuración de modelos de inserción anteriormente en este artículo.

  4. Opcionalmente, puede descifrar imágenes binarias (por ejemplo, archivos de documentos escaneados) y usar OCR para reconocer texto.

  5. Active la casilla que confirma el impacto en la facturación del uso de estos recursos.

  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

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.
parent_id Vectores de texto Campo de cadena generado. Se puede recuperar y filtrar. Identifica el documento primario desde el que se origina el fragmento.
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.
text_vector Vectores de texto Collection(Edm.single). Representación vectorial del fragmento. 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

En la página Configuración avanzada, puede especificar opcionalmente una programación de ejecución para el indexador.

  1. Seleccione Siguiente cuando haya terminado con la página Configuración avanzada.

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:

  • Conexión de origen de datos.

  • Índice con campos vectoriales, vectorizadores, perfiles vectoriales, 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 aptitudes con la aptitud División de texto para la fragmentación y una aptitud de inserció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 Inteligencia artificial de Azure Studio. El conjunto de aptitudes también tiene la configuración de proyecciones de índice que permite asignar datos desde 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).

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 Administración de búsqueda>Índices y, a continuación, seleccione el índice que creó.

  2. Opcionalmente, seleccione Opciones de consulta y oculte los valores vectoriales en los resultados de la búsqueda. Este paso facilita la lectura de los resultados de búsqueda.

    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 parámetro de consulta vectorial text.

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

    El asistente ofrece una consulta predeterminada que emite una consulta vectorial en el campo vector y devuelve los cinco resultados más próximos. Si optó por ocultar los valores vectoriales, la consulta predeterminada incluye una instrucción select que excluye el campo vector de los resultados de la búsqueda.

    {
       "select": "chunk_id,parent_id,chunk,title",
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
  4. Para el valor text, reemplace el asterisco (*) por una pregunta relacionada con los planes de mantenimiento, como Which plan has the lowest deductible?.

  5. Seleccione Buscar para ejecutar la consulta.

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

    Deben aparecer cinco coincidencias. Cada documento es un fragmento del PDF original. El campo title muestra de qué PDF procede el fragmento.

  6. Para ver todos los fragmentos de un documento específico, agregue un filtro para el campo title de un PDF específico:

    {
       "select": "chunk_id,parent_id,chunk,title",
       "filter": "title eq 'Benefit_Options.pdf'",
       "count": true,
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
    

Limpiar

Azure AI Search es un recurso facturable. Si ya no es necesario, elimínelo de la suscripción para evitar cargos.

Paso siguiente

Este inicio rápido sirve de introducción al asistente para Importar y vectorizar datos que crea todos los objetos necesarios para la vectorización integrada. Si desea explorar cada paso con detalle, pruebe los ejemplos de vectorización integrada.