Partager via


Assistant Importation de données dans Azure AI Search

L'Assistant Importation des données dans le portail Azure crée plusieurs objets utilisés pour l’indexation et l’enrichissement par IA sur un service de recherche. Si vous débutez avec Azure AI Search, il s’agit de l’une des fonctionnalités les plus puissantes à 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.

Si vous utilisez l’Assistant pour le test de preuve de concept, cet article explique le fonctionnement interne de l’Assistant afin que vous puissiez l’utiliser de manière plus efficace.

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 le guide Démarrage rapide : Créer un index de recherche ou Démarrage rapide : Créer une traduction de texte et un ensemble de compétences d’entité.

Démarrage de l'Assistant

Dans le portail Azure, ouvrez la page du service de recherche à partir du tableau de bord, ou recherchez votre service dans la liste. En haut de la page de présentation du service, sélectionnez Importer des données.

Screenshot of the Import data command

L’Assistant s’ouvre 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. À 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.
Base de connaissances facultatif. Enregistre la sortie d’un pipeline d’enrichissement par AI dans des tables et des objets Blob dans Stockage Azure pour une analyse indépendante ou un traitement en aval.

Avantages et limitations

Avant d’écrire du code, vous pouvez utiliser l’Assistant à des fins de prototypage et de test de preuve de concept. L’Assistant se connecte à des sources de données externes, échantillonne les données pour créer un index initial, puis importe les données en tant que documents JSON dans un index sur Azure AI Search.

Si vous évaluez des ensembles de compétences, l’Assistant gère tous 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 prototype d’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.

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.

  • L’accès public à tous les réseaux doit être activé sur la source de données prise en charge pendant l’utilisation de l’Assistant, car le portail ne pourra pas accéder à la source de données pendant la configuration si l’accès public est désactivé. Cela signifie que si votre source de données a un pare-feu activé ou que vous avez défini une liaison privée partagée, vous devez les désactiver, exécuter l’Assistant Importation de données, puis l’activer une fois l’installation de l’Assistant terminée. S’il ne s’agit pas d’une option, vous pouvez créer une source de données Azure AI Search, un indexeur, un ensemble de compétences et un index via l’API REST ou les kits SDK.

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. Il ajoute éventuellement des enrichissements par ’IA pour extraire ou générer du contenu et la structure. Les entrées pour la création d’une base de connaissances sont collectées à cette étape.

  4. Il exécute l’Assistant pour créer des objets, charger des données, définir un calendrier 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 Importation des données se connecte à une source de données externe prise en charge en utilisant la logique interne fournie par les indexeurs Azure AI Search, 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 la Azure AI Search.

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.

Screenshot of the Connect to your data tab.

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, mais il ajoute également d’autres compétences nécessaires pour obtenir des résultats convaincants. 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

L’Assistant échantillonne 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. L’utilisation d’un analyseur personnalisé ou d’un analyseur non linguistique, comme Keyword, Pattern, etc., doit s’effectuer 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. Le guide de démarrage rapide suivant explique chaque étape.