Conseils pour l’enrichissement par IA dans la Recherche Azure AI
Cet article contient des conseils pour vous aider à bien démarrer avec l’enrichissement par IA et les ensembles de compétences utilisés lors de l’indexation.
Conseil 1 : Commencer simplement et à petite échelle
L’Assistant Importation de données et l’Assistant Importation et vectorisation des données dans le portail Azure prennent en charge l’enrichissement par IA. Sans écrire de code, vous pouvez créer et examiner tous les objets utilisés dans un pipeline d’enrichissement : un index, un indexeur, une source de données et un ensemble de compétences.
Une autre manière de commencer simplement consiste à créer une source de données avec seulement quelques documents ou lignes d’une table représentatifs des documents à indexer. L’utilisation d’un petit jeu de données est le meilleur moyen d’augmenter la vitesse de détection et de résolution des problèmes. Exécutez votre exemple dans le pipeline de bout en bout et vérifiez que les résultats répondent à vos besoins. Quand vous êtes satisfait des résultats, vous êtes prêt à ajouter des fichiers à votre source de données.
Conseil 2 : Regardez ce qui fonctionne même en présence de défaillances
Parfois, une petite défaillance arrête un indexeur. C’est bien si vous prévoyez de résoudre les problèmes un par un. Cependant, vous pourriez vouloir ignorer un type particulier d’erreur et permettre à l’indexeur de continuer à opérer afin que vous puissiez voir quels flux fonctionnent réellement.
Pour ignorer les erreurs lors du développement, affectez la valeur -1 à maxFailedItems
et maxFailedItemsPerBatch
dans le cadre de la définition de l’indexeur.
{
// rest of your indexer definition
"parameters":
{
"maxFailedItems":-1,
"maxFailedItemsPerBatch":-1
}
}
Remarque
En guise de meilleure pratique, affectez la valeur 0 à maxFailedItems
et maxFailedItemsPerBatch
pour les charges de travail de production.
Conseil 3 : Utilisez Session de débogage pour résoudre les problèmes
Session de débogage est un éditeur visuel qui montre le graphique de dépendances, les entrées et sorties, et les définitions d’un ensemble de compétences. Il charge un document unique à partir de votre index de recherche, avec la configuration actuelle de l’indexeur et de l’ensemble de compétences. Vous pouvez ensuite exécuter tout l’ensemble de compétences, délimité à un document unique. Au sein d’une session de débogage, vous pouvez identifier et résoudre les erreurs, valider les modifications et les transférer vers un ensemble de compétences parent. Pour obtenir une procédure pas à pas, consultez Tutoriel : Sessions de débogage.
Conseil 4 : Le contenu attendu n’apparaît pas
Si du contenu est manquant, recherchez les documents supprimés dans le portail Azure. Dans la page du service de recherche, ouvrez Indexeurs et examinez la colonne Documents ayant réussi. Cliquez sur l’historique d’exécution de l’indexeur pour examiner des erreurs spécifiques.
Si le problème est lié à la taille du fichier, vous pouvez voir un message d’erreur tel que celui-ci : « L’objet blob <nom-fichier> a une taille de <taille-fichier> octets, ce qui est supérieur à la taille maximale d’extraction de document correspondant à votre niveau de service actuel. » Pour plus d’informations sur les limites d’indexeur, consultez Limites du service.
Un échec d’affichage du contenu peut également résulter d’erreurs de mappage d’entrée/sortie. Par exemple, un nom de cible de sortie est « Contacts », mais le nom du champ d’index est « contacts » en minuscules. Le système peut retourner 201 messages de réussite pour le pipeline entier, de sorte que vous pensez que l’indexation a réussi alors qu’en fait un champ est vide.
Conseil 5 : Étendez le traitement au-delà du temps d’exécution maximal
L’analyse d’image nécessite une grande capacité de calcul, même pour des cas simples. Ainsi, quand des images sont particulièrement volumineuses ou complexes, les temps de traitement peuvent dépasser le temps maximal imparti.
Pour les indexeurs qui ont des ensembles de compétences, l’exécution de l’ensemble de compétences est limitée à deux heures pour la plupart des niveaux. Si le traitement de l’ensemble de compétences échoue durant ce laps de temps, vous pouvez placer votre indexeur sur une planification périodique de deux heures afin qu’il reprenne le traitement là où il l’a laissé.
L’indexation planifiée reprend au dernier document correct connu. Avec une planification récurrente, l’indexeur peut opérer à sa manière dans le backlog d’images sur une série d’heures ou de jours, jusqu’à ce que toutes les images non traitées le soient. Pour plus d’informations sur la syntaxe de planification, consultez Planifier un indexeur.
Remarque
Si un indexeur est défini sur une certaine planification, mais échoue à plusieurs reprises sur le même document chaque fois qu’il s’exécute, l’indexeur commence à s’exécuter à un intervalle moins fréquent (jusqu’à un maximum d’au moins une fois toutes les 24 heures) jusqu’à ce qu’il progresse correctement à nouveau. Si vous pensez avoir résolu le problème qui provoquait le blocage de l’indexeur à un moment donné, vous pouvez effectuer une exécution à la demande de l’indexeur, et en cas de progression, l’indexeur reprend son intervalle de planification défini.
Conseil 6 : Augmentez le débit d’indexation
Pour une indexation parallèle, distribuez vos données dans plusieurs conteneurs ou plusieurs dossiers virtuels au sein du même conteneur. Créez ensuite plusieurs paires d’indexeurs et de sources de données. Tous les indexeurs pouvant utiliser le même jeu de compétences et écrire dans le même index de recherche cible, votre application de recherche n’a pas besoin d’être informée de ce partitionnement.