Azure Vision aptitudes de inserción multi-instalaciones

Note

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.

Importante

Esta habilidad está en vista previa bajo Términos de Uso Suplementarios. La versión preliminar más reciente de Skillsets- Create Or Update (API REST) admite esta característica.

La habilidad de incrustaciones multimodales Azure Vision >multimodal embeddings de Azure Vision en Foundry Tools para generar incrustaciones para entrada de texto o imágenes.

Para transacciones que superen los 20 documentos por indexador al día, esta habilidad requiere que adjuntes un recurso facturable de Microsoft Foundry a tu conjunto de habilidades. La ejecución de las habilidades integradas se cobra al precio estándar actual de Foundry Tools. La extracción de imágenes también es facturable por Búsqueda de Azure AI.

El recurso de Microsoft Foundry se utiliza únicamente con fines de facturación. El procesamiento de contenido se realiza en recursos separados gestionados y mantenidos por Búsqueda de Azure AI. Tus datos se procesan en la Geo donde se despliega tu recurso.

Regiones soportadas

Las regiones compatibles varían según la modalidad y cómo la habilidad se conecta con la API de incrustaciones multimodales de Azure Vision.

Enfoque Requisito
Asistente de importación de datos
  1. Busca una región que soporte incrustaciones multimodales en Azure Vision.
  2. Verifica que la región soporta enriquecimiento por IA en Búsqueda de Azure AI.
  3. Crea un servicio Búsqueda de Azure AI y Azure cuenta multiservicio de IA en la misma región.
Programático, usando una conexión basada en teclas para la facturación
  1. Busca una región que soporte incrustaciones multimodales en Azure Vision.
  2. Verifica que la región soporta enriquecimiento por IA en Búsqueda de Azure AI.
  3. Crea un servicio de Búsqueda de Azure AI y un recurso de Microsoft Foundry en la misma región.
Programático, usando una conexión sin clave para facturación No hay requisito de la misma región. Crear un servicio Búsqueda de Azure AI y Microsoft recurso de Foundry en cualquier región donde esté disponible cada servicio.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Límites de datos

Los límites de entrada para la habilidad se pueden encontrar en la documentación Azure Vision para imágenes y texto. Considera usar la habilidad División de Texto si necesitas fragmentación de datos para entradas de texto.

Las entradas aplicables incluyen:

  • El tamaño del archivo de entrada de imagen debe ser inferior a 20 megabytes (MB). El tamaño de la imagen debe ser mayor a 10 x 10 píxeles y menor a 16.000 x 16.000 píxeles.
  • La cadena de entrada de texto debe tener entre una palabra (inclusiva) y 70 palabras.

Parámetros de aptitud

Los parámetros son sensibles a mayúsculas y mayúsculas.

Entradas Descripción
modelVersion (Obligatorio) La versión del modelo (2023-04-15) se pasará a la API de incrustaciones multimodales de Azure Vision para generar incrustaciones. Las incrustaciones vectoriales solo pueden compararse y emparejarse si son del mismo tipo de modelo. Las imágenes vectorizadas por un modelo no podrán buscarse a través de otro modelo. La última API de Análisis de Imágenes ofrece dos modelos:
  • La 2023-04-15 versión permite la búsqueda de texto en muchos idiomas. Búsqueda de Azure AI utiliza esta versión.
  • El modelo legacy 2022-04-11 , que solo admite inglés.

Entradas de habilidades

Las entradas de definición de habilidades incluyen nombre, fuente y entradas. La siguiente tabla proporciona valores válidos para el nombre de la entrada. También puedes especificar entradas recursivas. Para más información, consulta la referencia de la API REST y Crear un conjunto de habilidades.

Entrada Descripción
text El texto de entrada a vectorizar. Si usas fragmentación de datos, la fuente podría ser /document/pages/*.
image Tipo complejo. Actualmente solo funciona con el campo "/document/normalized_images", producido por el indexador de blob de Azure cuando imageAction está asignado a un valor distinto de none.
url La URL para descargar la imagen que se vectorizará.
queryString La cadena de consulta de la URL para descargar la imagen que se va a vectorizar. Útil si almacenas la URL y el token SAS en rutas separadas.

Solo uno de text, image o url/queryString puede configurarse para una única instancia de la habilidad. Si quieres vectorizar tanto imágenes como texto dentro del mismo conjunto de habilidades, incluye dos instancias de esta habilidad en la definición del conjunto de habilidades, una para cada tipo de entrada que quieras usar.

Resultados de habilidades

Output Descripción
vector Matriz de incrustación de salida de flotadores para el texto o imagen de entrada.

Definición de ejemplo

Para la entrada de texto, consideremos una mancha que contiene el siguiente contenido:

{
    "content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square  kilometers of South America."
}

Para entradas de texto, tu definición de habilidad podría ser la siguiente:

{ 
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill", 
    "context": "/document", 
    "modelVersion": "2023-04-15", 
    "inputs": [ 
        { 
            "name": "text", 
            "source": "/document/content" 
        } 
    ], 
    "outputs": [ 
        { 
            "name": "vector",
            "targetName": "text_vector"
        } 
    ] 
} 

Para la entrada de imagen, una segunda definición de habilidad dentro del mismo conjunto de habilidades podría ser así:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document/normalized_images/*",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "image",
            "source": "/document/normalized_images/*"
        }
    ],
    "outputs": [
        {
            "name": "vector",
            "targetName": "image_vector"
        }
    ]
}

Si quieres vectorizar imágenes directamente desde tu fuente de datos de almacenamiento blob en lugar de extraer imágenes durante la indexación, tu definición de habilidad debería especificar una URL y quizás un token SAS dependiendo de la seguridad del almacenamiento. Para este escenario, tu definición de habilidad podría ser la siguiente:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "url",
            "source": "/document/metadata_storage_path"
        },
        {
            "name": "queryString",
            "source": "/document/metadata_storage_sas_token"
        }
    ],
    "outputs": [
        {
            "name": "vector",
            "targetName": "image_vector"
        }
    ]
}

Salida de ejemplo

Para la entrada dada, se produce una salida de incrustación vectorizada. La salida es de 1.024 dimensiones, que es el número de dimensiones soportadas por la API multimodal de Azure Vision.

{
  "text_vector": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

La salida reside en la memoria. Para enviar esta salida a un campo en el índice de búsqueda, debes definir un outputFieldMapping que mapea la salida de incrustación vectorizada (que es un array) a un campo vectorial. Suponiendo que la salida de la habilidad reside en el nodo vectorial del documento, y content_vector es el campo en el índice de búsqueda, el outputFieldMapping en el indexador debería verse así:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/vector/*",
      "targetFieldName": "content_vector"
    }
  ]

Para mapear incrustaciones de imágenes al índice, se usan proyecciones de índice. La carga útil para indexProjections podría parecerse al siguiente ejemplo. image_content_vector es un campo en el índice, y está poblado con el contenido encontrado en el vector del array de normalized_images .

"indexProjections": {
    "selectors": [
        {
            "targetIndexName": "myTargetIndex",
            "parentKeyFieldName": "ParentKey",
            "sourceContext": "/document/normalized_images/*",
            "mappings": [
                {
                    "name": "image_content_vector",
                    "source": "/document/normalized_images/*/vector"
                }
            ]
        }
    ]
}

Consulte también