Aufbau eines Tax Appeal RAG mit Milvus, LlamaIndex und GPT
Zilliz, LlamaIndex, Microsoft und Enthusiasten im Raum Seattle veranstalten monatliche Hackathons, um potenzielle Startup-Ideen zu erkunden. Die Chancen, dass vier Fremde zusammenkommen, um einen funktionierenden Prototyp für eine Idee zu entwickeln, die am selben Tag entsteht, sind bestenfalls gering. Das SaveHaven-Projekt zeigt eine solche Geschichte.
Stellen Sie sich einen Product Manager, ein paar Full-Stack-Entwickler ohne Kenntnis von LlamaIndex, Zilliz Cloud oder dem Retrieval-Augmented-Generation-Framework (RAG) sowie einen begeisterten KI-Entwickler vor, die sich zum ersten Mal treffen. Nach einer Einführung in das RAG-System und dem Durchspielen von 3–4 Ideen entschieden wir uns für eine, die in den verbleibenden 5 Stunden machbar schien. Dies ist die Geschichte eines solchen Teams.
Die Bürokratie-Herausforderung
Städtische, kommunale, bundesstaatliche und föderale Bürokraten erheben über 850 Milliarden US-Dollar an Steuern, Abgaben und Bußgeldern, ohne dass Steuerzahler sie anfechten. Etwa eine halbe Million Einsprüche, Informationsanfragen, Einwände und Nachverfolgungen, die die meisten Einzelpersonen nicht gut erfüllen können, führen dazu, dass die meisten Menschen das Problem einfach bezahlen, anstatt eine faire Behandlung einzufordern.
Die von uns entwickelte SaveHaven-RAG-App ändert all das, indem sie Verbrauchern hilft, Forderungen anzufechten, Einspruch einzulegen, Einwände zu bearbeiten, ihren eigenen Fall darzulegen und über 12 Milliarden US-Dollar an übermäßigen Erhebungen einzusparen, die bei Regierungsbehörden als „unclaimed money“ gekennzeichnet sind. Indem SaveHaven der Allgemeinbevölkerung hilft, bei Einkommen- und Grundsteuer zu sparen, unterstützt es Einzelpersonen dabei, für ihre Rechte einzustehen. Erfolgreiche Ergebnisse hängen davon ab, den ersten Einspruch einzulegen und effektiv auf Nachfragen zu reagieren, was über ein Jahr hinweg 4 bis 5 Iterationen erfordert.
Die Lösung: SaveHaven, eine RAG-App für einfachere Steuereinsprüche
Wir erkannten, dass die Informationen, um im Namen von Einzelpersonen einen Fall aufzubauen, in kommunalen, bundesstaatlichen und föderalen Aufzeichnungen sowie in den von den jeweiligen Behörden vorgeschriebenen und veröffentlichten Vorschriften und Anforderungen verfügbar sind. Durch gezielte Anträge nach dem „Freedom of Information Act“ können wir Beispiele für Kommunikation, Einsprüche, Antworten auf Einwände und Dokumentation sammeln, die bei der richtigen Behörde erfolgreich sind. Durch den Einsatz eines RAG-Systems können wir erfolgreiche Petitionen, Einsprüche, Proteste und die Bearbeitung von Einwänden nachahmen, um positive Ergebnisse zu einem Bruchteil der Kosten zu erzielen, die für die Erstellung der notwendigen Dokumente zur Darlegung eines Falls anfallen.
Im Hackathon passten wir einen Web-Scraper an, um County-Aufzeichnungen, Vorschriften und Regeln für Grundsteuereinsprüche in King County abzurufen. Anschließend speisten wir diese Daten mithilfe des bereitgestellten Cookbooks in eine Vektordatenbank ein. Danach nutzten wir Reactjs, um ein Web-Frontend zu erstellen, und entwickelten eine Reihe von APIs, die LlamaIndex verwendeten, um Anfragen zu orchestrieren und relevante Embeddings aus Vektordatenbanken abzurufen; wir verwendeten Milvus als Vektordatenbank und OpenAPIs GPT als LLM.
Unsere Lösung ist einfach: Wir fragen lediglich nach der County-Flurstücksnummer oder Adresse als Eingabe und erkundigen uns dann in den County-Aufzeichnungen nach vergleichbaren Immobilien, um einen Einspruch zu verfassen, der den Vorschriften und Regeln entspricht, mit dem Ziel, den Grundstücks- und Immobilienwert mithilfe von Listen vergleichbarer Immobilien zu minimieren.
Die demonstrierte Ausgabe erzeugte einen Text, der den Einspruchsprozess einleiten würde. In der nächsten Iteration würden wir die Bearbeitung von Einwänden integrieren und in einem Fall erfolgreich die Grundsteuer um 19,99 US-Dollar senken. Da Grundsteuern jährlich angepasst werden, ist zu erwarten, dass dies eine fortlaufende Aktivität sein wird. Ähnliche Probleme treten bei bundesstaatlichen und föderalen Einkommensteuerfällen auf, was Teil unserer Roadmap war.
Wissensdatenbank
Wir haben Open-Source-Scrapper genutzt, um Daten von verschiedenen Regierungswebsites abzurufen. Anschließend haben wir die Daten in Chunks aufgeteilt, in Vektoreinbettungen umgewandelt und in der Milvus-Vektordatenbank gespeichert. Wir haben diese einmalige Wissensdatenbank aufgebaut. Darüber hinaus verbessert sie sich kontinuierlich, wenn wir während der Nutzung der Plattform immer mehr Daten hinzufügen.
Anfrage-Orchestrierung
Wir haben LlamaIndex als Basis-Orchestrator verwendet und einige Komponenten darauf aufgebaut. Wenn wir in Milvus kein relevantes Wissen finden, wird LlamaIndex die relevanten Daten scrapen, die Wissensdatenbank aktualisieren und anschließend mit dem LLM kommunizieren, um eine endgültige Antwort zu erhalten.
APIs
Wir haben das FastAPI-Framework verwendet, um unsere APIs bereitzustellen, und all diese Komponenten mit Python3 entwickelt, um sie einfach zu halten und schnell umzusetzen.
Zusammenfassung
SaveHaven ist eine RAG-App, die Einzelpersonen dabei helfen kann, Grundsteuer- und Einkommensteuerbescheide anzufechten und Einspruch dagegen einzulegen. Sie optimiert den Steuerberufungsprozess und macht ihn für die Allgemeinheit zugänglicher und leichter handhabbar. Das System verwendet Technologien wie LlamaIndex, Milvus und GPT von OpenAI, um die Erfassung und Analyse von Daten aus öffentlichen Aufzeichnungen zu automatisieren und so die Vorbereitung wirksamer Steuerberufungen zu erleichtern.
Das SaveHaven-Team beabsichtigt, dass dieser Blog als Beispiel dient, damit zukünftige Unternehmer aus unserer Erfahrung lernen und sinnvolle Innovationen entwickeln können. Wir verstehen, dass GenAI unser Leben verändern wird, und die Technologien von LlamaIndex, Microsoft und Zilliz werden es möglich machen, mit dem richtigen Team innerhalb eines Tages von einer Idee zu einer funktionierenden Lösung zu gelangen.
Weiterlesen

Why We Built Vector Lakebase: Rethinking Unstructured Data Architecture for AI
Vector Lakebase: a unified, lake-native data foundation for AI workloads — and an answer to what happens after vector databases succeed.

My Wife Wanted Dior. I Spent $600 on Claude Code to Vibe-Code a 2M-Line Database Instead.
Write tests, not code reviews. How a test-first workflow with 6 parallel Claude Code sessions turns a 2M-line C++ codebase into a daily shipping pipeline.

Top 10 Context Engineering Techniques You Should Know for Production RAG
A practical guide to context engineering for production LLM systems, covering RAG, context processing, memory, agents, and multimodal context.


