Comment implémenter la vectorisation intégrée en utilisant des modèles d’Azure AI Foundry
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’incorporation provenant d’Azure OpenAI, Cohere, Facebook et OpenAI. 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 pendant l’indexation, ou avec le vectoriseur AI Foundry pour des requêtes.
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.
Appliquez un filtre pour voir seulement les modèles d’incorporation. Sous Tâches d’inférence, sélectionnez Incorporations :
Sélectionnez le modèle avec lequel vous voulez vectoriser votre contenu. Sélectionnez ensuite Déployer, puis choisissez une option de déploiement.
Entrez les informations demandées. Sélectionnez ou créez un projet IA, 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.
Copiez les champs URL, Clé principale et ID de modèle, puis conservez-les à part pour plus tard. 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’URL et l’ID de modèle, et 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 la compétence AML fonctionne avec les modèles suivants d’AI Foundry :
- OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
- OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
Elle suppose que vous segmentez votre contenu en utilisant la compétence Fractionnement de texte et que le texte à vectoriser se trouve dans le chemin d’accès /document/pages/*
. Si votre texte provient d’un chemin d’accès différent, mettez à jour en conséquence toutes les références au chemin d’accès /document/pages/*
.
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/pages/*",
"uri": "<YOUR_MODEL_URL_HERE>",
"key": "<YOUR_MODEL_KEY_HERE>",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/pages/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[['', $(/document/pages/*)]]"
}
]
}
],
"outputs": [
{
"name": "text_features"
}
]
}
Exemple de charge utile de vectoriseur AI Foundry
Le vectoriseur AI Foundry, contrairement à la compétence AML, est conçu pour fonctionner seulement avec les modèles incorporés qui sont déployables via le catalogue de modèles d’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, mais 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 AI Foundry.
Voici un exemple de charge montrant comment configurer le vectoriseur sur votre définition d’index en fonction des propriétés copiées depuis 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 par clé, vous pouvez configurer à la place la connexion de la compétence AML et du vectoriseur 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