# Comment mettre en place une base de connaissances qu’une IA peut interroger?

Date: 2024-11-06 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/base-de-connaissances-recherche-ia/

**Answer:** Rassemblez les documents sur lesquels les gens posent vraiment des questions, nettoyez-les en texte simple, découpez-les en courts morceaux autonomes et transformez chaque morceau en plongement pour que l’IA trouve les bons passages selon leur sens. Pour de petites collections, vous pouvez sauter la construction et téléverser plutôt des fichiers propres dans un GPT personnalisé ou un Project de Claude.

Un modèle de langage en sait beaucoup en général et rien sur votre entreprise en particulier. Il n’a jamais lu votre politique de retour, votre liste de prix ni le changement de procédure du mois dernier. Une base de connaissances interrogeable règle ce problème. Quand quelqu’un pose une question, le système cherche d’abord les passages les plus pertinents dans vos documents, puis les remet au modèle avec la question : la réponse repose ainsi sur votre matériel plutôt que sur une supposition.

Cette approche s’appelle la **génération augmentée par récupération** (*retrieval-augmented generation*), ou RAG : *retrieval* (trouver les bons passages), *augmented* (les ajouter au prompt), *generation* (le modèle rédige la réponse). Le modèle lui-même ne change pas. Ce qui change, c’est ce qu’il lit juste avant de répondre, et c’est pourquoi la qualité de vos documents compte plus que n’importe quel réglage.

## Comment la recherche par IA trouve le bon passage

La recherche ordinaire associe des mots. Si un client demande « est-ce que je peux le rapporter? » et que votre politique dit « les retours sont acceptés dans les 30 jours », une recherche par mots-clés risque de ne rien trouver. Les bases de connaissances par IA utilisent plutôt la **recherche sémantique**, qui associe le sens.

Pour que ce soit possible, chaque morceau de texte est transformé en **plongement** (*embedding*), une longue liste de nombres qui saisit le sujet du texte. Des textes au sens semblable obtiennent des nombres semblables. Ces plongements sont stockés dans une **base de données vectorielle** (une base de données conçue pour comparer rapidement ces listes de nombres). Quand une question arrive, elle reçoit elle aussi un plongement, et le système en tire les morceaux dont les nombres sont les plus proches. Ce sont ces morceaux, et non toute la bibliothèque, qui sont envoyés au modèle.

## Un plan concret en cinq étapes

Imaginez une petite boutique de vélos qui veut un robot conversationnel pour son personnel et sa clientèle. Voici le plan, étape par étape.

**1. Rassembler.** Dressez la liste des questions que les gens posent vraiment, puis rassemblez les documents qui y répondent : la politique de retour et de garantie, le menu des services et les prix, les heures d’ouverture, une page sur le choix de la taille d’un vélo, et les 30 réponses par courriel les plus fréquentes. Laissez de côté les brouillons, les versions périmées et tout ce qui est privé, comme les contrats avec les fournisseurs ou les dossiers du personnel. Tout ce que vous incluez peut ressortir dans une réponse.

**2. Nettoyer.** Convertissez chaque document en texte simple, sur une seule colonne. Les outils d’extraction de texte trébuchent souvent sur les PDF à plusieurs colonnes, les tableaux présentés sous forme d’images et les diapositives dont le sens dépend de la position. Retirez les en-têtes et les pieds de page répétés, corrigez les titres pour que chaque section dise ce qu’elle couvre, et inscrivez une date de « dernière mise à jour » en haut de chaque fichier.

**3. Découper.** Divisez le texte en morceaux assez petits pour être précis, mais assez grands pour avoir du sens seuls. Un paragraphe ou une courte section est un bon point de départ. Découper par titre fonctionne habituellement mieux que couper tous les X mots, parce que chaque morceau couvre alors un seul sujet. Des stratégies de découpage différentes donnent des résultats sensiblement différents : testez-en quelques-unes.

**4. Créer les plongements et stocker.** Passez chaque morceau dans un modèle de plongements, comme l’Embeddings API d’OpenAI, et stockez le morceau, son plongement et quelques métadonnées (fichier source, titre de section, date de dernière mise à jour) dans une base de données vectorielle. Les métadonnées permettent au robot de dire d’où vient une réponse et vous permettent de remplacer proprement un document plus tard.

**5. Tester.** Écrivez 20 vraies questions avec les réponses que vous attendez, y compris des questions pièges (« Réparez-vous les vélos électriques? » quand la réponse est « seulement certaines marques »). Lancez-les et, pour chaque mauvaise réponse, vérifiez si le bon morceau a été récupéré. La plupart des échecs remontent aux étapes 2 et 3, pas au modèle.

Voici un exemple de feuille de test :

| Question | Source attendue | Bon morceau trouvé? | Réponse exacte? |
|---|---|---|---|
| Combien de temps ai-je pour retourner un casque? | Politique de retour, section 2 | Oui | Oui |
| Combien coûte une mise au point de base? | Menu des services | Oui | Non : a cité le prix de l’an dernier |
| Êtes-vous ouverts le jour du Souvenir? | Heures d’ouverture | Non | Non |

La deuxième ligne révèle un fichier périmé; la troisième, un fichier manquant. Les deux sont des problèmes de contenu.

## La voie sans code : les GPT et les Projects

Si votre collection est modeste, vous n’avez peut-être rien à construire. Un GPT personnalisé dans ChatGPT accepte jusqu’à 20 fichiers, d’au plus 512 Mo chacun, et se charge du découpage et des plongements quand vous les téléversez. Il choisit ensuite entre chercher des passages pertinents et lire en entier un court document, selon la question. OpenAI conseille une mise en forme simple pour de meilleurs résultats, et note que les GPT cachent les noms de fichiers par défaut : ajoutez donc une consigne comme « Nomme le document que tu as utilisé » si vous voulez que les sources soient affichées.

Les *Projects* (projets) de Claude, offerts aux utilisateurs de Claude Pro et Team depuis juin 2024, adoptent une autre approche. Chaque projet contient jusqu’à 200 000 jetons de matériel, qu’Anthropic compare à un livre de 500 pages, en plus d’instructions personnalisées. Pour les politiques et les listes de prix d’une petite boutique, c’est souvent assez pour tout charger d’un coup.

> **À essayer :** prenez les trois documents sur lesquels vos clients posent le plus de questions, nettoyez-les comme à l’étape 2 et téléversez-les dans un GPT personnalisé ou un Project de Claude. Posez dix vraies questions et notez quelles réponses sont exactes, lesquelles sont fausses et lesquelles sont périmées.

## Comment la garder à jour?

Donnez à chaque document un responsable et une date de révision. Une base de connaissances se périme sans bruit : personne ne s’en aperçoit jusqu’à ce que le robot cite avec assurance le prix de l’an dernier. Un calendrier simple aide, par exemple les prix et les heures vérifiés chaque mois, les politiques chaque trimestre et tout le reste deux fois par année, plus une mise à jour immédiate chaque fois que quelque chose change.

Remplacez, n’empilez pas. Quand une politique change, retirez l’ancien fichier et ses morceaux avant d’ajouter le nouveau. Si les deux versions restent dans la base de données, la recherche peut récupérer l’une ou l’autre, et la réponse tiendra du pile ou face. C’est là que les métadonnées de source et de date de l’étape 4 rapportent : vous pouvez trouver et supprimer chaque morceau de l’ancien fichier.

Connaissez les limites des outils sans code. Dans un GPT personnalisé, les fichiers se gèrent à la main dans l’outil de création; OpenAI le suggère donc pour du matériel qui change rarement, comme des manuels et des politiques. L’information qui change vite, comme les niveaux de stock ou les spéciaux du jour, a sa place dans un système qui puise dans la source en direct plutôt que dans des fichiers téléversés.

Enfin, relancez vos questions de test après chaque mise à jour importante, et ajoutez chaque nouvelle question à laquelle le robot répond mal. Avec le temps, cette liste devient la meilleure mesure pour savoir si votre base de connaissances dit encore la vérité.

## Sources

- Retrieval Augmented Generation (RAG) and Semantic Search for GPTs: https://help.openai.com/en/articles/8868588-retrieval-augmented-generation-rag-and-semantic-search-for-gpts
- Knowledge in GPTs: https://help.openai.com/en/articles/8843948-knowledge-in-gpts
- Collaborate with Claude on Projects: https://www.anthropic.com/news/projects
