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, capacités ou propriétés marquées (préversion) ne sont pas couvertes par un accord de niveau de service, ne sont pas recommandées pour les workloads de production et peuvent être modifiées ou faire l’objet de restrictions avant leur mise à disposition générale. 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.
Dans cet article, vous apprendrez à utiliser les modèles du catalogue de modèles Microsoft Foundry pour la vectorisation intégrée (préversion) lors de l’indexation et de l’exécution des requêtes dans Recherche Azure AI.
Le flux de travail nécessite que vous déployiez un modèle à partir du catalogue, qui inclut l’incorporation de modèles à partir de Microsoft et d’autres entreprises. Le déploiement d’un modèle est facturable en fonction de la structure de facturation de chaque fournisseur.
Une fois le modèle déployé, vous pouvez l’utiliser avec la compétence AML pour la vectorisation intégrée pendant l’indexation ou avec le vectoriseur de catalogue de modèles Microsoft Foundry pour les requêtes.
Conseil
Utilisez l’Assistant Importation de 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 Foundry. La définition de compétence AML pour les entrées, les sorties et les mappages est générée par l’Assistant, ce qui vous permet de tester facilement un modèle avant d'avoir à écrire du code.
Conditions préalables
Un service Recherche Azure AI dans n’importe quelle région et sur n’importe quel niveau tarifaire.
Un projet basé sur un hub Microsoft Foundry.
Modèles d’incorporation pris en charge
Les modèles incorporés pris en charge à partir du catalogue de modèles varient selon la méthode d’utilisation :
Pour obtenir la liste la plus récente des modèles pris en charge de manière programmatique, consultez la référence de la compétence AML et du vectoriseur Microsoft Foundry pour le catalogue de modèles.
Pour obtenir la liste la plus récente des modèles pris en charge dans le portail Azure, consultez Quickstart : Vector search in the Azure portal et Quickstart : Multimodal search in the Azure portal.
Déployer un modèle d’incorporation à partir du catalogue de modèles
Suivez ces instructions du portail pour déployer un modèle pris en charge sur votre projet.
Notez l’URI, la clé et le nom du modèle cible. Vous avez besoin de ces valeurs pour la définition de vectoriseur dans un index de recherche et pour l’ensemble de compétences qui appelle les points de terminaison de modèle pendant l’indexation.
Si vous préférez l’authentification par jeton à l’authentification par clé, vous devez uniquement copier le nom du modèle. Toutefois, notez la région dans laquelle le modèle est déployé.
Configurez un index de recherche et un indexeur pour utiliser le modèle déployé.
Pour utiliser le modèle pendant l’indexation, consultez Comment utiliser la vectorisation intégrée. Veillez à utiliser la compétence AML et non la compétence Azure OpenAI Embedding. La section suivante décrit la configuration des compétences.
Pour utiliser le modèle comme vectoriseur au moment de la requête, consultez Configurer un vectoriseur. Veillez à utiliser le vectoriseur de catalogue de modèles Microsoft Foundry pour cette étape.
Déployer un modèle d’incorporation en tant que déploiement serverless
La compétence AML et le vectoriseur de catalogue de modèles de Microsoft Foundry acceptent uniquement les déploiements serverless des modèles d’incorporation de Cohere. Les déploiements serverless via le portail Microsoft Foundry ne sont pas pris en charge pour ces modèles. Utilisez donc le Azure CLI pour créer le déploiement. Pour plus d’informations, consultez Déployer des modèles en tant que déploiements d’API serverless.
Pour créer un déploiement serverless Cohere :
Installez le Azure CLI avec l’extension
ml.az extension add -n mlConnectez-vous à Azure et définissez vos valeurs par défaut.
az login az account set --subscription <subscription-id> az configure --defaults workspace=<project-name> group=<resource-group>Créez un fichier
subscribe.yamlpour vous abonner à l’abonnement du marketplace pour le modèle.name: cohere-embed-v3-english-subscription model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishPour les autres modèles pris en charge, remplacez l’ID de modèle par l’une des valeurs suivantes.
Modèle ID de modèle Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishCohere-embed-v3-multilingue azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingualCohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4Exécutez la commande suivante pour créer l’abonnement.
az ml marketplace-subscription create --file subscribe.yamlCréez un fichier
endpoint.yamlpour définir le point de terminaison serverless.name: cohere-embed-v3-english-endpoint model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishExécutez la commande suivante pour créer le point de terminaison.
az ml serverless-endpoint create --file endpoint.yamlPour l’authentification basée sur des clés, obtenez l’URI de point de terminaison et la clé à utiliser dans la compétence ou le vectoriseur.
az ml serverless-endpoint show --name cohere-embed-v3-english-endpoint --query "scoring_uri" az ml serverless-endpoint get-credentials --name cohere-embed-v3-english-endpoint
Exemple de charge utile de compétence AML
Lorsque vous déployez des modèles incorporés à partir du catalogue de modèles, vous les connectez à l’aide de la compétence AML dans Recherche Azure AI pour l’indexation des charges de travail.
Cette section décrit la définition de compétence AML et les mappages d’index. Il inclut un exemple de charge utile déjà configuré pour fonctionner avec son point de terminaison déployé correspondant. Pour plus d’informations, consultez contexte de compétence et langage d’annotation d’entrée.
Modèles d'embedding de Cohere
Cette charge utile de compétence AML fonctionne avec les modèles d’incorporation suivants :
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingue
- Cohere-embed-v4
Il part du principe que vous segmentez votre contenu à l’aide de la fonctionnalité Fractionnement de texte et, par conséquent, que votre texte à vectoriser se trouve dans le chemin /document/pages/*. Si votre texte provient d’un chemin différent, mettez à jour toutes les références au /document/pages/* chemin en conséquence.
Vous devez ajouter le chemin d'accès /v1/embed à la fin de l'URL que vous avez copiée depuis votre déploiement Foundry. Vous pouvez également modifier les valeurs pour les entrées input_type, truncate, et embedding_types afin qu'elles correspondent mieux à votre cas d'usage. Pour plus d’informations sur les options disponibles, consultez la référence de l’API Cohere Embed.
L’URI et la clé sont générés lorsque vous déployez le modèle à partir du catalogue. Pour plus d’informations sur ces valeurs, consultez Comment déployer des modèles Cohere Embed avec Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/pages/*",
"uri": "https://cohere-embed-v3-multilingual-hin.eastus.models.ai.azure.com/v1/embed",
"key": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"inputs": [
{
"name": "texts",
"source": "=[$(/document/pages/*)]"
},
{
"name": "input_type",
"source": "='search_document'"
},
{
"name": "truncate",
"source": "='NONE'"
},
{
"name": "embedding_types",
"source": "=['float']"
}
],
"outputs": [
{
"name": "embeddings",
"targetName": "aml_vector_data"
}
]
}
En outre, la sortie du modèle Cohere n’est pas directement le tableau d’incorporations, mais plutôt un objet JSON qui le contient. Vous devez le sélectionner correctement lors du mappage à la définition d’index via indexProjections ou outputFieldMappings. Voici un exemple indexProjections de charge utile qui vous permettrait d’implémenter ce mappage.
Si vous avez sélectionné une autre embedding_types définition de compétence, modifiez float le chemin d’accès source au type que vous avez sélectionné.
"indexProjections": {
"selectors": [
{
"targetIndexName": "<YOUR_TARGET_INDEX_NAME_HERE>",
"parentKeyFieldName": "ParentKey", // Change this to the name of the field in your index definition where the parent key will be stored
"sourceContext": "/document/pages/*",
"mappings": [
{
"name": "aml_vector", // Change this to the name of the field in your index definition where the Cohere embedding will be stored
"source": "/document/pages/*/aml_vector_data/float/0"
}
]
}
],
"parameters": {}
}
Exemple de charge utile vectoriseur
Le vectoriseur de catalogue de modèles Microsoft Foundry, contrairement à la compétence AML, est adapté pour fonctionner uniquement avec des modèles incorporés qui sont déployables via le catalogue de modèles. La principale différence est que vous n’avez pas à vous soucier de la charge utile de requête et de réponse. 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.
Voici un exemple de charge utile de la façon dont vous configurez le vectoriseur sur votre définition d’index en fonction des propriétés copiées à partir de Foundry.
Pour les modèles Cohere, vous ne devez pas ajouter le chemin /v1/embed à la fin de votre URL comme vous l’avez fait avec la fonctionnalité.
"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 à l’aide de l’authentification par jeton
Si vous ne pouvez pas utiliser l'authentification basée sur des clés, vous pouvez configurer la compétence AML et la connexion de vectoriseur du catalogue de modèles de Microsoft Foundry pour l'authentification token via le contrôle d'accès en fonction du rôle sur Azure.
Votre service de recherche doit avoir une identité managée affectée par le système ou l’utilisateur, et l’identité doit disposer d’autorisations Propriétaire ou Contributeur pour votre projet. Vous pouvez ensuite supprimer le key champ de votre compétence et de votre définition de vectoriseur, en le remplaçant par resourceId. Si votre projet et votre service de recherche se trouvent dans différentes régions, fournissez également le region champ.
"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 needed if project is in different region from search service
Note
Cette intégration ne prend actuellement pas en charge l’authentification par jeton pour les modèles Cohere. Vous devez utiliser l’authentification basée sur des clés.