Démarrage rapide : rechercher des images en utilisant l’Explorateur de recherche dans le Portail Azure
Ce guide de démarrage rapide vous montre comment bien démarrer avec la recherche d’images en utilisant l’Assistant Importation et vectorisation des données dans le Portail Azure. Il montre également comment utiliser l’Explorateur de recherche pour exécuter des requêtes basées sur des images.
Les exemples de données se composent de fichiers image dans le référentiel azure-search-sample-data, mais vous pouvez utiliser des images différentes et suivre cette procédure pas à pas.
Prérequis
Un abonnement Azure. Créez-en un gratuitement.
Un compte multiservices Azure AI Services à utiliser pour la vectorisation d’images et la reconnaissance optique de caractères (OCR). La vectorisation d’images nécessite des incorporations multimodales Azure AI Vision. Consultez la documentation pour voir la liste mise à jour des régions.
Recherche Azure AI pour l’indexation et les requêtes. Ce service peut être à n’importe quel niveau, mais il doit se trouver dans la même région que le multiservice Azure AI.
Le niveau de service détermine le nombre d’objets blob que vous pouvez indexer. Nous avons utilisé le niveau Gratuit pour créer cette procédure pas à pas et limité le contenu à 10 fichiers JPG.
Stockage Azure pour stocker les fichiers image en tant qu’objets blob. Utilisez le Stockage Blob Azure ou Azure Data Lake Storage Gen2 (un compte de stockage avec un espace de noms hiérarchique), un compte de performances standard (v2 à usage général). Le niveau d’accès peut être chaud, sporadique et froid.
L’accès public doit être activé pour toutes les ressources précédentes afin que les nœuds du portail puissent y accéder. Sinon, l’Assistant échoue. Une fois l’Assistant exécuté, vous pouvez activer des pare-feux et des points de terminaison privés sur les composants d’intégration à des fins de sécurité. Pour plus d’informations, consultez Connexions sécurisées dans les Assistants d’importation.
Si des points de terminaison privés sont déjà présents et que vous ne pouvez pas les désactiver, une autre option consiste à exécuter le flux respectif de bout en bout à partir d’un script ou d’un programme sur une machine virtuelle. La machine virtuelle doit se trouver sur le même réseau virtuel que le point de terminaison privé. Voici un exemple de code Python pour la vectorisation intégrée. Le même dépôt GitHub contient des exemples dans d’autres langages de programmation.
Un service de recherche gratuit prend en charge le contrôle d’accès en fonction du rôle sur les connexions à Recherche Azure AI, mais il ne prendra pas en charge les identités managées sur les connexions sortantes vers Stockage Azure ou Azure AI Vision. Ce niveau de prise en charge signifie que vous devez utiliser l’authentification basée sur les clés sur les connexions entre un service de recherche gratuit et d’autres services Azure. Pour les connexions plus sécurisées :
- Utilisez le niveau Essentiel ou supérieur.
- Configurez une identité managée et des attributions de rôles pour admettre les demandes de Recherche Azure AI sur d’autres services Azure.
Vérifier l’espace disponible
Si vous commencez avec le niveau gratuit, vous êtes limité à trois index, trois sources de données, trois ensembles de compétences et trois indexeurs. Avant de commencer, assurez-vous de disposer d’assez d’espace pour stocker des éléments supplémentaires. Ce guide de démarrage rapide crée une occurrence de chaque objet.
Préparer l’exemple de données
Téléchargez le dossier d’images unsplash-signs dans un dossier local ou recherchez vos propres images. Sur un service de recherche gratuit, limitez à 20 le nombre de fichiers image afin de rester en dessous du quota gratuit pour le traitement d’enrichissement.
Connectez-vous au portail Azure avec votre compte Azure, puis accédez à votre compte stockage Azure.
Dans le volet gauche, sous Stockage de données, sélectionnez Conteneurs.
Créez un conteneur, puis chargez les images.
Démarrer l’Assistant
Si votre service de recherche et votre service Azure AI sont dans la même région prise en charge et le même locataire, et si votre conteneur d’objets blob Stockage Azure utilise la configuration par défaut, vous êtes prêt à démarrer l’Assistant.
Connectez-vous au portail Azure avec votre compte Azure, puis accédez à votre service Azure AI Search.
Dans la page Vue d’ensemble, sélectionnez Importation et vectorisation des données.
Connexion à vos données
L’étape suivante consiste à se connecter à une source de données qui fournit les images.
Dans la page Configurer votre connexion de données, sélectionnez Stockage Blob Azure.
Spécifiez l’abonnement Azure.
Pour Stockage Azure, sélectionnez le compte et le conteneur qui fournissent les données. Utilisez les valeurs par défaut pour les zones restantes.
Cliquez sur Suivant.
Vectoriser votre texte
Si le contenu brut inclut du texte ou si l’ensemble de compétences produit du texte, l’Assistant appelle un modèle d’incorporation de texte pour générer des vecteurs pour ce contenu. Dans cet exercice, le texte sera produit à partir de la compétence OCR que vous ajouterez à l’étape suivante.
Étant donné qu’Azure AI Vision fournit des incorporations de texte, nous allons utiliser cette ressource pour la vectorisation du texte.
Dans la page Vectoriser votre texte, sélectionnez Vectorisation AI Vision. Si cette option n’est pas disponible, vérifiez que Recherche Azure AI et votre compte multiservice Azure AI se trouvent ensemble dans une région qui prend en charge les API multimodales AI Vision.
Cliquez sur Suivant.
Vectoriser et enrichir vos images
Utilisez Azure AI Vision pour générer une représentation vectorielle des fichiers image.
Dans cette étape, vous pouvez également appliquer l’IA pour extraire du texte à partir d’images. L’Assistant utilise l’OCR des services Azure AI pour reconnaître du texte dans des fichiers image.
Deux sorties supplémentaires apparaissent dans l’index lorsque l’OCR est ajouté au flux de travail :
- Le champ
chunk
est renseigné avec une chaîne générée par OCR de n’importe quel texte trouvé dans l’image. - Le champ
text_vector
est renseigné avec une incorporation qui représente la chaînechunk
.
L’inclusion de texte brut dans le champ chunk
est utile si vous souhaitez utiliser des fonctionnalités de pertinence qui fonctionnent sur des chaînes, notamment le classement sémantique et les profils de scoring.
Dans la page Vectoriser vos images, cochez la case Vectoriser les images, puis cochez Vectorisation AI Vision.
Sélectionnez Utiliser le même service IA sélectionné pour la vectorisation de texte.
Dans la section d’enrichissement, sélectionnez Extraire le texte des images et Utiliser le même service IA sélectionné pour la vectorisation d’images.
Cliquez sur Suivant.
Mapper de nouveaux champs
Dans la page Paramètres avancés, vous pouvez éventuellement ajouter de nouveaux champs. Par défaut, l’Assistant génère les champs suivants avec ces attributs :
Champ | S’applique à | Description |
---|---|---|
chunk_id | Vecteurs texte et image | Champ de chaîne généré. Interrogeable, récupérable, triable. Il s’agit de la clé de document de l’index. |
text_parent_id | Vecteurs image | Champ de chaîne généré. Récupérable, filtrable. Identifie le document parent dont provient le bloc. |
image_parent_id | Vecteurs image | Champ de chaîne généré. Récupérable, filtrable. Identifie le document parent dont provient l’image. |
segment | Vecteurs texte et image | Champ de chaîne. Version du bloc de données lisible par l’utilisateur. Interrogeable et récupérable, mais non filtrable, facetable ou triable. |
title | Vecteurs texte et image | Champ de chaîne. Titre du document ou titre de page ou numéro de page lisible par l’utilisateur. Interrogeable et récupérable, mais non filtrable, facetable ou triable. |
image_vector | Vecteurs image | Collection(Edm.single). Représentation vectorielle de l’image. Interrogeable et récupérable, mais non filtrable, facetable ou triable. |
Vous ne pouvez pas modifier les champs générés ou leurs attributs, mais vous pouvez ajouter de nouveaux champs si votre source de données les fournit. Par exemple, Stockage Blob Azure fournit une collection de champs de métadonnées.
Sélectionnez Ajouter.
Choisissez un champ source dans la liste des champs disponibles, fournissez un nom de champ à l’index et acceptez le type de données par défaut ou remplacez si nécessaire.
Les champs de métadonnées sont interrogeables, mais non récupérables, filtrables, facetables ou triables.
Sélectionnez Réinitialiser si vous souhaitez restaurer le schéma dans sa version d’origine.
Planifier l’indexation
Dans la page Paramètres avancés, sous Planifier l’indexation, spécifiez une planification d’exécution pour l’indexeur. Nous vous recommandons de choisir Une fois pour cet exercice. Pour les sources de données dont les données sous-jacentes sont volatiles, vous pouvez planifier l’indexation pour récupérer les modifications.
Cliquez sur Suivant.
Terminez l’Assistant.
Dans la page Passer en revue votre configuration, spécifiez un préfixe pour les objets que l’Assistant va créer. Un préfixe courant vous aide à rester organisé.
Sélectionnez Créer.
Au terme de la configuration, l’Assistant crée les objets suivants :
Indexeur qui pilote le pipeline d’indexation.
Une connexion de source de données à Stockage Blob Azure.
Un index avec des champs vectoriels, des champs de texte, des vectoriseurs, des profils vectoriels et des algorithmes vectoriels. Vous ne pouvez pas modifier l’index par défaut pendant le flux de travail de l’Assistant. Les index sont conformes à l’API REST 2024-05-01-preview afin de pouvoir utiliser les fonctionnalités en préversion.
Ensemble de compétences avec les cinq compétences suivantes :
- La compétence OCR reconnaît le texte dans les fichiers image.
- La compétence Fusion de texte unifie les différentes sorties du traitement OCR.
- La compétence Fractionnement de texte ajoute la segmentation des données. Cette compétence est intégrée au flux de travail de l’Assistant.
- La compétence Incorporations multimodales Azure AI Vision est utilisée pour vectoriser le texte généré à partir de l’OCR.
- La compétence Incorporations multimodales Azure AI Vision est appelée à nouveau pour vectoriser des images.
Vérifier les résultats
L’Explorateur de recherche accepte du texte, des vecteurs et des images comme entrées de requête. Vous pouvez faire glisser ou sélectionner une image dans la zone de recherche. L’Explorateur de recherche vectorise votre image et envoie le vecteur en tant qu’entrée de requête au moteur de recherche. La vectorisation d’image suppose que votre index a une définition de vectoriseur, que l’Assistant Importation et vectorisation des données crée en fonction de vos entrées de modèle incorporées.
Dans le Portail Azure, accédez à Gestion de la recherche>Index, puis sélectionnez l’index que vous avez créé. L’Explorateur de recherche est le premier onglet.
Dans le menu Affichage, sélectionnez Vue de l’image.
Faites glisser une image à partir du dossier local qui contient les exemples de fichiers image. Ou ouvrez le navigateur de fichiers pour sélectionner un fichier image local.
Sélectionnez Rechercher pour exécuter la requête.
La meilleure correspondance doit être l’image que vous avez recherchée. Étant donné qu’une recherche vectorielle établit des correspondances sur des vecteurs similaires, le moteur de recherche retourne tout document suffisamment similaire à l’entrée de la requête, jusqu’au nombre
k
de résultats. Vous pouvez basculer vers l’affichage JSON pour les requêtes plus avancées qui incluent le réglage de la pertinence.Essayez d’autres options de requête pour comparer les résultats de recherche :
- Masquer les vecteurs pour obtenir des résultats plus lisibles (recommandé).
- Sélectionnez un champ vectoriel à interroger. La valeur par défaut est des vecteurs de texte, mais vous pouvez spécifier le vecteur d’image pour exclure les vecteurs de texte de l’exécution de requête.
Nettoyage
Cette démonstration utilise des ressources Azure facturables. Si vous n’avez plus besoin des ressources, supprimez-les de votre abonnement pour éviter les frais.
Étape suivante
Ce guide de démarrage rapide vous a présenté l’Assistant Importation et vectorisation des données qui crée tous les objets nécessaires à la recherche d’images. Si vous souhaitez explorer chaque étape en détail, essayez un exemple de vectorisation intégrée.