Utiliser les modèles d'intégration du catalogue de modèles Azure AI Foundry pour une vectorisation intégrée
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é.
Dans cet article, découvrez comment accéder aux modèles d’incorporation dans le catalogue de modèles Azure AI Foundry pour les conversions de vecteurs lors de l’indexation et dans des requêtes dans Recherche Azure AI.
Le workflow inclut les étapes de déploiement du modèle. Le catalogue de modèles comprend des modèles d'intégration de Microsoft et d'autres sociétés. Le déploiement d’un modèle est facturable selon la structure de facturation de chaque fournisseur.
Une fois le modèle déployé, vous pouvez l’utiliser pour la vectorisation intégrée durant l’indexation, ou avec le vectoriseur Azure AI Foundry pour les requêtes.
Conseil
Utilisez l’Assistant Importation et vectorisation des données pour générer un ensemble de compétences qui inclut une compétence AML pour les modèles incorporés déployés sur Azure AI Foundry. La définition des compétences AML pour les entrées, les sorties et les correspondances est générée par l'assistant, ce qui vous permet de tester facilement un modèle avant d'écrire le moindre code.
Prérequis
Recherche Azure AI, n’importe quelle région et niveau.
Azure AI Foundry et un projet Azure AI Foundry.
Modèles d’incorporation pris en charge
La vectorisation intégrée et l’Assistant Importation et vectorisation des données prennent en charge les modèles d’incorporation suivants dans le catalogue de modèles :
Pour les incorporations de texte :
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
Pour les incorporations d’image :
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Déployer un modèle d’incorporation à partir du catalogue de modèles d’Azure AI Foundry
Ouvrez au catalogue de modèles Azure AI Foundry. Créez un projet si vous n’en avez pas encore un.
Appliquez un filtre pour voir seulement les modèles d’incorporation. Sous Tâches d’inférence, sélectionnez Incorporations :
Sélectionnez un modèle pris en charge, puis sélectionnez Déployer.
Acceptez les valeurs par défaut ou modifiez si nécessaire, puis sélectionnez Déployer. Les détails du déploiement varient selon le modèle que vous sélectionnez.
Attendez que le déploiement du modèle se termine en surveillant l’état d’approvisionnement. Il doit passer de « Approvisionnement » à « Mise à jour », puis à « Réussite ». Il peut être nécessaire de sélectionner Actualiser toutes les quelques minutes pour voir la mise à jour de l’état.
Notez l'URI cible, la clé et le nom du modèle. Vous avez besoin de ces valeurs pour la définition du vectoriseur dans un index de recherche et pour l’ensemble de compétences qui appelle les points de terminaison du modèle lors de l’indexation.
Si vous le souhaitez, vous pouvez faire en sorte que votre point de terminaison utilise Authentification par jeton au lieu de Authentification par clé. Si vous activez l’authentification par jeton, vous devez seulement copier l’URI et le nom du modèle, mais noter la région dans laquelle le modèle est déployé.
Vous pouvez maintenant configurer un index de recherche et un indexeur pour utiliser le modèle déployé.
Pour utiliser le modèle lors de l’indexation, consultez Étapes pour activer la vectorisation intégrée. Veillez à utiliser la compétence Azure Machine Learning (AML), et non pas la compétence AzureOpenAIEmbedding. La section suivante décrit la configuration de la compétence.
Pour utiliser le modèle comme vectoriseur au moment de la requête, consultez Configurer un vectoriseur. Veillez à utiliser le vectoriseur du catalogue de modèles d’Azure AI Foundry pour cette étape.
Exemples de charges utiles de compétence AML
Quand vous déployez des modèles d’incorporation du catalogue de modèles d’Azure AI Foundry, vous vous y connectez en utilisant la compétence AML dans Recherche Azure AI pour l’indexation des charges de travail.
Cette section décrit la définition de la compétence AML et les mappages d’index. Elle inclut des exemples de charges utiles déjà configurées pour fonctionner avec leurs points de terminaison déployés correspondants. Pour plus d’informations techniques sur le fonctionnement de ces charges utiles, consultez le Langage d’annotation du contexte et des entrées des compétences.
Cette charge utile de compétence AML fonctionne avec les modèles d’incorporation d’image suivants d’Azure AI Foundry :
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Elle suppose que vos images proviennent du chemin d’accès /document/normalized_images/*
qui est créé en activant l’extraction d’images intégrée. Si vos images proviennent d’un chemin d’accès différent ou sont stockées sous forme d’URL, mettez à jour en conséquence toutes les références au chemin d’accès /document/normalized_images/*
.
L’URI et la clé sont générés quand vous déployez le modèle à partir du catalogue. Pour plus d’informations sur ces valeurs, consultez Comment déployer des grands modèles de langage avec Azure AI Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/normalized_images/*",
"uri": "https://myproject-1a1a-abcd.eastus.inference.ml.azure.com/score",
"timeout": "PT1M",
"key": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[[$(/document/normalized_images/*/data), '']]"
}
]
}
],
"outputs": [
{
"name": "image_features"
}
]
}
Exemple de charge utile de vectoriseur Azure AI Foundry
Le vectoriseur Azure AI Foundry, contrairement à la compétence AML, est conçu pour fonctionner uniquement avec les modèles d’incorporation déployables via le catalogue de modèles Azure AI Foundry. La principale différence est que vous n’avez pas à vous soucier de la charge utile des requêtes et des réponses. Toutefois, vous devez fournir le modelName
, qui correspond à l’« ID de modèle » que vous avez copié après le déploiement du modèle dans le portail Azure AI Foundry.
Voici un exemple de charge utile montrant comment vous devez configurer le vectoriseur sur votre définition d’index, compte tenu des propriétés copiées à partir d’Azure AI Foundry.
Pour les modèles Cohere, vous ne devez PAS ajouter le chemin d’accès /v1/embed
à la fin de votre URL comme vous l’avez fait avec la compétence.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Se connecter en utilisant l’authentification par jeton
Si vous ne pouvez pas utiliser l’authentification basée sur les clés, vous pouvez configurer à la place la compétence AML et la connexion du vectoriseur Azure AI Foundry pour l’authentification par jeton via le contrôle d’accès en fonction du rôle sur Azure. Le service de recherche doit avoir une identité managée affectée par le système ou par l’utilisateur, et l’identité doit disposer d’autorisations Propriétaire ou Contributeur pour l’espace de travail de votre projet AML. Vous pouvez ensuite supprimer le champ de clé de votre définition de compétence et de vectoriseur, en le remplaçant par le champ resourceId. Si votre projet AML et votre service de recherche se trouvent dans des régions différentes, renseignez également le champ Région.
"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service