Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.
Important
Les fonctionnalités, fonctionnalités ou propriétés marquées (préversion) ne sont pas couvertes par un contrat de niveau de service, ne sont pas recommandées pour les charges de travail de production et peuvent changer ou être limitées avant qu’elles ne soient généralement disponibles. Les Recherche Azure AI termes de la préversion s'appliquent à toutes les fonctionnalités d'aperçu, qu'il s'agisse d'une fonctionnalité autonome ou d'une partie d'une fonctionnalité généralement disponible.
La compétence d’incorporations Azure Vision modale (préversion) utilise l’API d’incorporations modales de Azure Vision dans Foundry Tools pour générer des incorporations pour l’entrée de texte ou d’image.
Pour les transactions qui dépassent 20 documents par indexeur par jour, cette compétence exige que vous associer une ressource facturable Microsoft Foundry à votre ensemble de compétences. L’exécution des compétences intégrées est facturée au prix standard actuel de Foundry Tools. L’extraction d’image est également facturable par Recherche Azure AI.
La ressource Microsoft Foundry est utilisée uniquement à des fins de facturation. Le traitement du contenu se fait sur des ressources distinctes gérées et maintenues par Recherche Azure AI. Vos données sont traitées dans la géo où votre ressource est déployée.
Régions prises en charge
Les régions prises en charge varient selon la modalité et la façon dont la compétence se connecte à l’API d’intégration multimodale d’Azure Vision.
| Approche | Prérequis |
|---|---|
| Assistant d’importation de données |
|
| Programmatique, utilisant une connexion basée sur des clés pour la facturation |
|
| Programmatique, utilisant une connexion sans clé pour la facturation | Aucune exigence de même région. Créez un service Recherche Azure AI et Microsoft ressource Foundry dans toute région où chaque service est disponible. |
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Limites des données
Les limites d’entrée pour la compétence se trouvent dans la documentation Azure Vision pour les images et le texte. Envisagez d’utiliser la compétence Text Split si vous avez besoin de fragmentation de données pour les entrées textuelles.
Les entrées applicables incluent :
- La taille du fichier d’entrée d’image doit être inférieure à 20 mégaoctets (Mo). La taille de l’image doit être supérieure à 10 x 10 pixels et inférieure à 16 000 x 16 000 pixels.
- La chaîne de texte doit être comprise entre un mot (inclus) et 70 mots.
Paramètres de compétence
Les paramètres sont sensibles à la casse.
| Entrées | Description |
|---|---|
modelVersion |
(Obligatoire) La version du modèle (2023-04-15) doit être transmise à l’API d’embeddings multimodaux Azure Vision pour générer des embeddings. Les embeddings vectoriels ne peuvent être comparés et appariés que s’ils proviennent du même type de modèle. Les images vectorisées par un modèle ne seront pas consultables via un autre modèle. La dernière API d’analyse d’images propose deux modèles :
|
Données de compétences
Les entrées de définition de compétences incluent le nom, la source et les entrées. Le tableau suivant fournit des valeurs valides pour le nom de l’entrée. Vous pouvez aussi spécifier des entrées récursives. Pour plus d’informations, consultez la référence de l’API REST et Créer un ensemble de compétences.
| Input | Description |
|---|---|
text |
Le texte d’entrée à vectoriser. Si vous utilisez le segment de données, la source pourrait être /document/pages/*. |
image |
Type complexe. Actuellement, il ne fonctionne qu’avec le champ « /document/normalized_images », produit par l’indexeur de blob Azure lorsque imageAction est défini à une valeur autre que 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 SAS sur des chemins séparés. |
Un seul de text, image ou url/queryString peut être configuré pour une seule instance de la compétence. Si vous souhaitez vectoriser à la fois les images et le texte au sein du 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 souhaitez utiliser.
Résultats des compétences
| Sortie | Description |
|---|---|
vector |
Tableau d’intégration de sortie de floats pour le texte d’entrée ou l’image. |
Exemple de définition
Pour la saisie de texte, considérez un blob contenant le contenu suivant :
{
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
}
Pour les entrées textuelles, votre définition de compétence pourrait ressembler à ceci :
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
}
Pour l’entrée d’images, une seconde définition de compétence dans le même ensemble pourrait ressembler à 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",
"targetName": "image_vector"
}
]
}
Si vous souhaitez vectoriser les images directement à partir de votre source de données de stockage blob plutôt que d’extraire des images lors de l’indexation, votre définition de compétence devrait spécifier une URL, et peut-être un jeton SAS selon la sécurité du stockage. Dans ce scénario, votre définition de compétence pourrait ressembler à 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",
"targetName": "image_vector"
}
]
}
Exemple de résultat
Pour l’entrée donnée, une sortie d’intégration vectorisée est produite. La sortie est de 1 024 dimensions, ce qui correspond au nombre de dimensions prises en charge par l’API multimodale Azure Vision.
{
"text_vector": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
La sortie réside en mémoire. Pour envoyer cette sortie à un champ dans l’index de recherche, vous devez définir une sortieFieldMapping qui mappe la sortie d’embedding vectorisée (qui est un tableau) sur un champ vectoriel. En supposant que la sortie de compétence réside dans le nœud vectoriel du document, et que content_vector soit le champ dans l’index de recherche, le outputFieldMapping dans l’indexeur devrait ressembler à :
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
Pour mapper les inclusions d’images à l’index, vous utilisez des projections d’index. La charge utile pour indexProjections pourrait ressembler à l’exemple suivant. image_content_vector est un champ dans l’index, et il est rempli du contenu trouvé dans le vecteur du tableau de normalized_images .
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "image_content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}