Inicio rápido: Vectorización integrada (versión preliminar)

Importante

El asistente para importar y vectorizar datos se encuentra en versión preliminar pública y sujeto a las Condiciones de uso suplementarias. Tiene como destino la API REST 2023-10-01-Preview.

Introducción a la vectorización integrada (versión preliminar) mediante el asistente para importar y vectorizar datos en Azure Portal. Este asistente llama a un modelo de inserción de texto de Azure OpenAI para vectorizar el contenido durante la indexación y para las consultas.

En esta versión preliminar del asistente:

  • Los datos de origen solo son blobs que usan el modo de análisis predeterminado (un documento de búsqueda por blob).

  • El esquema de índice no es configurable. Los campos de origen incluyen content (fragmentado y vectorizado), metadata_storage_name para el título y metadata_storage_path para la clave de documento, que se rellena como parent_id en el índice.

  • La vectorización solo se puede dar en Azure OpenAI (text-embedding-ada-002), mediante el algoritmo HNSW con valores predeterminados.

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

    textSplitMode: "pages",
    maximumPageLength: 2000,
    pageOverlapLength: 500
    

Requisitos previos

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

  • Azure AI Search, en cualquier región y nivel. La mayoría de los servicios existentes admiten el vector de búsqueda. En el caso de un pequeño subconjunto de servicios creados antes de enero de 2019, se producirá un error al crear un índice que contenga campos de vector. En esta situación, se debe crear un nuevo servicio.

  • El punto de conexión de Azure OpenAI con una implementación text-embedding-ada-002 y una clave de API o permisos de usuario de Cognitive Services OpenAI para cargar datos. Solo puede elegir un vectorizador en esta versión preliminar y este debe ser Azure OpenAI.

  • La cuenta de Azure Storage, con rendimiento estándar (uso general v2) y los niveles de acceso frecuente y esporádico.

  • Blobs que proporcionen contenido de texto, documentos no estructurados únicamente y metadatos. En esta versión preliminar, el origen de datos debe ser los blobs de Azure.

  • Permisos de lectura en Azure Storage. Una cadena de conexión de almacenamiento que incluya una clave de acceso le proporciona acceso de lectura al contenido de almacenamiento. Si en su lugar usa los inicios de sesión y roles de Microsoft Entra, asegúrese de que la identidad administrada del servicio de búsqueda tenga permisos de lector de datos de Storage Blob.

  • Todos los componentes (origen de datos y punto de conexión de inserción) deben tener habilitado el acceso público para que los nodos del portal puedan acceder a ellos. En caso contrario, el asistente producirá un error. Una vez que se ejecute el asistente, los firewalls y los puntos de conexión privados se pueden habilitar en los distintos componentes de integración para la seguridad. Si los puntos de conexión privados ya están presentes y no se pueden deshabilitar, la opción alternativa es ejecutar el flujo de un extremo a otro correspondiente desde un script o programa desde una máquina virtual dentro de 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. En el mismo repositorio de GitHub hay ejemplos en otros lenguajes de programación.

Búsqueda de espacio

Muchos clientes comienzan con el servicio gratis. El nivel Gratis está limitado a tres índices, tres orígenes de datos, tres conjuntos de aptitudes y tres indexadores. Asegúrese de que tiene espacio para elementos adicionales antes de empezar. Este inicio rápido crea uno de cada objeto.

Comprobación de la clasificación semántica

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

Captura de pantalla de la página de configuración del clasificador semántico

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 de navegación, 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. Antes de salir de la cuenta de Azure Storage en Azure Portal, conceda permisos de lector de datos de Storage Blob sobre el contenedor, suponiendo que desee el acceso basado en roles. O bien, obtenga una cadena de conexión a la cuenta de almacenamiento de la página Claves de acceso.

Obtención de los detalles de conexión de Azure OpenAI

El asistente necesita un punto de conexión, una implementación de text-embedding-ada-002 y una clave de API o una identidad administrada del servicio de búsqueda con permisos de usuario de Cognitive Services OpenAI.

  1. Inicie sesión en Azure Portal con su cuenta de Azure y vaya al recurso de Azure OpenAI.

  2. En Claves y administración, copie el punto de conexión.

  3. En la misma página, copie una clave o seleccione Control de acceso para asignar miembros de rol a la identidad del servicio de búsqueda.

  4. En Implementaciones de modelos, seleccione Administrar implementaciones para que se abra Azure AI Studio. Copie el nombre de implementación text-embedding-ada-002.

Inicio del asistente

Para empezar, vaya al servicio Azure AI Search en Azure Portal y abra el asistente para importar y vectorizar datos.

  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 del asistente

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 el asistente para Importar y vectorizar datos en la pestaña Conectarse a los datos, expanda la lista desplegable Origen de datos y seleccione Azure Blob Storage.

  2. Especifique la suscripción de Azure, la cuenta de almacenamiento y el contenedor que proporciona los datos.

  3. Para la conexión, proporcione una cadena de conexión de acceso completo que incluya una clave o especifique una identidad administrada que tenga permisos de lector de datos de Storage Blob sobre el contenedor.

  4. Especifique si desea detección de eliminación:

    Captura de pantalla de la página del origen de datos

  5. Seleccione Siguiente: Vectorizar y enriquecer para continuar.

Enriquecimiento y vectorización de los datos

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

  1. Proporcione la suscripción, el punto de conexión, la clave de API y el nombre de implementación del modelo.

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

  3. Opcionalmente, puede agregar clasificación semántica para volver a clasificar los resultados al final de la ejecución de la consulta, promocionando las coincidencias más pertinentes desde el punto de vista semántico en la parte superior.

  4. Especifique una programación del tiempo de ejecución para el indexador.

    Captura de pantalla de la página de enriquecimiento

  5. Seleccione Siguiente: Crear y revisar para continuar.

Ejecutar el asistente

Este paso crea los siguientes objetos:

  • Conexión del origen de datos con el contenedor de blobs.

  • Índice con campos vectoriales, vectorizadores, perfiles vectoriales, algoritmos vectoriales. No se le pedirá que diseñe ni modifique el índice predeterminado durante el flujo de trabajo del asistente. Los índices se ajustan a la versión 2023-10-01-Preview.

  • Conjunto de aptitudes con la aptitud División de texto para la fragmentación y AzureOpenAIEmbeddingModel para la vectorización.

  • Indexador con asignaciones de campos y asignaciones de campos de salida (si procede).

Si recibe errores, revise primero los permisos. Necesita un Usuario OpenAI de Cognitive Services en Azure OpenAI y un Lector de datos de blobs de Almacenamiento en Azure Storage. Los blobs deben no estar estructurados (los datos fragmentados se extraen de la propiedad "content" del blob).

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. Seleccione el índice.

  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 de opciones de consulta

  3. Seleccionar vista JSON le permitirá escribir texto para la consulta vectorial en el parámetro de consulta vectorial texto.

    Captura de pantalla del selector de JSON

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

    {
       "select": "chunk_id,parent_id,chunk,title",
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
  4. Reemplace el texto "*" por una pregunta relacionada con los planes de salud, como "qué plan tiene el deducible más bajo".

  5. Seleccione Buscar para ejecutar la consulta.

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

    Debería ver 5 coincidencias, donde cada documento es un fragmento del PDF original. El campo de título muestra de qué PDF procede el fragmento.

  6. Para ver todos los fragmentos de un documento específico, agregue un filtro para el campo de título 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.

Pasos siguientes

Este inicio rápido sirve de presentación del 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.