Inicio rápido: Búsqueda de vectores en el portal de Azure

Nota

Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.

En este inicio rápido, usará el asistente para Importar datos en Azure Portal para empezar a trabajar con la vectorización integrada. El asistente fragmenta EL contenido y llama a un modelo de inserción para vectorizar los fragmentos durante el tiempo de indexación y consulta.

En este inicio rápido se usan archivos PDF basados en texto e imágenes sencillas del repositorio azure-search-sample-data. Sin embargo, puede usar archivos diferentes y seguir completando este inicio rápido.

Sugerencia

¿Tiene documentos enriquecidos con imágenes? Consulte Quickstart: Búsqueda multiproceso en el portal de Azure para extraer, almacenar e buscar imágenes junto con texto.

Requisitos previos

Orígenes de datos admitidos

El asistente admite varios 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 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 Properties de la página Overview.
Microsoft OneLake Este origen de datos se conecta a archivos y accesos directos de OneLake.

Modelos de inserción admitidos

El portal admite los siguientes modelos de inserción para la vectorización integrada. Las instrucciones de implementación se proporcionan en una sección posterior.

Proveedor Modelos admitidos
Cuenta de varios servicios de Azure para inteligencia artificial1 Para texto e imágenes: Azure Vision multimodal
Proyecto basado en un hub de Microsoft Foundry Para texto:
  • text-embedding-ada-002
  • text-embedding-3-small
  • text-embedding-3-large
Para texto e imágenes:
  • Cohere-embed-v3-english 2
  • Cohere-embed-v3-multilingüe 2
proyecto Microsoft Foundry Para texto:
  • text-embedding-ada-002
  • text-embedding-3-small
  • text-embedding-3-large
Azure Recurso OpenAI3, 4 Para texto:
  • text-embedding-ada-002
  • text-embedding-3-small
  • text-embedding-3-large

1 Para fines de facturación, debe adjuntar su cuenta de varios servicios al conjunto de habilidades de Búsqueda de Azure AI. El asistente requiere que el servicio de búsqueda y la cuenta de varios servicios estén en la misma región admitida para la habilidad de inserciones multimodales de Azure Vision.

2 El asistente solo admite implementaciones de API sin servidor para este modelo. Puede usar el CLI de Azure para aprovisionar la implementación sin servidor.

3 El punto de conexión del recurso Azure OpenAI debe tener un subdominio custom, como https://my-unique-name.openai.azure.com. Si creó el recurso en el portal de Azure, este subdominio se generó automáticamente durante la configuración del recurso.

No se admiten los recursos de Azure OpenAI 4 (con acceso a los modelos de incrustación) creados en el portal de Microsoft Foundry. Debe crear un recurso Azure OpenAI en el portal de Azure.

Para consultar la guía más reciente sobre el ciclo de vida de los modelos, incluidas las obsolescencias, consulte Retirada y obsolescencia de modelos.

Requisitos del punto de conexión público

Todos los recursos indicados anteriormente deben tener el acceso público habilitado para que el asistente pueda 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 para la seguridad. Para obtener más información, consulte Protección de conexiones en el Asistente para importación.

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 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 Python ejemplo de código para la vectorización integrada. El mismo GitHub repo tiene ejemplos en otros lenguajes de programación.

Configuración del acceso

Antes de empezar, asegúrese de que tiene permisos para acceder al contenido y las operaciones. En este inicio rápido se usa Microsoft Entra ID para la autenticación y el acceso basado en roles para la autorización. Debe ser Propietario o Administrador de acceso de usuarios para asignar roles. Si los roles no son factibles, use la autenticación basada en claves en su lugar.

Configure los roles necesarios y los roles condicionales identificados en esta sección.

Roles necesarios

Búsqueda de Azure AI proporciona la canalización de búsqueda vectorial. Configure el acceso para ti y tu servicio de búsqueda para leer datos, ejecutar el flujo de trabajo e interactuar con otros recursos de Azure.

En el servicio Búsqueda de Azure AI:

  1. Habilite el acceso basado en roles.

  2. Configure una identidad administrada asignada por el sistema.

  3. Asigne los siguientes roles a sí mismo.

    • Colaborador del servicio de búsqueda

    • Colaborador de datos del índice de búsqueda

    • Lector de datos de índice de búsqueda

Roles condicionales

Las pestañas siguientes cubren todos los recursos compatibles con el asistente para la búsqueda de vectores. Seleccione solo las pestañas que se aplican al origen de datos elegido y el modelo de inserción.

Azure Blob Storage y Azure Data Lake Storage Gen2 requieren que el servicio de búsqueda tenga acceso de lectura a los contenedores de almacenamiento.

En la cuenta de Azure Storage:

  • Asigne Storage Blob Data Reader a la identidad administrada del servicio de búsqueda.

Preparación de datos de ejemplo

En esta sección, preparará datos de ejemplo para el origen de datos elegido.

  1. Vaya a la cuenta de Azure Storage en el portal Azure.

  2. En el panel izquierdo, seleccioneContenedores>.

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

  4. (Opcional) Sincronice las eliminaciones del contenedor con eliminaciones en el índice de búsqueda. Para configurar el indexador para la detección de supresión:

    1. Habilite la eliminación temporal en la cuenta de almacenamiento. Si usa la eliminación temporal nativa, no es necesario 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, asigne un nombre a la propiedad "IsDeleted" y establézcalo en false. Repita este paso para cada blob del contenedor. Cuando desee eliminar el blob, cambie la propiedad a true. Para obtener más información, consulte la detección de cambios y eliminaciones al indexar desde Azure Storage.

Preparación del modelo de inserción

Nota

Si usa Azure Vision, omita este paso. Las incrustaciones multimodales están integradas en tu cuenta multiservicio y no requieren la implementación del modelo.

El asistente admite varios modelos de incrustación de Azure OpenAI y el catálogo de modelos de Microsoft Foundry. Para implementar los modelos necesarios para el modelo de embedding elegido, consulte Deploy Microsoft Foundry Models en el portal de Foundry.

Iniciar el asistente

  1. Vaya al servicio de búsqueda en el portal Azure.

  2. En la página Información general , seleccione Importar 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.

Ejecutar el asistente

El asistente le guía por varios pasos de configuración. En esta sección se describe cada paso en secuencia.

Conexión a los datos

En este paso, conectará Búsqueda de Azure AI a la fuente de datos elegida para la ingesta e indexación de contenido.

  1. En la página Connect to your data (Conectar a los datos, seleccione 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 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 de nombre y 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 Azure Storage si hay una configuración válida o 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.

  4. Active la casilla Autenticar con identidad administrada . Deje el tipo de identidad como Asignado por el sistema.

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

  5. Seleccione Siguiente.

Vectorizar el texto

Durante este paso, el asistente usa el modelo de inserción elegido para vectorizar datos fragmentados. La fragmentación está integrada 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 Vectorize el texto, seleccione Azure OpenAI como tipo.

  2. Seleccione la suscripción de Azure.

  3. Seleccione el recurso Azure OpenAI y, a continuación, seleccione el modelo que implementó en Prepare el modelo de inserción.

  4. Para el tipo de autenticación, seleccione Identidad asignada por el sistema.

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

    Recorte de pantalla de la página Vectorizar el texto con Azure OpenAI en el asistente.

  6. Seleccione Siguiente.

Vectorizar y enriquecer las imágenes

Los archivos PDF del plan de salud incluyen un logotipo corporativo, pero de lo contrario, no hay imágenes. Puede omitir este paso si usa los documentos de ejemplo.

Sin embargo, si su contenido incluye imágenes útiles, puede emplear IA de una o ambas de las siguientes maneras:

  • Use un modelo de inserción de imágenes compatible desde el catálogo de modelos de Microsoft Foundry o la API de incrustaciones bidireccionales de Azure Vision (a través de una cuenta de varios servicios) para vectorizar imágenes.

  • Use el reconocimiento óptico de caracteres (OCR) para extraer texto de imágenes. Esta opción invoca la aptitud OCR.

  1. En la página Vectorize and enrich your images (Vectorizar y enriquecer las imágenes ), active la casilla Vectorize images (Vectorizar imágenes ).

  2. Para el tipo de modelo, seleccione el proveedor: Microsoft Foundry o Azure Vision de Foundry Tools.

  3. Seleccione la suscripción, el recurso y la implementación del modelo de inserción de Azure (si procede).

  4. Para el tipo de autenticación, seleccione Identidad asignada por el sistema si no usa un proyecto basado en concentrador. De lo contrario, déjelo como clave de API.

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

    Recorte de pantalla de la página Vectorizar y enriquecer las imágenes en el asistente.

  6. Seleccione Siguiente.

Agregar clasificación semántica

En la página Configuración avanzada , puede agregar opcionalmente la clasificación semántica para volver a generar resultados al final de la ejecución de la consulta. Reranking coloca las coincidencias más semánticamente relevantes al principio.

Asignar nuevos campos

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. Buscable y recuperable, pero no filtrable, facetable ni ordenable.
título Vectores de texto e imagen Campo de cadena. Título de documento legible para humanos o título de página o número de página. Buscable y recuperable, pero no filtrable, facetable ni ordenable.
text_vector Vectores de texto Collection(Edm.single). Representación vectorial del fragmento. Buscable y recuperable, pero no filtrable, facetable ni ordenable.

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.

Para agregar campos al esquema de índice:

  1. En la página Configuración avanzada , en Campos de índice, seleccione Vista previa y edición.

  2. Seleccione Agregar campo.

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

  4. Si desea restaurar el esquema a su versión original, seleccione Restablecer.

Puntos clave sobre este paso:

  • El esquema de índice proporciona campos vectores y no vectores para datos fragmentados.

  • El modo de análisis de documentos crea fragmentos (un documento de búsqueda por fragmento).

Programación de la indexación

En el caso de los orígenes de datos en los que los datos subyacentes son volátiles, puede programar la indexación para capturar los cambios a intervalos específicos o fechas y horas específicas.

Para programar la indexación:

  1. En la página Configuración avanzada , en Programación de la indexación, especifique una programación de ejecución para el indexador. Recomendamos Once para este inicio rápido.

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

  2. Seleccione Siguiente.

Finalizar el asistente

El último paso es revisar la configuración y crear los objetos necesarios para la búsqueda de vectores. Si es necesario, vuelva a las páginas anteriores del asistente para ajustar la configuración.

Para finalizar el asistente:

  1. En la página Revisar y crear , especifique un prefijo para los objetos que crea 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.

Objetos creados por el asistente

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

Objeto Descripción
Origen de datos Representa una conexión al origen de datos elegido.
Índice Contiene campos vectoriales, 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 REST de versión preliminar más reciente para que pueda usar características en versión preliminar.
Conjunto de aptitudes Contiene las siguientes aptitudes y configuración:
Indexador Impulsa el proceso de indexación, 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.

Comprobación de 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.

Para consultar el índice vectorial:

  1. En el portal de Azure, vaya a Search Management>Indexes 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. Reemplace ambos marcadores de posición de 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 title campo muestra de qué PDF procede el fragmento. Cada chunk 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 title_parent_id campo para un 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 de recursos

Cuando trabaja en su propia suscripción, es una buena idea finalizar un proyecto quitando los recursos que ya no necesita. Los recursos que se dejan en ejecución pueden costar dinero.

En el portal de Azure, seleccione Todos los recursos o Grupos de recursos en el panel izquierdo para buscar y administrar recursos. Puede eliminar recursos individualmente o eliminar el grupo de recursos para quitar todos los recursos a la vez.

Paso siguiente

Este inicio rápido le introdujo en el Asistente para importar datos , que crea todos los objetos necesarios para la vectorización integrada. Para explorar cada paso en detalle, por favor consulte Configurar la vectorización integrada en Búsqueda de Azure AI.