La recherche en IA te passionne ?
Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Construire une base de connaissances pour les modèles d'IA n'est pas une tâche ponctuelle, mais un processus itératif de perfectionnement. Une base de connaissances précise et bien organisée améliore à la fois la vitesse et l'exactitude du modèle, des domaines où les modèles actuels sont souvent déficients. En effet, une étude récente montre que les principaux chatbots d'IA se trompent presque à chaque seconde requête.
Adopter une approche systématique pour construire une base de connaissances vous aide à en créer une qui soit standardisée, évolutive et explicite. Tout nouveau développeur peut facilement ajouter ou mettre à jour la base de connaissances au fil du temps pour la maintenir à jour et fiable.
Pour vous assurer d'y parvenir, vous pouvez suivre ces six étapes chaque fois que vous commencez à créer une base de connaissances :
Collecter des données pertinentes
Une idée fausse courante lors de la collecte de données pour une base de connaissances est de supposer que plus il y en a, mieux c'est. Cela vous entraîne dans le classique problème du « garbage in, garbage out ».
Priorisez la valeur plutôt que le volume et collectez toutes les données pertinentes pour votre modèle. Cela pourrait prendre la forme de :
- Contenu factuel et tutoriel couvrant des faits et des procédures
- Contenu de résolution de problèmes sous forme de texte instructif ou de vidéos
- Données historiques montrant des problèmes passés ou des journaux d'exécution
- Données en temps réel couvrant l'état du système en direct ou des flux d'actualités récents
- Données de domaine pour donner plus de contexte au modèle
Il est important de comprendre que votre système n'a pas besoin de toutes les informations. Par exemple, si vous construisez un chatbot de support client, votre modèle n'aura besoin que de contenu factuel et tutoriel expliquant la politique et les procédures de l'entreprise. Cela garantit que votre modèle n'invente pas de réponses invalides ou hors sujet et se limite à ce qui lui est fourni.
Il y a une tendance croissante à alimenter les données générées par l'IA lors de la construction d'une base de connaissances pour de nouveaux modèles d'IA. Cette pratique offre de la rapidité, mais vous devez vérifier la fiabilité et la pertinence des résultats. Optimisez toujours le contenu pour des réponses claires et vérifiez la sortie avant de l'ajouter à la base de connaissances.
Nettoyer et segmenter les données en morceaux
Après avoir préparé les données brutes, vous pouvez d'abord les nettoyer. Le processus de nettoyage comprend généralement :
- Suppression du contenu dupliqué et obsolète
- Suppression des détails non pertinents tels que les en-têtes, pieds de page et numéros de page
- Standardisation du contenu, tant au niveau du format que du contenu (terminologie cohérente)
Ces données nettoyées sont ensuite divisées en morceaux logiques, où chaque morceau contient une idée ou un sujet clair. Chaque morceau se voit également attribuer des métadonnées qui fournissent un contexte rapide sur le contenu qu'il contient. Ces métadonnées aident les modèles d'IA à parcourir les bases de connaissances plus rapidement et à atteindre rapidement les morceaux contenant des détails pertinents.
Vous pouvez également définir un accès basé sur les rôles dans les morceaux pour garantir quels rôles ont accès à l'information dans ce morceau. Bien que de nombreux rôles puissent avoir accès à un modèle, tout le monde ne peut pas accéder à toutes les données. La segmentation est l'endroit où vous pouvez définir la sécurité et le contrôle d'accès au sein du modèle.
Une bonne pratique est de segmenter les données en fonction des requêtes des utilisateurs plutôt qu'en fonction de la structure du document. Par exemple, si vous avez un document sur la gestion des connexions et des accès, vous pouvez le segmenter selon des questions courantes des utilisateurs telles que « Comment changer de mot de passe ? », « Quelle est la politique de mot de passe ? », etc. Vous pouvez ensuite valider ces morceaux en les testant contre de vraies requêtes. Un ensemble sûr peut être de 10 à 12 questions.
Organiser et indexer les données
Les morceaux de texte sont convertis en nombres appelés vecteurs à l'aide d'un modèle d'embedding tel que OpenAI v3-Large, BGE-M3, etc. Les modèles d'IA peuvent parcourir les vecteurs plus rapidement qu'un gros bloc de texte. Après la vectorisation, les métadonnées attachées au morceau sont ensuite associées au vecteur. Le morceau final ressemblera à ceci :
[ Vecteur (nombres) ] + [ Texte original ] + [ Métadonnées ]
Choisir une plateforme pour stocker les données
Vous pouvez stocker cette sortie vectorielle dans une base de données vectorielle telle que Pinecone, Milvus ou Weaviate pour la récupération. Vous pouvez télécharger les données vectorielles en écrivant un simple code Python.
Pour augmenter la vitesse de téléchargement, il est suggéré d'utiliser l'option d'insertion par lots. Vous pouvez également normaliser les vecteurs (les rendre tous de la même taille) pendant la phase de téléchargement. Après normalisation, quantifiez (compressez) pour optimiser le stockage. Cette étape supplémentaire de normalisation et de quantification accélère la récupération ultérieure.
Optimiser la récupération
Pour permettre la récupération à partir de la base de données vectorielle, vous pouvez utiliser des frameworks d'orchestration tels que LlamaIndex et LangChain.
- LlamaIndex peut parcourir la base de données vectorielle plus rapidement et atteindre le morceau exact où se trouve le contenu lié à la requête de l'utilisateur.
- LangChain prend ensuite les données du morceau et les transforme selon la requête de l'utilisateur, par exemple, en résumant le texte ou en rédigeant un e-mail à partir de celui-ci.
Récupération hybride
Profitez des avantages à la fois de la recherche par mots-clés et de la similarité vectorielle.
Où chaque approche brille :
- Mots-clés : recherche des correspondances exactes, mais peut manquer des recherches avec des synonymes
- Embeddings : a l'avantage de capturer le sens, mais il y a une possibilité de manquer le mot-clé exact
L'hybride est une combinaison des deux pour obtenir le meilleur de chaque approche.
