Construyendo un RAG de apelaciones fiscales con Milvus, LlamaIndex y GPT
Zilliz, LlamaIndex, Microsoft y entusiastas del área de Seattle organizan hackatones mensuales para explorar posibles ideas de startups. Las probabilidades de que cuatro desconocidos se unan para crear un prototipo funcional de una idea que surge ese mismo día son, en el mejor de los casos, escasas. El proyecto SaveHaven demuestra una historia así.
Imagina a un Product Manager, un par de desarrolladores full-stack sin conocimiento de LlamaIndex, Zilliz Cloud, ni del marco de Retrieval Augmented Generation (RAG), y un entusiasta desarrollador de IA reuniéndose por primera vez. Después de una introducción al sistema RAG y de improvisar sobre 3-4 ideas, nos decidimos por una que parecía factible en las 5 horas restantes. Esta es la historia de un equipo así.
El desafío de la burocracia
Los burócratas municipales, del condado, estatales y federales recaudan más de $850 mil millones en impuestos, gravámenes y multas sin que los contribuyentes los cuestionen. Alrededor de medio millón de apelaciones, solicitudes de información, objeciones y seguimientos que la mayoría de las personas no están bien preparadas para cumplir, lo que lleva a que la mayoría pague el problema en lugar de exigir un trato justo.
La aplicación RAG SaveHaven que construimos cambia todo eso al ayudar a los consumidores a impugnar, apelar, manejar objeciones, defender su caso y ahorrar más de $12 mil millones en recaudaciones excesivas etiquetadas como “dinero no reclamado” en agencias gubernamentales. Al ayudar a la población común a ahorrar en impuestos sobre la renta y la propiedad, SaveHaven ayuda a las personas a defender sus derechos. Los resultados exitosos dependen de presentar la primera apelación y responder eficazmente a los seguimientos, lo que toma de 4 a 5 iteraciones durante un año.
La solución: SaveHaven, una aplicación RAG para facilitar las apelaciones fiscales
Reconocimos que la información para defender un caso en nombre de las personas está disponible en registros del condado, estatales y federales, además de las regulaciones y requisitos prescritos y publicados por las respectivas agencias. Al presentar solicitudes específicas de “Freedom of Information Act”, podemos recopilar ejemplos de comunicaciones, apelaciones, respuestas a objeciones y documentación que tienen éxito ante la agencia adecuada. Al aprovechar un sistema RAG, podemos imitar peticiones, apelaciones, protestas y manejo de objeciones exitosos para impulsar resultados positivos a una fracción del costo de crear los documentos necesarios para defender un caso.
En el hackatón, adaptamos un web scraper para extraer registros, regulaciones y normas del condado para apelaciones de impuestos sobre la propiedad en King County. Luego, introdujimos estos datos en una base de datos vectorial usando el cookbook proporcionado. Después usamos Reactjs para crear un frontend web y construimos un conjunto de APIs que usaban LlamaIndex para orquestar solicitudes y recuperar embeddings relevantes de bases de datos vectoriales; usamos Milvus como base de datos vectorial y GPT de OpenAPI como el LLM.
Nuestra solución es simple: solo pedimos como entrada el número de parcela del condado o la dirección, y luego consultamos los registros del condado sobre propiedades comparables para redactar una apelación que cumpla con las regulaciones y normas, con el fin de minimizar el valor del terreno y la propiedad usando listas de propiedades comparables.
El resultado demostrado generó un texto que iniciaría el proceso de apelación. En la siguiente iteración, incorporaríamos el manejo de objeciones y lograríamos reducir los impuestos sobre la propiedad en $19.99 para un caso. Como los impuestos sobre la propiedad se ajustan anualmente, se espera que esta sea una actividad continua. Problemas similares se encuentran en casos de impuestos estatales y federales sobre la renta, lo cual formaba parte de nuestra hoja de ruta.
Base de conocimientos
Hemos aprovechado scrappers de código abierto para obtener datos de diferentes sitios web gubernamentales. Luego, dividimos los datos en fragmentos, los transformamos en embeddings vectoriales y los almacenamos en la base de datos vectorial Milvus. Construimos esta base de conocimiento de una sola vez. Además, sigue mejorando a medida que añadimos más y más datos cuando se utiliza la plataforma.
Orquestación de solicitudes
Usamos LlamaIndex como orquestador base y construimos algunas piezas sobre él. Si no encontramos conocimiento relevante en Milvus, LlamaIndex recopilará los datos relevantes, actualizará la base de conocimiento y luego hablará con el LLM para obtener una respuesta final.
APIs
Hemos usado el framework FastAPI para exponer nuestras APIs y construido todos estos componentes usando Python3 para mantenerlos simples y rápidos de lograr.
Resumen
SaveHaven es una aplicación RAG que puede ayudar a las personas a impugnar y apelar tasaciones de impuestos sobre la propiedad y la renta. Agiliza el proceso de apelación fiscal, haciéndolo más accesible y manejable para el público en general. El sistema emplea tecnologías como LlamaIndex, Milvus y GPT de OpenAI para automatizar la recopilación y el análisis de datos de registros públicos, facilitando así la preparación de apelaciones fiscales efectivas.
El equipo de SaveHaven pretende que este blog sea un ejemplo para que futuros emprendedores puedan aprender de nuestra experiencia y construir innovaciones significativas. Entendemos que la GenAI transformará nuestras vidas, y las tecnologías de LlamaIndex, Microsoft y Zilliz harán posible pasar de una idea a una solución funcional en un día con el equipo adecuado.
Sigue leyendo

Zilliz Cloud Now Available in AWS Europe (Ireland)
Zilliz Cloud launches in AWS eu-west-1 (Ireland) — bringing low-latency vector search, EU data residency, and full GDPR-ready infrastructure to European AI teams. Now live across 30 regions on five cloud providers.

Why and How to Migrate from Self-Hosted Milvus to Zilliz Cloud
A simple, step-by-step guide to migrating from Milvus to Zilliz Cloud. Learn both endpoint and backup methods for a smooth, scalable vector database migration.

Selecting the Right ETL Tools for Unstructured Data to Prepare for AI
Learn the right ETL tools for unstructured data to power AI. Explore key challenges, tool comparisons, and integrations with Milvus for vector search.


