Teil 1 · Warum ich ein Local-First RAG gebaut habe
Alle Abkürzungen werden vollständig im Anhang am Ende der Seite erklärt.
Ich habe die letzten paar Jahre vor virtuellen Klassen voller Quereinsteiger in Deutschland verbracht und ihnen die Grundlagen des Programmierens, der Webentwicklung und Einführungskurse in KI nähergebracht. Ein Großteil der Informationen, mit denen wir zu tun haben, kann man problemlos in Cloud-basierte KI-Tools kopieren. Einiges davon aber definitiv nicht.
Prüfungsmaterialien, die der Geheimhaltung unterliegen. Das Portfolio eines Trainees mit persönlichen Details. Andere private Dokumente, die niemals das Modell von jemand anderem trainieren sollten.
Also habe ich Gemma CogniVault gebaut — ein komplett lokales KI-Lern- und Produktivitäts-Tool. Keine Cloud. Keine Telemetrie. Kein “Wir könnten diese Daten verwenden, um unseren Service zu verbessern”. Einfach nur Gemma 4, das auf Ollama auf meinem Laptop läuft und mit meinen Dateien spricht.
Die undichte Abstraktion
Der Pitch für Cloud-KIs ist großartig: ein riesiges Modell, sofort verfügbar, abgerechnet nach Token. Das Kleingedruckte ist der Teil, an dem es unbequem wird:
- Wo genau liegen die Daten physisch während der Inferenz?
- Welcher Gerichtsbarkeit unterliegt diese Hardware heute Nachmittag?
- Endet der Audit Trail an der API-Grenze, oder kannst du wirklich nachverfolgen, was mit deinen Bytes passiert ist?
- Wenn du das Häkchen bei “Nicht mit meinen Daten trainieren” setzt, vertraust du dann auf ein technisches Kontrollsystem, einen Vertrag oder beides?
Für die meisten Consumer-Use-Cases kann man diese Fragen getrost wegwinken. Für Bildung, Gesundheitswesen, Finanzen, Recht, öffentliche Verwaltung ist die Antwort “Vertrau uns” einfach keine Antwort.
Was “Local-First” hier tatsächlich bedeutet
Viele Produkte nennen sich “privat”. Ich wollte drei handfeste Eigenschaften:
- Das Modell lebt auf deiner Maschine. Gemma 4 (
gemma4:e4b) undembeddinggemmawerden via Ollama gezogen. Die Inferenz ist ein lokaler HTTP-Aufruf auf localhost. - Deine Dokumente verlassen deinen Rechner niemals. Vektoren, Chunks, Chat-Historie, Lernsessions, Achievements — alles bleibt auf der Festplatte deines Computers.
- Du kannst es überprüfen. Gemma CogniVault bringt ein Privacy Audit Panel mit, das live einen “Null externe Verbindungen”-Indikator neben der Dokumentenanzahl und dem Ollama-Host anzeigt. Das ist kein Versprechen — das ist ein Statuslämpchen.
Wenn ein zukünftiger Build von Gemma CogniVault jemals einen ausgehenden Anruf nach Hause machen würde, würde dieses Panel als erstes Alarm schlagen.
Was du dafür bekommst
Auf lokal zu wechseln klingt nach einem Kompromiss — verliert man nicht die Magie der gigantischen Frontier-Modelle? In der Praxis hast du mit Gemma 4 mehr als genug:
- Thinking-Modus — Die Chain-of-Thought von Gemma 4 streamt in ein ausklappbares Panel, bevor die Antwort kommt. Dem Modell beim Nachdenken über deine Dokumente zuzusehen, ist ein wirklich nützliches Lehrmittel.
- Tool-Nutzung — Über das Strands Agents SDK entscheidet das Modell, wann es die Knowledge Base durchsuchen, ein Dokument zusammenfassen, zwei Dateien vergleichen oder die Uhrzeit checken soll.
- Vision — Hänge Bilder und PDFs direkt in den Chat an.
- Generierung, die wirklich strukturiert ist — Quizzes, Multi-Lektionen-Workshops, Karteikarten-Decks und interaktive Mindmaps, die mit
format="json"generiert werden, sodass der Output zuverlässig geparst werden kann.
Cognivault versucht nicht, ein riesiges Ökosystem zu sein. Es ist ein Single-Purpose-Tool, das eine Sache richtig gut macht: deine eigenen Dokumente mit einem fähigen lokalen Modell in einer privaten Umgebung nutzen. Ich muss zugeben, dass es stark von NotebookLM inspiriert wurde, was ich unglaublich nützlich, aber für meine Zwecke einfach nicht privat genug fand.
Der Aufbau der App
CogniVault ist in vier Bereiche unterteilt, die abbilden, wie ich tatsächlich mit Informationen auf Cloud-basierten KI-Tools arbeite:
| Bereich | Wofür es da ist |
|---|---|
| Chat | Frag alles über deine Dokumente. Zitierte Antworten, Scope-Filter, Spracheingabe. |
| Knowledge Base | Hochladen, kategorisieren, verwalten. SHA-256 erkennt Bearbeitungen beim erneuten Upload. |
| Study Hub | Quiz · Workshop · Flashcards · Mindmaps — vier Wege, tiefer in die Quelle einzusteigen. |
| Dashboard | Gesamte Lernzeit, Streak, 25 Badges, GitHub-Style 90-Tage-Heatmap. |
Alles ist über eine Sidebar erreichbar, die sich merkt, wo du aufgehört hast, auf einem Tech-Stack, der in deinen ~/Documents-Ordner passt.
Was als Nächstes kommt
Das hier ist der Start einer kurzen Serie. In den nächsten Posts werde ich genauer auf die Teile eingehen, auf die ich am stolzesten bin — und ein paar, die ich beim nächsten Mal anders bauen würde:
- Hybrides Retrieval — Warum FAISS und BM25, zusammengeführt mit Reciprocal Rank Fusion
- Zwei-Phasen-Streaming mit Gemma 4 und Strands Agents
- Crash-resistente Ingestion mit DBOS, Hash-bewusster Re-Ingest, OCR-Fallback
- Zuverlässiges JSON aus einem lokalen LLM bekommen (und was man tut, wenn es fehlschlägt)
- Der Mindmap-Renderer — Was ich beim handgeschriebenen SVG gelernt habe und warum v2 React Flow nutzt
- Lernen gamifizieren — 25 Badges, Idle-Gap-Sessions, 90-Tage-Heatmap
- Eine lokale KI-App testen mit über 350 Tests und komplett ohne Infrastruktur
Wenn du schon mal reinschauen willst, der Code ist Open Source auf github.com/ndimoforaretas/local-gemma-rag, und es gibt einen Demo-Walkthrough auf YouTube.
Deine Daten. Deine Hardware. Deine KI. Dein Vault.
Anhang: Abkürzungen in diesem Post
| Abkürzung | Volle Form | Bedeutung |
|---|---|---|
| RAG | Retrieval-Augmented Generation | Relevante Passagen aus deinen Dokumenten abrufen; das Modell antwortet basierend darauf statt aus dem Trainingsgedächtnis |
| AI | Artificial Intelligence | Software, die Aufgaben ausführt, für die normalerweise menschliche Intelligenz erforderlich ist |
| LLM | Large Language Model | Ein neuronales Netz, das mit riesigen Mengen an Text trainiert wurde und Sprache lesen sowie generieren kann |
| HTTP | HyperText Transfer Protocol | Das Protokoll, das Browser und APIs nutzen, um Requests und Responses auszutauschen |
| API | Application Programming Interface | Die Grenze, an der du Software von jemand anderem aufrufst — und an der Cloud-Audit-Trails enden |
| IHK | Industrie- und Handelskammer | Die Institution, die in Deutschland unter anderem die Ausbildereignungsprüfung durchführt |
| AEVO | Ausbildereignungsverordnung | Das Prüfungsmaterial in Deutschland, das den Anstoß für dieses Projekt gab |
| FAISS | Facebook AI Similarity Search | Metas Vektorsuch-Bibliothek (Thema im nächsten Post) |
| BM25 | Best Match 25 | Eine klassische Keyword-Ranking-Formel (ebenfalls im nächsten Post) |
| SDK | Software Development Kit | Eine Sammlung von Bausteinen — hier Strands, das die Agenten-Loop bereitstellt |
| JSON | JavaScript Object Notation | Das universelle Textformat für strukturierte Daten |
| Portable Document Format | Eines der über acht Dateiformate, die CogniVault verarbeitet | |
| SHA-256 | Secure Hash Algorithm, 256-bit | Ein inhaltlicher Fingerabdruck, um bearbeitete Dateien beim erneuten Upload zu erkennen |
| OCR | Optical Character Recognition | Bilder von Text (Scans) in maschinenlesbaren Text verwandeln |
| DBOS | Database-Oriented Operating System | Die Bibliothek für durable Workflows, die hinter der crash-resistenten Ingestion steckt |
| SVG | Scalable Vector Graphics | Das im Browser eingebaute Format fürs Vektorzeichnen |

Ähnliches
- Gemma CogniVault
- Teil 5 · Zuverlässiges JSON aus einem lokalen LLM bekommen
- Teil 3 · Zwei-Phasen-Streaming: Zeigen, wie das Modell denkt, bevor es handelt
- Teil 2 · Hybrid Retrieval in der Praxis: FAISS + BM25, verschmolzen mit RRF
- Teil 4 · Crash-Resumable Ingestion: DBOS, SHA-256 und wie man ein kill -9 überlebt