Partage via


Compétence Incorporations multimodales d’Azure AI Vision

Important

Cette fonctionnalité est en préversion publique sous les conditions d’utilisation supplémentaires. L’API REST 2024-05-01-Preview prend en charge cette fonctionnalité.

La compétence Incorporations multimodales d’Azure AI Vision utilise l’API Incorporations multimodales d’Azure AI Vision afin de générer des incorporations pour l’entrée d’image ou de texte.

La compétence est prise en charge seulement dans les services de recherche situés dans une région qui prend en charge l’API Incorporations multimodales d’Azure AI Vision. Passez en revue la disponibilité des régions pour les incorporations modales. Vos données sont traitées dans l’emplacement géographique où votre modèle est déployé.

Remarque

Cette compétence est liée aux services Azure AI et nécessite une ressource facturable pour les transactions qui dépassent 20 documents par indexeur et par jour. L'exécution des compétences intégrées est facturée au prix actuel du paiement à l'utilisation des services Azure AI.

En outre, l’extraction d’images est facturée par Azure AI Search.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Limites de données

Les limites d’entrée pour la compétence sont disponibles dans la documentation Azure AI Vision pour les images et le texte, respectivement. Envisagez d’utiliser la compétence Fractionnement de texte si vous avez besoin d’une segmentation des données pour les entrées de texte.

Paramètres de la compétence

Les paramètres respectent la casse.

Entrées Description
modelVersion (Obligatoire) La version du modèle à passer à l’API Incorporations multimodales d’Azure AI Vision pour générer des incorporations. Il est important que toutes les incorporations stockées dans un champ d’index donné soient générées en utilisant la même modelVersion. Pour plus d’informations sur la prise en charge des versions pour ce modèle, reportez-vous aux incorporations modales.

Entrées de la compétence

Input Description
text Le texte d’entrée à vectoriser. Si vous utilisez la segmentation des données, la source peut être /document/pages/*.
image Type complexe. Actuellement, fonctionne seulement avec le champ « /documents/normalized_images », produit par l’indexeur de blobs Azure quand imageAction est défini sur une valeur supérieure à none.
url L’URL pour télécharger l’image à vectoriser.
queryString La chaîne de requête de l’URL pour télécharger l’image à vectoriser. Utile si vous stockez l’URL et le jeton SAP dans des chemins d’accès distincts.

Pour une même instance de la compétence, vous ne pouvez configurer qu’un seul des éléments parmi les suivants : text, image ou url/queryString. Si vous voulez vectoriser à la fois des images et du texte dans le même ensemble de compétences, incluez deux instances de cette compétence dans la définition de l’ensemble de compétences : une pour chaque type d’entrée que vous voulez utiliser.

Sorties de la compétence

Sortie Description
vector Tableau d’incorporation de sortie de flottants pour le texte ou l’image en entrée.

Exemple de définition

Pour l’entrée de texte, prenez en compte un enregistrement qui a les champs suivants :

{
    "content": "Microsoft released Windows 10."
}

Votre définition de compétence peut se présenter comme suit :

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

Pour l’entrée d’image, votre définition de compétence peut se présenter comme ceci :

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

Si vous voulez vectoriser des images directement à partir de votre source de données de stockage de blobs, votre définition de compétence se présenter comme ceci :

{
    "@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"
        }
    ]
}

Exemple de sortie

Pour le texte d’entrée donné, une sortie d’incorporation vectorisée est produite.

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

La sortie réside dans la mémoire. Pour envoyer cette sortie à un champ dans l’index de recherche, vous devez définir un outputFieldMapping qui mappe la sortie d’incorporation vectorisée (qui est un tableau) à un champ vectoriel. En supposant que la sortie de la compétence se trouve dans le nœud vecteur du document et que content_vector est le champ de l’index de recherche, le mappage outputFieldMapping dans l’indexeur doit se présenter comme ceci :

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

Pour mapper des incorporations d’images à l’index, vous devez utiliser la fonctionnalité Projections d’index. La charge utile pour indexProjections peut se présenter comme ceci :

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

Voir aussi