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

RAG conversationnel
sur contrats d'assurance

POC maison construit pour explorer concrètement 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.

Slide 01Problématique

Les CGV sont illisibles, et c'est un problème opérationnel.

Un contrat d'assurance, c'est 80 à 120 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. Friction maximale, sur le moment qui conditionne la confiance dans le produit.

~100 pages

par contrat (CG + CP combinées) à indexer mentalement

10-30 min

pour trouver une réponse précise en lecture manuelle

Friction

sur le moment qui construit (ou détruit) la confiance assuré

Slide 02Workflow

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é.

Slide 03Cas 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.

Slide 04Bénéfices

Ce que le POC a permis d'observer.

Ordres de grandeur mesurés sur ce prototype maison, sur un corpus restreint (2 PDFs). À lire comme des indicateurs d'exploration, pas comme des KPIs production — il aurait fallu un vrai test set pour les valider.

Temps de réponse

< 5 sec

Versus 10-30 minutes de lecture manuelle dans des CGV de 80-120 pages

Sources citées

100%

Chaque réponse est traçable, auditable, vérifiable. Pas de réponse sans citation.

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,001€

Par requête (Haiku 4.5 + embeddings HuggingFace gratuits) — scalable sans réinjection budget

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.

Slide 06Audit technique

Ce que le POC posait, ce qu'il aurait fallu pour aller plus loin.

Un RAG démontre vite, mais se juge sur les détails : chunking, recall, guardrails, latence, coût. Lecture honnête de ce prototype : ce qui était en place côté chaîne technique, et ce qui manquait 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 jusqu'à un seuil.

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. À publier sur la page.

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.