langchain, rag, documentation interne en entreprise

L’IA et les RAG au service de la documentation interne d’entreprise

Au delà du buzz autour de l’intelligence artificielle et des RAG, certaines entreprises peinent à trouver des cas d’usages concrets qui peuvent réellement « révolutionner » leur secteur.

Un des points communs entre toutes les entreprises c’est le besoin de structuration de la documentation interne.

La quantité de données générée et traitée par une entreprise est énorme et énormément d’informations se perdent dans la nature.

McKinsey estime le temps perdu lié à la recherche d’informations à plus de 20% du temps travaillé d’un employé. Ils estiment à plus de 10k€ par an et par employé le manque à gagner liées à des pertes de connaissances.

Cela inclus plusieurs choses, comme dans la tech le fait que des développeurs doivent refaire plusieurs fois un même code à cause d’une mauvaise documentation ou une mauvaise structuration des informations.

Par ailleurs, une mauvaise documentation interne peut entraîner des risques liés à la sécurité de la donnée d’entreprise. Des informations privées peuvent être échangées via Whatsapp, par téléphone, sur Slack, via des messageries électroniques non-sécurisées, etc.

D’où l’importance pour l’entreprise d’optimiser l’accès à la données interne au sein de l’entreprise.

L’IA peut aider : la notion de RAG

Les RAG : Retrieval Augmented Generation, sont des techniques qui permettent au LLM de baser leurs réponses sur des bases de connaissances externes, au delà de la simple base d’entraînement du modèle.

Le principe est le suivant :

  • On commence par créer notre base de connaissance qui contient toute la données de l’entreprise. Cette donnée sera stockée sous la forme de vecteurs mathématiques, les vecteurs d’embedding, et rangées par contexte. Les vecteurs doivent être construits intelligemment en faisant en sorte que les documents avec un contexte proche soit proches au sens mathématique. Par ailleurs, on doit aussi faire en sorte que la base soit optimisée pour la recherche afin de permettre une récupération de données rapides. Une des entreprises de référence sur ce sujet est Pathway.
  • Une fois que la base vectorielle est construite, son utilisation est simple. On va récupérer la recherche de l’utilisateur, la transformer en vecteur d’embedding et récupérer dans la base vectorielle les morceaux de documents qui sont proches de la question sémantiquement. On va ensuite faire en sorte de compresser les documents récupérées pour créer un contexte synthétique. Enfin, on va redonner au LLM la question initiale de l’utilisateur et lui demander de baser sa réponse sur le contexte que l’on vient de construire.

Le framework de référence qui permet de mettre en place ce genre de pipeline de RAG est Langchain. Il permet de gérer tous le processus de la création de la base de connaissance à la restitution des réponses, en passant par la compression du contexte.

Pipeline de RAG avec Langchain pour la documentation interne en entreprise
Pipeline de RAG avec Langchain

Comment sécuriser son pipeline de RAG

Cette approche basée sur Langchain n’est pas sans risque, l’aspect sécuritaire doit être pris en considération.

Le phénomène d’hallucination

D’abord, il faut avoir en tête que les LLM sont initialement conçus comme des modèles mathématiques dont le rôle est de prédire le mot suivant. Ils doivent proposer une séquence de mots qui parait juste et qui se rapproche de ce qu’un humain aurait pu dire.

A aucun moment du processus on ne prend en compte la véracité de l’information transmise à l’utilisateur. Il est donc assez courant qu’un modèle de LLM donne une réponse fausse avec assurance, ce phénomène est ce que l’on appelle « l’hallucination ».

Malgré les améliorations récentes liées à l’hallucination dans les dernières versions de LLM comme GPT-4, ce phénomène est encore présent. Et il peut affecter votre pipeline dans le cas où le contexte extrait de votre base de connaissance serait trop vague. Le LLM peut être tenté de compléter la réponse en inventant des informations.

La première étape pour la résolution de ce problème consiste à mettre en place des métriques de performances basées sur du feedback humain, via des notes par exemple. N’hésitez pas à essayer plusieurs LLM et les mettre en compétition sur ce point là.

Accès et infiltration de données dans le pipeline de RAG

L’autre grand risque lié aux pipelines de RAG réside dans la compartimentalisation des données de l’entreprise. On ne veut pas que le LLM donne toutes les informations de l’entreprise à tous les employés.

On doit pouvoir définir des périmètres d’accès à la données comme on le ferait dans un drive classique.

Sur ce sujet la solution n’a rien à voir avec l’IA en elle-même, elle repose entièrement sur l’infrastructure proposée et la qualité de la données en entrée. Tous les documents doivent être labéllisés et contenir dans leurs metadata les informations liées aux autorisations d’accès.

Par ailleurs, les risques cyber classique comme une injection de données par un acteur malveillant, peuvent être plus difficiles à déceler. Le LLM répondra avec le contexte présent dans la base de connaissance, sans savoir qu’elle a été inflitrée.

Le risque de mal contrôler les coûts du pipeline

Contrairement à une recherche classique dans une base de connaissance, la recherche par RAG fait intervenir plusieurs modèles de LLM qui sont potentiellement appelés plusieurs fois par requête. Ils sont appelés une première fois pour la compréhension de la requête de l’utilisateur, ils sont ensuite appelés plusieurs fois pour la compression du contexte en fonction de la quantité d’informations, et enfin une dernière fois pour résumer la réponse.

Si on utilise une API externe, avec une facturation par token (c’est l’unité mathématique qui est utilisée pour l’encodage du langage) les coûts peuvent très vite s’envoler. D’où l’importance de faire des tests et d’avoir un contrôle rigoureux des dépenses.

Souveraineté des données

La souveraineté des données constitue un dernier risque à ne pas négliger. En utilisant des API de LLM d’entreprises externes vous exposez à l’extérieur les données de votre entreprise et les recherches de vos employés dans votre base interne.

En fonction de la politique de l’entreprise vous pouvez passer par des clouds providers de confiance ou alors décider de construire une architecture local en utilisant des modèles open-source comme LLAMA par exemple.