Partager via


Assistants d’importation dans Recherche Azure AI

Recherche Azure AI propose deux Assistants d’importation qui automatisent l’indexation et les définitions d’objets afin que vous puissiez commencer à interroger immédiatement. Si vous débutez avec Recherche Azure AI, il s’agit de l’un des assistants les plus puissants à votre disposition. Avec un minimum d’effort, vous pouvez créer un pipeline d’indexation ou d’enrichissement qui exerce la plupart des fonctionnalités de Azure AI Search.

L’Assistant Importation de données prend en charge les flux de travail non-vecteurs. Vous pouvez extraire du texte alphanumérique à partir de documents bruts. Vous pouvez également configurer l’IA appliquée et les compétences intégrées qui déduisent la structure et génèrent du contenu pouvant faire l’objet d’une recherche de texte à partir de fichiers image et de données non structurées.

L’Assistant Importation et vectorisation des données prend en charge la vectorisation. Vous devez spécifier un déploiement existant d’un modèle d’incorporation, mais l’Assistant établit la connexion, formule la requête et gère la réponse. Il génère du contenu vectoriel à partir de contenu textuel ou d’image.

Si vous utilisez l’Assistant pour les tests de preuve de concept, cet article explique les fonctionnements internes des Assistants afin de pouvoir les utiliser plus efficacement.

Cet article n’est pas un guide pas à pas. Pour obtenir de l’aide sur l’utilisation de l’Assistant avec des exemples de données intégrés, consultez :

Démarrage des Assistants

Dans le portail Azure, ouvrez la page du service de recherche à partir du tableau de bord, ou recherchez votre service dans la liste.

Dans la page Vue d’ensemble du service en haut, sélectionnez Importer des données ou Importer et vectoriser des données.

Capture d’écran des options de l’Assistant Importation dans la barre d’action.

Les Assistants s’ouvrent entièrement dans la fenêtre du navigateur, ce qui vous permet d’avoir plus de place pour travailler.

Vous pouvez aussi lancer l’Importation des données à partir d’autres services Azure, dont Azure Cosmos DB, Azure SQL Database, SQL Managed Instance et le Stockage Blob Azure. Recherchez Ajouter Azure AI Search dans le volet de navigation de gauche de la page de présentation du service.

Objets créés par l'Assistant

L’Assistant génère les objets dans le tableau suivant. Une fois les objets créés, vous pouvez lire leurs définitions JSON dans le portail ou les appeler à partir du code.

Objet Description
Indexeur Objet de configuration spécifiant une source de données, un index cible, un ensemble de compétences facultatif, une planification facultative et des paramètres de configuration facultatifs pour la gestion des erreurs et l’encodage en base 64.
Source de données Conserve les informations de connexion dans une source de données prise en charge sur Azure. Un objet de source de données est utilisé exclusivement avec les indexeurs.
Index Structure de données physique utilisée pour la recherche en texte intégral et d’autres requêtes.
Ensemble de compétences facultatif. Ensemble complet d’instructions destiné à manipuler, transformer et mettre en forme du contenu, notamment en analysant et extrayant des informations de fichiers image. Les ensembles de compétences sont également utilisés pour la vectorisation intégrée. À moins que le volume de travail ne tombe sous la limite de 20 transactions par indexeur par jour, l’ensemble de compétences doit inclure une référence à une ressource multiservices Azure AI qui fournit un enrichissement. Pour la vectorisation intégrée, vous pouvez utiliser Azure AI Vision ou un modèle d’incorporation dans le catalogue de modèles Azure AI Studio.
Base de connaissances facultatif. Enregistre la sortie de tables et d’objets blob dans Stockage Azure pour une analyse indépendante ou un traitement en aval dans des scénarios hors recherche.

Avantages

Avant d’écrire du code, vous pouvez utiliser les Assistants à des fins de prototypage et de test de preuve de concept. Les Assistants se connectent à des sources de données externes, échantillonnent les données pour créer un index initial, puis importent les données en tant que documents JSON dans un index sur Recherche Azure AI.

Si vous évaluez des ensembles de compétences, l’Assistant les mappages de champs de sortie et ajoute des fonctions d’assistance pour créer des objets utilisables. Le fractionnement de texte est ajouté si vous spécifiez un mode d’analyse. La fusion de texte est ajoutée si vous avez choisi l’analyse des images afin que l’Assistant puisse réunir les descriptions de texte et le contenu de l’image. Les compétences Modélisateur ont été ajoutées pour prendre en charge les projections valides si vous avez choisi l’option Base de connaissances. Toutes les tâches ci-dessus sont accompagnées d’une courbe d’apprentissage. Si vous débutez avec l’enrichissement, la possibilité de gérer ces étapes pour vous permet de mesurer la valeur d’une compétence sans devoir investir trop de temps et d’efforts.

L’échantillonnage est le processus par lequel un schéma d’index est déduit et présente quelques limitations. Lorsque la source de données est créée, l’Assistant choisit au hasard un échantillon de documents pour identifier les colonnes qui font partie de la source de données. Tous les fichiers ne sont pas lus, car l’opération pourrait durer des heures avec les sources de données très volumineuses. À partir d’une sélection de documents, les métadonnées sources, comme le nom ou le type de champ, sont utilisées pour créer une collection de champs dans un schéma d’index. Selon la complexité des données sources, vous devrez peut-être modifier le schéma initial dans un souci de précision, ou l’étendre à des fins d’exhaustivité. Vous pouvez faire en sorte que vos modifications soient incorporées dans la page de définition de l’index.

Globalement, les avantages de l’Assistant sont évidents : dans la mesure où les exigences sont respectées, vous pouvez créer un index interrogeable en quelques minutes. Certaines complexités liées à l’indexation, comme la sérialisation des données sous forme de documents JSON, sont gérées par l’Assistant.

Limites

L’Assistant s’accompagne de limitations. Les contraintes sont les suivantes :

  • L’Assistant ne prend pas en charge l’itération ou la réutilisation. Chaque exécution de l’Assistant donne lieu à la création d’une configuration d’index, d’ensemble de compétences et d’indexeur. Seules les sources de données peuvent être conservées et réutilisées dans l’Assistant. Pour modifier ou affiner d’autres objets, supprimez les objets et recommencez, ou utilisez les API REST ou le kit de développement logiciel (SDK) .NET pour modifier les structures.

  • Le contenu source doit résider dans une source de données prise en charge.

  • L’échantillonnage porte sur un sous-ensemble des données sources. Pour les sources de données volumineuses, l’Assistant peut ne pas déceler des champs. Vous serez peut-être amené à étendre le schéma ou à corriger les types de données déduits si l’échantillonnage est insuffisant.

  • L’enrichissement par IA, tel que présenté sur le portail, se limite à un sous-ensemble de compétences intégrées.

  • Une base de connaissances, qui peut être créée par l’Assistant, est limitée à quelques projections par défaut et utilise une convention d’affectation de noms par défaut. Si vous voulez personnaliser des noms ou des projections, vous devrez créer la base de connaissances via l’API REST ou les SDK.

Sécuriser les connexions

Les Assistants d’importation effectuent des connexions sortantes à l’aide du contrôleur de portail et des points de terminaison publics. Vous ne pouvez pas utiliser les Assistants si les ressources Azure sont accessibles via une connexion privée ou via une liaison privée partagée.

Vous pouvez utiliser les Assistants sur des connexions publiques restreintes, mais toutes les fonctionnalités ne sont pas disponibles.

  • Sur un service de recherche, l’importation des exemples de données intégrés nécessite un point de terminaison public et aucune règle de pare-feu.

    Les exemples de données sont hébergés par Microsoft sur des ressources Azure spécifiques. Le contrôleur de portail se connecte à ces ressources via un point de terminaison public. Si vous placez votre service de recherche derrière un pare-feu, vous obtenez cette erreur lors de la tentative de récupération des exemples de données intégrés : Import configuration failed, error creating Data Source, suivi de "An error has occured.".

  • Sur les sources de données Azure prises en charge protégées par pare-feu, vous pouvez récupérer des données si vous disposez des règles de pare-feu appropriées.

    La ressource Azure doit admettre les requêtes réseau à partir de l’adresse IP de l’appareil utilisé sur la connexion. Vous devez également répertorier Recherche Azure AI en tant que service approuvé sur la configuration réseau de la ressource. Par exemple, dans Stockage Azure, vous pouvez répertorier Microsoft.Search/searchServices en tant que service approuvé.

  • Sur les connexions à un compte multiservice Azure AI que vous fournissez, ou sur les connexions à l’incorporation de modèles déployés dans Azure AI Studio ou Azure OpenAI, l’accès à Internet public doit être activé. Ces ressources Azure sont appelées lorsque vous utilisez des compétences intégrées dans l’Assistant Importation de données ou vectorisation intégrée dans l’Assistant Importation et vectorisation des données.

    • Dans l’Assistant Importation et vectorisation de données, l’erreur est "Access denied due to Virtual Network/Firewall rules."

    • Dans l’Assistant Importation de données, il n’y a aucune erreur, mais l’ensemble de compétences ne sera pas créé.

Si les paramètres de pare-feu empêchent les flux de travail de votre Assistant de réussir, envisagez plutôt d’utiliser des approches de script ou de programmation.

Workflow

L’Assistant est organisé en quatre étapes principales :

  1. Il se connecte à une source de données Azure prise en charge.

  2. Il crée un schéma d’index, déduit par l’échantillonnage des données sources.

  3. Si vous le souhaitez, ajoutez l’IA appliquée pour extraire ou générer du contenu et une structure. Les entrées pour la création d’une base de connaissances sont collectées à cette étape.

  4. Exécutez l’Assistant pour créer des objets, éventuellement vectoriser des données, charger des données dans un index, définir une planification et d’autres options de configuration.

Le flux de travail est un pipeline. Il s’agit donc d’une façon unique. Vous ne pouvez pas utiliser l’Assistant pour modifier les objets créés, mais vous pouvez utiliser d’autres outils de portail, tels que l’index ou le concepteur d’indexeurs ou les éditeurs JSON, pour les mises à jour autorisées.

Configuration de la source de données dans l’Assistant

L’Assistant se connecte à une source de données externe prise en charge en utilisant la logique interne fournie par les indexeurs Recherche Azure AI, qui sont capables d’échantillonner la source, lire les métadonnées, décrypter les documents pour en lire le contenu et la structure, et sérialiser le contenu sous forme de JSON pour une importation ultérieure dans Recherche Azure AI.

Vous pouvez coller une connexion à une source de données prise en charge dans un autre abonnement ou région, mais le sélecteur Choisir une connexion existante est limité à l’abonnement actif.

Capture d’écran de l’onglet Connexion à vos données.

Il n’est pas garanti que toutes les sources de données en préversion soient disponibles dans l’Assistant. Étant donné que chaque source de données est susceptible d’introduire d’autres modifications en aval, une source de données en préversion sera uniquement ajoutée à la liste des sources de données si elle prend entièrement en charge toutes les expériences de l’Assistant, telles que la définition des compétences et l’inférence du schéma d’index.

Vous ne pouvez importer des données qu’à partir d’une seule table, d’une vue de base de données ou d’une structure de données équivalente, mais la structure peut inclure des sous-structures hiérarchiques ou imbriquées. Pour plus d’informations, consultez How to model complex types (Modélisation des types complexes).

Configuration de l’ensemble de compétences dans l’Assistant

La configuration de l’ensemble de compétences se produit après la définition de la source de données, car le type de source de données informe sur la disponibilité de certaines compétences intégrées. En particulier, si vous indexez des fichiers à partir de Stockage Blob, le mode d’analyse choisi pour ces fichiers détermine si l’analyse des sentiments est disponible.

L’Assistant ajoute les compétences que vous choisissez. Il ajoute également d’autres compétences nécessaires pour un résultat fructueux. Par exemple, si vous spécifiez une base de connaissances, l’Assistant ajoute une compétence Modélisateur pour prendre en charge les projections (ou les structures de données physiques).

Les ensembles de compétences sont facultatifs et un bouton se trouve au bas de la page pour ignorer si vous ne souhaitez pas utiliser l’enrichissement par IA.

Configuration du schéma d’index dans l’Assistant

Les Assistants échantillonnent votre source de données pour détecter les champs et le type de champ. En fonction de la source de données, il peut également proposer des champs pour l’indexation des métadonnées.

Étant donné que l’échantillonnage est un exercice imprécis, passez l’index en revue pour tenir compte des points suivants :

  1. La liste des champs est-elle exacte ? Si votre source de données contient des champs qui n’ont pas été sélectionnés dans l’échantillonnage, vous pouvez ajouter manuellement tous les nouveaux champs que l’échantillonnage a manqués, et supprimer ceux qui n’ajoutent pas de valeur à une expérience de recherche ou qui ne seront pas utilisés dans une expression de filtre ou un profil de scoring.

  2. Le type de données convient-il pour les données entrantes ? Azure AI Search prend en charge les types de données EDM (Entity Data Model). Pour les données Azure SQL, il existe un tableau de mappages qui présente les valeurs équivalentes. Pour plus d’informations, consultez Mappages et transformations de champs.

  3. Avez-vous un champ qui peut faire office de clé ? Ce champ doit être Edm.string et doit identifier un document de manière unique. Dans le cas des données relationnelles, elles peuvent être mappées à une clé primaire. Pour les objets blob, il peut s’agir de metadata-storage-path. Si des valeurs de champ comportent des espaces ou des tirets, vous devez définir l’option Clé d’encodage en base-64 dans l’étape Créer un indexeur, sous Options avancées, pour supprimer le vérification de la validation pour ces caractères.

  4. Définissez des attributs pour déterminer comment ce champ est utilisé dans un index.

    Prenez votre temps dans cette étape, car les attributs déterminent l’expression physique des champs dans l’index. Si, par la suite, vous souhaitez modifier des attributs, même par programmation, vous devrez presque toujours supprimer et regénérer l’index. Les attributs de base comme Searchable et Retrievable ont un impact négligeable sur le stockage. L’activation de filtres et l’utilisation de suggesteurs augmentent les besoins de stockage.

    • Possibilité de recherche permet une recherche en texte intégral. Chaque champ utilisé dans les requêtes de forme libre ou dans les expressions de requête doit avoir cet attribut. Les index inversés sont créés pour chaque champ que vous marquez comme Possibilité de recherche.

    • Récupérable retourne le champ dans les résultats de la recherche. Chaque champ qui fournit du contenu aux résultats de recherche doit avoir cet attribut. La définition de ce champ n’a pas d’incidence notable sur la taille de l’index.

    • Filtrable permet de référencer le champ dans les expressions de filtre. Chaque champ utilisé dans une expression $filter doit avoir cet attribut. Les expressions de filtre sont des correspondances exactes. Les chaînes de texte demeurant intactes, un stockage supplémentaire est nécessaire pour recevoir le contenu textuel.

    • À choix multiples active le champ pour la navigation par facettes. Seuls les champs également marqués comme Filtrables peuvent être marqués comme À choix multiples.

    • Triable permet d’utiliser le champ dans un tri. Chaque champ utilisé dans une expression $Orderby doit avoir cet attribut.

  5. Avez-vous besoin d’une analyse lexicale ? Pour les champs Edm.string de type Searchable, vous pouvez définir un analyseur si vous voulez des fonctions d’indexation et d’interrogation qui offrent une prise en charge linguistique améliorée.

    La valeur par défaut est Standard Lucene, mais vous pouvez choisir Microsoft Anglais si vous souhaitez utiliser l’analyseur de Microsoft pour le traitement lexical avancé, tel que la résolution des formes verbales et nominales irrégulières. Seuls des analyseurs linguistiques peuvent être spécifiés sur le portail. Si vous utilisez un analyseur personnalisé ou un analyseur non linguistique comme par mot clé, modèle, etc., vous devez le créer par programmation. Pour plus d’informations sur les analyseurs, consultez Ajouter des analyseurs linguistiques.

  6. Avez-vous besoin de fonctionnalités TypeAhead matérialisées par la saisie semi-automatique ou les suggestions de résultats ? Cochez la case Suggesteur pour activer les suggestions de requête TypeAhead et la saisie semi-automatique sur les champs sélectionnés. Les suggesteurs s’ajoutent au nombre de termes tokenisés de votre index et occupent donc davantage d’espace de stockage.

Configuration de l’indexeur dans l’Assistant

La dernière page de l’Assistant collecte les entrées utilisateur pour la configuration de l’indexeur. Vous pouvez spécifier un calendrier et définir d’autres options qui varient selon le type de source de données.

En interne, l’Assistant configure également les définitions suivantes, qui ne sont pas visibles dans l’indexeur tant qu’il n’a pas été créé :

Étapes suivantes

La meilleure façon de comprendre les avantages et les limitations de l’Assistant est de le parcourir pas à pas. Voici un guide de démarrage rapide qui explique chaque étape.