IA & LLM 2026 En vedette

Copilote documentaire - Assistant RAG qui cite ses sources ou s'abstient

Sotis AI

Copilote documentaire - Assistant RAG qui cite ses sources ou s'abstient
Cliquer pour agrandir

Description

Dans un établissement de santé, retrouver une procédure validée dans une gestion électronique de documents suppose souvent de savoir d'avance où elle est rangée. Un assistant en langage naturel réglerait le problème, à une condition : ne jamais inventer, parce qu'une réponse plausible mais fausse sur un protocole de soins est un risque patient. C'est cette condition, et non la qualité des réponses, qui a dicté l'architecture. Le démonstrateur répond à un appel d'offres hospitalier portant sur une GED existante ; son corpus est fictif, sept documents et quinze passages indexés.

Points clés

L'incertitude y est une contrainte structurelle, pas un réglage :
• Abstention forcée tant qu'aucun passage ne porte de signal lexical réel, et décidée avant la génération : une question hors corpus ne déclenche aucun appel au modèle de langage
• Récupération hybride BM25 et embeddings, qui retombe silencieusement sur le lexical seul si la clé, les vecteurs ou le modèle manquent
• Routage de version : un passage périmé fait co-récupérer sa version en vigueur, et l'application distingue ce cas de celui où aucune version en vigueur n'est récupérable
• Jetons et coût estimés par réponse, lus dans un fichier de prix versionné : un modèle absent du fichier n'affiche aucun coût plutôt qu'un coût inventé

Outils & Technologies

Django PostgreSQL OpenAI SDK JavaScript Docker uv pytest Python

Approche & Méthodes

• BM25 écrit à la main en Python pur, fusionné linéairement avec la similarité cosinus des embeddings
• Verrou d'abstention structurel plutôt que seuil calibré, pour rester robuste à un changement de modèle d'embeddings
• Détection d'intention sociale à deux niveaux, dont le placement dans le pipeline est ce qui préserve la règle d'abstention
• Trace structurée des quatre étapes renvoyée à chaque appel, passages écartés et scores compris
• Aucune dépendance scientifique lourde : la récupération tient en Python standard

Statut

Démonstrateur

Est-ce que ça se transpose chez vous ?

La réponse tient à votre donnée plus qu'à ce projet, et un échantillon suffit le plus souvent à la donner.