Aller au contenu

RAG ou fine-tuning pour un chatbot d'entreprise

Dernière mise à jour:

Deux façons de transmettre vos connaissances à un chatbot

Un grand modèle de langage généraliste en sait beaucoup sur le monde, mais rien de vos horaires d'ouverture, de votre politique de retour ou du produit lancé le mois dernier. Pour qu'un chatbot réponde aux questions sur votre entreprise, il faut faire entrer vos propres informations dans la conversation.

Deux approches sont courantes. La génération augmentée par récupération, abrégée RAG (de l'anglais retrieval-augmented generation), laisse vos contenus en dehors du modèle et lui transmet les passages utiles au moment de la question. Le fine-tuning modifie le modèle lui-même en poursuivant son entraînement sur des exemples. Les deux répondent à des problèmes différents, et les confondre explique souvent qu'un projet de chatbot déçoive.

Qu'est-ce que la génération augmentée par récupération ?

Le RAG fonctionne en deux temps. D'abord, vos contenus sont préparés : pages web, documents et FAQ sont découpés en courts passages, souvent appelés chunks. Chaque passage est converti en embedding, une suite de nombres qui représente son sens, puis stocké dans un index consultable.

Ensuite, quand un visiteur pose une question, le système cherche dans cet index les passages les plus susceptibles de contenir la réponse. Ces passages sont placés dans le prompt avec la question et un ensemble d'instructions, et le modèle de langage rédige sa réponse à partir d'eux. Le modèle n'a pas mémorisé vos contenus. Il relit à chaque fois les parties pertinentes, un peu comme un collaborateur qui consulte le manuel avant de répondre.

Comme les faits se trouvent dans l'index et non dans le modèle, mettre à jour une réponse revient à modifier un contenu, pas à lancer un entraînement. Vous modifiez la page, vous la réindexez, et la réponse suivante en tient compte. Et comme le système sait quels passages il a utilisés, il peut indiquer d'où vient une réponse, ou signaler qu'il n'a rien trouvé de pertinent.

Qu'est-ce que le fine-tuning ?

Le fine-tuning, ou affinage, reprend un modèle existant et poursuit son entraînement sur un ensemble d'exemples, généralement des paires associant une entrée à la sortie souhaitée. L'entraînement ajuste les poids internes du modèle : le nouveau comportement fait alors partie du modèle lui-même.

Le fine-tuning est efficace pour apprendre à un modèle comment répondre : un ton constant, un format de sortie fixe, un schéma de classification ou une tâche étroite répétée très souvent. Il est bien moins fiable pour lui apprendre des faits. Un modèle affiné ne conserve pas votre grille tarifaire comme un document qu'il pourrait consulter. Il absorbe des tendances à partir des exemples et, interrogé sur un détail vu une ou deux fois seulement, il peut le mélanger avec autre chose ou combler le vide par une supposition plausible.

Le fine-tuning exige aussi des données d'entraînement préparées : un ensemble d'exemples cohérents et de qualité qui montrent précisément le comportement attendu, puis un nouveau cycle d'entraînement et d'évaluation à chaque changement important. Supprimer un fait appris par le modèle ne se fait pas en effaçant une page ; il faut en général réentraîner à partir de données corrigées.

RAG et fine-tuning en un coup d'œil

Le tableau compare les deux approches sur les points qui comptent le plus pour un chatbot qui répond aux questions sur votre entreprise.

Génération augmentée par récupération (RAG)Fine-tuning
Ce qui changeCe que le modèle lit avant de répondreLes poids du modèle, donc son comportement par défaut
Garder les faits à jourModifier ou réindexer la source ; la réponse suivante l'utiliseNouvelles données d'entraînement et nouvel entraînement nécessaires
Effort de mise à jourFaible : une modification de contenuPlus élevé : préparation des données, entraînement et tests
Relier une réponse à sa sourcePossible, car les passages retrouvés sont connusPas directement possible ; le savoir est réparti dans les poids
Limiter les hallucinationsLes instructions peuvent limiter les réponses aux contenus retrouvés et autoriser « je ne sais pas »Plus difficile ; le modèle peut répondre avec assurance à partir de tendances
Données nécessairesVos pages, documents et FAQ existantsDes exemples d'entrées et de sorties soigneusement sélectionnés
Retirer un contenuSupprimer la source de l'indexRéentraîner sans ces données
Idéal pourDes réponses factuelles à partir de contenus qui évoluentLe ton, le format et les tâches étroites et répétitives

Recherche par mots-clés, sémantique et hybride

La qualité d'un chatbot RAG dépend beaucoup de son étape de recherche. Si le bon passage n'est pas retrouvé, même le meilleur modèle ne peut pas donner la bonne réponse. Il existe deux grandes façons de chercher.

La recherche par mots-clés compare les mots de la question à ceux de vos contenus. Elle est précise sur les termes exacts : références produit, numéros de modèle, noms, messages d'erreur et abréviations. Elle peine quand le visiteur n'emploie pas les mêmes mots que votre page, par exemple s'il demande comment « rendre un achat » alors que la page s'intitule « Politique de retour ».

La recherche sémantique compare des embeddings plutôt que des mots : elle retrouve des passages de sens proche même quand la formulation diffère. Elle gère bien les questions reformulées ou conversationnelles, mais peut manquer des identifiants exacts, car une référence de pièce, par exemple, n'a guère de sens en elle-même.

La recherche hybride exécute les deux et combine leurs résultats. Une question comme « Est-ce que le X200 va sur mon vélo de 2019 ? » profite de la recherche par mots-clés pour « X200 » et de la recherche sémantique pour le reste. Pour des contenus d'entreprise, qui mêlent langage courant, noms et codes, la recherche hybride est en général le choix le plus robuste.

Quand le fine-tuning a du sens

Le fine-tuning n'est pas le mauvais outil, c'est un outil différent. Les deux approches peuvent d'ailleurs se combiner : un modèle affiné pour le ton ou le format peut tout de même aller chercher ses faits par récupération.

Le fine-tuning mérite d'être envisagé si l'un ou plusieurs de ces points s'appliquent :

  • Vous avez besoin d'un format de sortie très constant, par exemple des données structurées pour un autre système.
  • La tâche est étroite et revient en grand volume, comme le classement des messages entrants dans des catégories fixes.
  • Vous voulez un style ou un ton précis que les instructions seules ne produisent pas de façon fiable.
  • Vous disposez de nombreux exemples de qualité et des moyens de réentraîner et de tester à chaque changement.

Préparer vos contenus pour un chatbot RAG

Pour la plupart des chatbots de site web, des instructions claires font le travail qu'on attend du fine-tuning, et la récupération apporte les connaissances. Mais la recherche ne trouve que ce qui figure dans vos contenus, et elle fonctionne mieux quand ceux-ci sont clairs. Quelques bonnes habitudes y contribuent :

  • Partez des pages écrites pour vos clients : FAQ, pages produits et services, tarifs, livraison, conditions et articles d'aide.
  • Écartez les pages qui ajoutent du bruit, comme les archives, les pages de tags, les pages de connexion et les annonces dépassées.
  • Supprimez ou mettez à jour les anciens documents. Si deux sources se contredisent, le chatbot risque de retrouver la mauvaise.
  • Rédigez des paires Q&A pour les cas où la formulation exacte compte, comme les conditions de résiliation ou de garantie.
  • Traitez si possible un seul sujet par page ou par section, pour que chaque passage se comprenne seul.
  • Réindexez après chaque changement important, par exemple de nouveaux prix ou horaires.
  • Avant la mise en ligne, testez avec les questions que posent vraiment vos visiteurs, y compris les questions vagues et celles auxquelles vos contenus ne répondent pas.

Comment fonctionne intoCHAT

intoCHAT repose sur la récupération. Quand vous créez un agent, vous l'entraînez sur vos propres contenus : vous collez l'adresse de votre site et choisissez les pages à lire, vous importez des fichiers comme des PDF, des documents Word, des tableurs ou des présentations, et vous ajoutez des extraits de texte ou des paires Q&A. intoCHAT découpe ces contenus en passages et crée leurs embeddings.

Quand un visiteur pose une question, intoCHAT lance une recherche hybride, qui combine recherche sémantique et recherche par mots-clés dans vos contenus, puis transmet les meilleurs passages au modèle d'IA avec vos instructions. Des règles intégrées maintiennent les réponses ancrées dans vos sources et résistent à l'injection de prompt, et l'agent dit quand il ne sait pas au lieu d'inventer.

intoCHAT n'effectue pas de fine-tuning de modèles sur vos contenus. Chez intoCHAT, entraîner un agent signifie indexer vos contenus pour la recherche, pas modifier le modèle. Le modèle d'IA est un modèle OpenAI choisi et géré par intoCHAT, et des passages de vos contenus sont envoyés à OpenAI pour créer les embeddings et générer les réponses. C'est aussi pour cela que les mises à jour sont rapides : vos connaissances restent dans des sources que vous maîtrisez, pas dans un modèle.

  • Les réponses de vos paires Q&A passent avant les autres sources, ce qui vous permet de fixer la formulation des réponses importantes.
  • Marquer une source d'une étoile la fait remonter dans la recherche, sans réentraînement.
  • Chaque source peut être modifiée, prévisualisée, téléchargée, supprimée ou réentraînée. Le réentraînement est manuel : relancez-le après chaque modification du contenu d'une source.
  • Le Playground vous permet de tester l'agent avec de vraies questions avant sa mise en ligne.

Choisir la bonne approche

Si votre chatbot doit répondre aux questions des clients à partir des informations que vous publiez, commencez par la récupération. Elle utilise les contenus dont vous disposez déjà, reste à jour quand vous les mettez à jour et garde les réponses liées à vos sources. N'envisagez le fine-tuning que si vous avez besoin d'un comportement précis que les instructions ne produisent pas, et des données et du temps pour l'entretenir.

Le moyen le plus rapide de voir la récupération à l'œuvre est de l'essayer sur votre propre site : l'outil d'aperçu gratuit crée un agent temporaire à partir de cinq de vos pages, et vous pouvez créer gratuitement votre agent intoCHAT pour aller plus loin.

Questions fréquentes

Le RAG est-il préférable au fine-tuning pour un chatbot de service client ?

Dans la plupart des cas, oui. Les réponses du service client reposent sur des faits comme les conditions, les prix et les procédures, qui changent avec le temps, et la récupération permet au chatbot de répondre à partir de la version actuelle de vos contenus. Le fine-tuning convient mieux pour façonner le ton ou le format que pour garder les faits exacts.

Le fine-tuning empêche-t-il un chatbot d'halluciner ?

Non. Le fine-tuning peut rapprocher un modèle du ton de votre marque, mais il ne lui donne pas un registre fiable de vos faits, et le modèle peut toujours donner avec assurance de mauvaises réponses. Ancrer les réponses dans des passages retrouvés, avec l'instruction de dire quand l'information manque, est un moyen plus direct de limiter les réponses inventées.

Peut-on combiner RAG et fine-tuning ?

Oui. Un modèle peut être affiné pour un style ou un format particulier et utiliser quand même la récupération pour chercher les faits au moment de la question. Pour la plupart des chatbots de site web, des instructions claires règlent déjà le ton, si bien que la récupération seule suffit en général.

Qu'est-ce que la recherche hybride dans un chatbot RAG ?

La recherche hybride combine la recherche sémantique, qui compare le sens, et la recherche par mots-clés, qui compare les mots exacts. Elle aide quand les questions mêlent langage courant, noms, références produit ou autres termes précis. Les résultats des deux recherches sont fusionnés pour que les passages les plus pertinents parviennent au modèle.

intoCHAT fait-il du fine-tuning de modèles d'IA sur mes contenus ?

Non. intoCHAT n'effectue pas de fine-tuning de modèles sur vos contenus. Quand intoCHAT parle d'entraîner un agent, il s'agit d'indexer vos contenus pour la recherche : ils sont découpés en passages, convertis en embeddings et interrogés quand un visiteur pose une question. Des passages sont envoyés à OpenAI, dont le modèle est choisi et géré par intoCHAT, pour créer les embeddings et générer les réponses.

Comment mettre à jour ce que sait un agent intoCHAT ?

Modifiez ou remplacez la source, puis réentraînez-la ; c'est une étape manuelle. Vous pouvez aussi ajouter des paires Q&A, prioritaires sur les autres sources, ou marquer une source d'une étoile pour qu'elle remonte sans réentraînement. intoCHAT ne resynchronise pas votre site automatiquement : réentraînez après chaque changement important.

Voyez-le répondre à partir de votre site

Collez l’adresse de votre site et discutez avec un agent créé à partir de vos pages. Cela prend environ une minute.

Créer votre agent gratuitement

Offre gratuite, sans carte bancaire.