Compartir a través de


Aptitud de inserción multiinstalación de Azure Vision

Importante

Esta aptitud está en versión preliminar pública en Términos de uso complementarios. La API REST 2024-05-01-Preview y las API de versión preliminar más recientes admiten esta característica.

La aptitud de incrustaciones multiinserciones de Azure Vision usa la API de incrustaciones multiplataforma de Azure Vision en Foundry Tools para generar inserciones para la entrada de texto o imagen.

Para las transacciones que superan los 20 documentos por indexador al día, esta aptitud requiere que adjunte un recurso facturable de Microsoft Foundry al conjunto de aptitudes. La ejecución de aptitudes integradas se cobra por el precio estándar de Las herramientas de foundry existentes. La extracción de imágenes también es facturable por Azure AI Search.

La ubicación de los recursos es una consideración para la facturación. Dado que usa una versión preliminar de la API REST para crear un conjunto de aptitudes que contenga aptitudes en versión preliminar, puede usar una conexión sin clave para omitir el requisito de la misma región. Sin embargo, para las conexiones basadas en claves, Azure AI Search y Foundry deben estar en la misma región. Para garantizar la compatibilidad de regiones:

  1. Busque una región admitida para las inscrusciones multimodales.
  2. Compruebe que la región proporciona enriquecimiento con IA.

El recurso Foundry solo se usa con fines de facturación. El procesamiento de contenido se produce en recursos independientes administrados y mantenidos por Azure AI Search dentro de la misma ubicación geográfica. Los datos se procesan en la ubicación geográfica donde se implementa el recurso.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Límites de datos

Los límites de entrada de la aptitud se pueden encontrar en la documentación de Azure Vision para imágenes y texto. Considere la posibilidad de usar la aptitud división de texto si necesita fragmentación de datos para las entradas de texto.

Entre las entradas aplicables se incluyen:

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

Parámetros de la aptitud

Los parámetros distinguen mayúsculas de minúsculas.

Entradas Descripción
modelVersion (Obligatorio) La versión del modelo (2023-04-15) que se va a pasar a la API de incrustaciones multiinstalaciones de Azure Vision para generar incrustaciones. Las incrustaciones vectoriales solo se pueden comparar y hacer coincidir si proceden del mismo tipo de modelo. Las imágenes vectorizadas por un modelo no se podrán buscar a través de otro modelo. Image Analysis API más reciente ofrece dos modelos:
  • La 2023-04-15 versión, que admite la búsqueda de texto en muchos idiomas. Azure AI Search usa esta versión.
  • El modelo heredado 2022-04-11 , que solo admite inglés.

Entradas de la aptitud

Las entradas de definición de aptitud incluyen el nombre, el origen y las entradas. En la tabla siguiente se proporcionan valores válidos para el nombre de la entrada. También puede especificar entradas recursivas. Para más información, consulte la referencia de la API REST y Creación de un conjunto de aptitudes.

Entrada Descripción
text El texto de entrada que se va a vectorizar. Si usa la fragmentación de datos, el origen podría ser /document/pages/*.
image Tipo complejo. Actualmente solo funciona con el campo "/document/normalized_images", generado por el indexador de blobs de Azure cuando imageAction se establece en un valor distinto de none.
url Dirección URL para descargar la imagen que se va a vectorizar.
queryString Cadena de consulta de la dirección URL para descargar la imagen que se va a vectorizar. Útil si almacena la dirección URL y el token de SAS en rutas de acceso independientes.

Solo se puede configurar una de text, image o url/queryString para una sola instancia de la aptitud. Si desea vectorizar imágenes y texto dentro del mismo conjunto de aptitudes, incluya dos instancias de esta aptitud en la definición del conjunto de aptitudes, una para cada tipo de entrada que quiera usar.

Salidas de la aptitud

Salida Descripción
vector Salida que inserta una matriz de floats para el texto o la imagen de entrada.

Definición de ejemplo

Para la entrada de texto, considere un blob que tenga 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."
}

En el caso de las entradas de texto, la definición de aptitud podría tener este aspecto:

{ 
    "@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 aptitud en el mismo conjunto de aptitudes podría tener este aspecto:

{
    "@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 desea vectorizar imágenes directamente desde el origen de datos de Blob Storage en lugar de extraer imágenes durante la indexación, la definición de aptitud debe especificar una dirección URL y quizás un token de SAS en función de la seguridad del almacenamiento. En este escenario, la definición de aptitudes podría tener este aspecto:

{
    "@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 muestra

Para la entrada especificada, se genera una salida de inserción vectorizada. La salida es de 1024 dimensiones, que es el número de dimensiones admitidas por la API multidimensionable de Azure Vision.

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

La salida reside en la memoria. Para enviar esta salida a un campo del índice de búsqueda, debe definir un valor outputFieldMapping que asigne la salida de inserción vectorizada (que es una matriz) a un campo de vector. Suponiendo que la salida de la aptitud reside en el nodo vectorial del documento y content_vector es el campo del índice de búsqueda, outputFieldMapping en el indexador debe tener el siguiente aspecto:

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

Para insertar imágenes de asignación en el índice, se usan proyecciones de índice. La carga útil indexProjections de podría tener un aspecto similar al del ejemplo siguiente. image_content_vector es un campo del índice y se rellena con el contenido que se encuentra en el vector de la matriz 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