filin.ia
POC personnel · RAG / Flowise + Claude Haiku 4.5

RAG conversationnel
sur contrats d'assurance

POC maison construit pour explorer la chaîne RAG sur un cas réel : interroger en langage naturel des Conditions Générales et Particulières d'assurance. Projet exploratoire. Ni optimisé ni maintenu en service.

Chaîne RAG Flowise du POC : du découpage des PDF aux réponses sourcées via Claude Haiku 4.5.
Problématique

Personne ne lit les CGV en entier.

Un contrat d'assurance, c'est plusieurs dizaines de pages de PDF en typographie dense, avec des renvois entre clauses et des exclusions disséminées. Le conseiller passe un temps disproportionné à chercher la bonne réponse pour l'assuré, et l'assuré renonce souvent à poser la question.

Document long

Plusieurs dizaines de pages par contrat (CG + CP combinées), à indexer mentalement par le conseiller.

Plusieurs minutes

Pour trouver une réponse précise en lecture manuelle dans des CGV denses.

Friction

Au moment précis où la confiance dans le produit se joue.

Workflow

Pipeline RAG monté de bout en bout dans Flowise.

6 nœuds chaînés pour ce POC : ingestion, chunking, vectorisation, stockage, retrieval, génération. Objectif : me confronter à chaque brique pour comprendre en pratique les arbitrages d'un RAG, pas livrer un service industriel.

  1. 01

    Ingestion PDF

    Conditions Générales + Conditions Particulières uploadées. Mode « one document per page » pour préserver la granularité contractuelle.

  2. 02

    Recursive Character Splitter

    Découpage en chunks de 800 caractères, overlap 150. Préserve la cohérence sémantique des clauses sans rupture brutale.

  3. 03

    Embeddings BAAI/bge-m3

    Modèle multilingue état de l'art open-source via HuggingFace Inference. Vectorisation 1024 dimensions, gratuit jusqu'au seuil de volume.

  4. 04

    In-Memory Vector Store

    Stockage vectoriel en mémoire, top K = 10. Suffisant pour un corpus contractuel ; remplaçable par Pinecone ou Qdrant pour scaler.

  5. 05

    ChatAnthropic Claude Haiku 4.5

    Modèle de génération final, température 0,1 pour la factualité. Rapide et économique pour des Q&A multi-tours.

  6. 06

    Conversational Retrieval QA Chain

    Orchestration LangChain : récupération des chunks pertinents, injection dans le prompt, mémoire de conversation. Return Source Documents activé.

Cas d'usage

Question naturelle, réponse sourcée.

Le POC répondait à des questions en langage courant en récupérant les passages pertinents dans les 2 PDFs indexés (CG + CP), puis en formulant une réponse synthétique avec citations. Exemples de questions testées pendant le développement :

Quelle est la franchise pour un bris de glace en habitation ?

L'agent retrouve la clause de franchise correspondante dans les CGV, cite la page et le paragraphe.

La garantie vol couvre-t-elle un téléphone laissé dans la voiture ?

Récupération du périmètre vol et des exclusions ; réponse nuancée avec citation directe des conditions particulières.

Que faire en cas de dégât des eaux et dans quels délais déclarer ?

Combinaison de plusieurs passages (déclaration, expertise, délais légaux), restitués comme une procédure claire.

Bénéfices

Ce que le POC a permis d'observer.

Ordres de grandeur observés sur ce prototype, sur un corpus restreint (2 PDFs). À lire comme des indicateurs d'exploration. Un vrai test set aurait été nécessaire pour les valider en KPI production.

Temps de réponse

Quelques secondes

Cible du POC. À comparer aux plusieurs minutes nécessaires pour la même recherche en lecture manuelle.

Sources citées

100%

Chaque réponse renvoie les chunks utilisés et les pages d'origine. Le lecteur peut vérifier.

Multilingue

bge-m3

Le modèle d'embeddings gère nativement FR, EN et 100+ langues. Utile pour les assurés internationaux.

Coût marginal

≈ 0,01 €

Par requête, sur la base du tarif Claude Haiku 4.5 pour ~10 000 tokens en entrée. Embeddings HuggingFace gratuits dans la limite du free tier.

Stack du POC : Flowise (orchestration low-code RAG) · LangChain (Conversational Retrieval QA) · HuggingFace Inference (embeddings BAAI/bge-m3) · In-Memory Vector Store · Claude Haiku 4.5 via API Anthropic (génération, température 0,1). Pipeline assemblé visuellement pour comprendre l'enchaînement des briques, pas pour servir en production.

Audit technique

Audit du livrable.

Ce que le POC démontre aujourd'hui, et ce qui resterait à faire pour parler de service réel.

Confirmé : déjà en place

Ce qui est livré et démontrable.

Pipeline RAG complet

Splitter → embeddings → vector store → retrieval Top-K → injection prompt → LLM. Toutes les briques chaînées et fonctionnelles.

Embeddings BAAI/bge-m3

Modèle SOTA open-source multilingue (FR + 100 langues). Choix documenté, coût d'inférence gratuit dans la limite du free tier HuggingFace.

Chunking explicite

Recursive Character Splitter, chunks 800 caractères, overlap 150. Paramètres choisis et reproductibles.

Citations sources actives

Return Source Documents activé sur la chain. Chaque réponse renvoie les chunks utilisés, traçables par l'utilisateur.

Conversational Retrieval QA Chain

Mémoire multi-tours préservée, le retrieval s'adapte au contexte de la conversation, pas juste à la dernière question.

Tool-use via LangChain

Claude appelait le retriever en tant qu'outil, orchestration gérée par la chain Flowise.

Fenêtre de contexte maîtrisée

Top-K=10 chunks de 800 chars = ~10 000 tokens contexte. Confortable pour Haiku 4.5.

Améliorations POC

À ajouter pour gagner en crédibilité démo. ROI fort, effort raisonnable.

Documenter la chunking strategy

Pourquoi 800/150 ? Tester alternatives (300/50, 500/100, 1000/200) sur un test set et publier le benchmark.

Test Top-K

Comparer précision vs latence/coût sur K=3, 5, 10. Documenter le trade-off optimal (« Top-3 = 85% précision, 2,1 s »).

Seuil de similarité cosine

Guardrail : si similarité du meilleur chunk < 0,6, répondre « Je n'ai pas trouvé d'information pertinente ». Évite les réponses hallucinées sur questions hors corpus.

Guardrail périmètre

Instruction explicite : refuser questions hors assurance (météo, politique). Teste avec questions off-topic pour valider.

KPI précision sur test set

50 questions validées par expert legal, mesure precision factual sur les réponses produites.

KPI Recall@K

Pour chaque question test, vérifier manuellement que le chunk attendu est dans le Top-K. Cible Recall@3 ≥ 90%.

KPI latence et coût détaillés

Décomposer : embedding query / vector search / génération LLM. Coût par question = tokens × prix.

Score similarité affiché

Pour chaque chunk cité, afficher le score cosine. Transparence sur la confiance du retrieval.

ReAct sur questions complexes

Pour les questions multi-doc (« différence entre A et B »), faire verbaliser la stratégie de retrieval avant la réponse.

Industrialisation

Nécessaire uniquement en production à l'échelle. À nommer mais pas à embarquer pour un POC.

HITL validation legal

Réponses sur sanctions / exclusions sensibles passent en review humaine avant affichage. Pas en POC, indispensable en prod régulée.

Vector store persistant

Passer d'In-Memory à Pinecone, Qdrant ou pgvector. Indispensable dès qu'on scale au-delà d'une démo.

Réindexation incrémentale

Pipeline de mise à jour des CGV quand l'assureur publie un avenant. Versioning des chunks et historisation.

Évaluation continue

RAGAS, ARES ou benchmark interne automatisé, détection de drift, alerting sur dégradation de précision.