Créer un RAG pour les recours fiscaux avec Milvus, LlamaIndex et GPT
Zilliz, LlamaIndex, Microsoft et des passionnés de la région de Seattle organisent des Hackathons mensuels pour explorer des idées potentielles de startups. Les chances que quatre inconnus se réunissent pour créer un prototype fonctionnel d’une idée née le jour même sont au mieux minces. Le projet SaveHaven illustre une telle histoire.
Imaginez un Product Manager, deux développeurs full-stack n’ayant aucune connaissance de LlamaIndex, de Zilliz Cloud ou du framework Retrieval Augmented Generation (RAG), et un développeur IA enthousiaste se rencontrant pour la première fois. Après une introduction au système RAG et avoir improvisé autour de 3-4 idées, nous en avons retenu une qui semblait réalisable dans les 5 heures restantes. Voici l’histoire d’une telle équipe.
Le défi de la bureaucratie
Les bureaucrates des villes, comtés, États et du gouvernement fédéral collectent plus de 850 milliards de dollars en impôts, taxes et amendes sans contestation de la part des contribuables. Environ un demi-million d’appels, de demandes d’information, d’objections et de suivis que la plupart des individus ne sont pas bien équipés pour mener à bien, ce qui conduit la plupart des gens à payer pour régler le problème au lieu d’exiger un traitement équitable.
L’application RAG SaveHaven que nous avons créée change tout cela en aidant les consommateurs à contester, faire appel, gérer les objections, défendre leur cause et économiser plus de 12 milliards de dollars en recouvrements excédentaires qualifiés d’« argent non réclamé » auprès des organismes gouvernementaux. En aidant la population ordinaire à économiser sur l’impôt sur le revenu et la taxe foncière, SaveHaven aide les individus à défendre leurs droits. Les résultats positifs dépendent du dépôt du premier recours et de la capacité à répondre efficacement aux suivis, ce qui nécessite 4 à 5 itérations sur une année.
La solution : SaveHaven, une application RAG pour faciliter les recours fiscaux
Nous avons reconnu que les informations nécessaires pour défendre un dossier au nom des individus sont disponibles dans les registres des comtés, des États et du gouvernement fédéral, en plus des réglementations et exigences prescrites et publiées par les agences respectives. En déposant des demandes ciblées au titre du “Freedom of Information Act”, nous pouvons collecter des exemples de communications, d’appels, de réponses aux objections et de documentation qui aboutissent auprès de la bonne agence. En tirant parti d’un système RAG, nous pouvons imiter des pétitions, appels, protestations et gestions d’objections réussis afin d’obtenir des résultats positifs à une fraction du coût de création des documents nécessaires pour défendre un dossier.
Lors du Hackathon, nous avons adapté un scraper web pour récupérer les registres, réglementations et règles du comté concernant les recours relatifs à la taxe foncière dans le comté de King. Ensuite, nous avons intégré ces données dans une base de données vectorielle à l’aide du cookbook fourni. Nous avons ensuite utilisé Reactjs pour créer une interface web frontend et construit un ensemble d’API utilisant LlamaIndex pour orchestrer les requêtes et récupérer les embeddings pertinents depuis les bases de données vectorielles ; nous avons utilisé Milvus comme base de données vectorielle et GPT d’OpenAPI comme LLM.
Notre solution est simple : nous demandons uniquement le numéro de parcelle du comté ou l’adresse en entrée, puis nous interrogeons les registres du comté pour trouver des propriétés comparables afin de rédiger un appel conforme aux réglementations et règles, dans le but de minimiser la valeur du terrain et du bien à l’aide de listes de propriétés comparables.
Le résultat présenté a généré un texte qui lancerait le processus d’appel. Lors de l’itération suivante, nous intégrerions la gestion des objections et parviendrions à réduire les taxes foncières de 19,99 $ pour un cas. Comme les taxes foncières sont ajustées chaque année, cela devrait devenir une activité continue. Des problèmes similaires sont rencontrés dans les cas d’impôt sur le revenu au niveau des États et du gouvernement fédéral, ce qui constituait notre feuille de route.
Base de connaissances
Nous avons exploité des scrappers open-source pour récupérer des données depuis différents sites web gouvernementaux. Ensuite, nous avons découpé les données, les avons transformées en embeddings vectoriels et les avons stockées dans la base de données vectorielle Milvus. Nous avons construit cette base de connaissances ponctuelle. En plus de cela, elle continue de s’améliorer à mesure que nous ajoutons de plus en plus de données lorsque la plateforme est utilisée.
Orchestration des requêtes
Nous avons utilisé LlamaIndex comme orchestrateur de base et avons construit quelques éléments par-dessus. Si nous ne trouvons pas de connaissances pertinentes dans Milvus, LlamaIndex extraira les données pertinentes, mettra à jour la base de connaissances, puis communiquera avec le LLM pour obtenir une réponse finale.
APIs
Nous avons utilisé le framework FastAPI pour exposer nos APIs et avons construit tous ces composants avec Python3 afin de les garder simples et rapides à réaliser.
Résumé
SaveHaven est une application RAG qui peut aider les particuliers à contester et faire appel des évaluations de l’impôt foncier et de l’impôt sur le revenu. Elle rationalise le processus d’appel fiscal, le rendant plus accessible et plus gérable pour le grand public. Le système utilise des technologies comme LlamaIndex, Milvus et GPT d’OpenAI pour automatiser la collecte et l’analyse de données issues de registres publics, facilitant ainsi la préparation d’appels fiscaux efficaces.
L’équipe de SaveHaven souhaite que ce blog serve d’exemple afin que les futurs entrepreneurs puissent apprendre de notre expérience et créer des innovations significatives. Nous comprenons que la GenAI transformera nos vies, et les technologies de LlamaIndex, Microsoft et Zilliz permettront de passer d’une idée à une solution fonctionnelle en une journée avec la bonne équipe.
Continuer à lire

3 Easiest Ways to Use Claude Code on Your Mobile Phone
Run Claude Code from your phone with Remote Control, Happy Coder, or SSH + Tailscale. Comparison table, setup steps, and tools for typing, memory, and parallel tasks.

DeepSeek-OCR Explained: Optical Compression for Scalable Long-Context and RAG Systems
Discover how DeepSeek-OCR uses visual tokens and Contexts Optical Compression to boost long-context LLM efficiency and reshape RAG performance.

Bringing AI to Legal Tech: The Role of Vector Databases in Enhancing LLM Guardrails
Discover how vector databases enhance AI reliability in legal tech, ensuring accurate, compliant, and trustworthy AI-powered legal solutions.


