WorldTaxAI – Chatbot fiscal (Espagne) avec RAG & recherche hybride
WorldTaxAI
8 semaines
6 600 euros
“La solution WorldTaxAI nous permet d’interroger des dizaines de milliers de documents fiscaux espagnols avec des réponses citées et fiables. L’outil est rapide, la recherche par concepts fonctionne très bien, et l’équipe est réactive pour les ajustements. » — Équipe WorldTax”
— WorldTaxAI
WorldTaxAI — Chatbot fiscal Espagne (RAG + pgvector) : étude de cas complète
Résumé du projet
WorldTaxAI est un chatbot fiscal multilingue (EN↔ES) dédié au droit et à l’administration fiscale espagnols. Il s’appuie sur un RAG robuste combinant recherche sémantique (pgvector) et recherche lexicale (tsvector) pour fournir des réponses fiables, sourcées et rapides.
- Corpus : ~60 000 documents (BOE, DGT, AEAT, PwC), PDF hétérogènes unifiés.
- Qualité : OCR, nettoyage, normalisation Unicode, chunking 400–600 tokens.
- Indexation : PostgreSQL + pgvector (HNSW) + FTS tsvector (GIN).
- App : FastAPI (backend), React/Next (front avec streaming), historique et suppression de conversations.
- Multilingue : questions en anglais, réponses sourcées depuis corpus majoritairement espagnol.
Objectifs
- Accès rapide aux règlements, rulings, notices, commentaires.
- Réponses fiables et sourcées (extraits + page/section cliquables).
- Multilingue EN↔ES (robustesse terminologique).
- Coûts maîtrisés (embeddings low-cost, infra Postgres unifiée).
- Fonctionnalités de chat : historique, reprise, suppression, export.
Pourquoi une recherche hybride ?
- Sémantique (embeddings) : capte la proximité conceptuelle, tolère les variations linguistiques (EN↔ES) et paraphrases.
- Lexicale (tsvector) : ancre les références exactes (p. ex. modelo 190, art. 10, sigles…).
- Fusion de scores (+ boosts métier, MMR) : maximise rappel & précision sans filtrage dur, en privilégiant la pertinence juridique.
Architecture & pipeline
1) Ingestion & OCR
- Extraction texte depuis PDF natifs & scans (OCR).
- Détection de langue, normalisation Unicode, suppression en-têtes/pieds, numéros de page.
2) Structuration & chunking
- Segments 400–600 tokens avec chemin de section et n° de pages.
- Contrôles qualité, déduplication, horodatage.
3) Enrichissement documentaire
- Métadonnées : jurisdiction, document_type, doc_title, source_name, year.
- Thèmes : primary_topic (liste fermée), secondary_topics (3–5 tags contrôlés).
- Abstract court (aperçu), option embedding doc-level.
4) Embeddings & index
- Modèle : text-embedding-3-small (OpenAI).
- Stockage : PostgreSQL
- pgvector vector(1536)
- index HNSW.
- pgvector vector(1536)
- Recherche lexicale parallèle via tsvector
- index GIN.
5) Retrieval hybride & classement
- Vectoriel EN↔ES
- lexical exact-match.
- Fusion normalisée des scores, boosts par topics/type, MMR (diversité), rerank léger.
- Sélection 5–8 extraits avec citations (titre, section, page).
6) API & Front
- FastAPI : auth, sessions, pagination, purge.
- React/Next (streaming) : i18n, copier/coller des extraits, export conversation.
- Voix → texte : endpoint de transcription (option).
7) Ops & sécurité
- CI/CD, métriques (latence, tokens, Recall@k), budgets.
- Confidentialité : données API non utilisées pour l’entraînement ; zéro rétention optionnelle.
- RLS/permissions en lecture, logs minimaux, traçabilité par segment.
Expérience utilisateur
- Historique par utilisateur : reprise, renommage, suppression.
- Citations cliquables vers la source (avec contexte).
- Réponses factuelles : le modèle n’invente pas, il s’appuie sur les extraits.
- Multilingue : question EN, résultats ES, résumé EN optionnel.
- Streaming des réponses, saisie vocale (option).
Résultats & impacts
- Accès en secondes à des contenus auparavant dispersés.
- Rappel élevé sur requêtes techniques (retención dividendos — modelo 190, establecimiento permanente, etc.).
- Gain de temps substantiel pour analystes & avocats.
- Base prête pour la veille & l’analytique (tendances, clustering, détection de doublons).
Stack technique
- Backend : Python, FastAPI, SQLAlchemy.
- Base : PostgreSQL, pgvector, tsvector, Docker.
- LLM & embeddings : OpenAI (chat gpt-4o-mini, embeddings text-embedding-3-small).
- Front : React/Next, streaming, i18n.
- Ops : CI/CD, monitoring, budgets.
Planning & budget
- Phase 1 — scraping & préparation : livrée, ~2–3 semaines.
- Phase 2 — RAG + API + front + déploiement : ~4 semaines.
- Devis phase 2 : 6 600 € HT (21 jours à 300 €/j).
- Coûts récurrents API : faibles (indexation one-shot, requêtes légères).
CTA : Vous souhaitez un POC sur votre corpus (ES/EN) ou étendre au portail interne de votre cabinet ? Contactez-nous pour une démo.
Témoignage client
« WorldTaxAI nous permet d’interroger des dizaines de milliers de documents fiscaux espagnols avec des réponses citées et fiables. La recherche par concepts est efficace et l’équipe est réactive pour les ajustements. »
— Équipe WorldTax
FAQ
Le chatbot “apprend-il” de nos données ?
Non. Les données API ne servent pas à entraîner ChatGPT. Embeddings et textes restent privés.
Peut-on poser des questions en anglais si le corpus est en espagnol ?
Oui. Embeddings multilingues + FTS bilingue (routing par langue).
Qualité des réponses et évaluation continue ?
Réponses sourcées ; suivi Recall@k, Precision@k, Faithfulness.
Scalabilité de l’index ?
pgvector gère des centaines de milliers de vecteurs. Index HNSW/IVF pour la vitesse. API stateless.
Sécurité et conformité ?
PostgreSQL privé, permissions lecture seule (RLS), suppression d’historique, CI/CD auditable, logs minimaux.
Ressources & prochaines étapes
Exemples de requêtes techniques
- “Retención sobre dividendos no residentes — modelo 190 (EN→ES)”
- “Criterios DGT sobre establecimiento permanente digital (EN→ES)”
- “Exención por doble imposición art. 10 — BOE 202x (ES)”
Idées d’extensions produit
- Rerank avancé (cross-encoder), re-écriture de requête (query-expansion).
- Tableau de bord qualité (coverage, freshness, drift terminologique).
- Veille : ingestion incrémentale (webhooks BOE/DGT/AEAT), alertes topics.
datamonkeyz
Envie du même pipeline ?
Contactez-nous, réponse rapide.
Réponse en moins d’1h
Envie du même pipeline ?
Réponse rapide, on cale un appel immédiatement.
