Sprachmodell und Dokumentensuche auf einem Raspberry Pi
Fragen zu Firmendokumenten beantwortet ein Raspberry Pi im eigenen Netz, und kein Abschnitt erreicht jemanden, der ihn nicht lesen darf.
TippelPi ist ein Raspberry Pi 5 mit 16 GB. Er beantwortet Fragen zu Firmendokumenten, ohne dass ein Byte das Haus verlässt. Auf dem Gerät laufen das Sprachmodell Qwen3, die Einbettung und der Index; ein Browser im lokalen Netz genügt als Oberfläche. Dieselbe Anwendung läuft unverändert auf einem GPU-Server und erkennt selbst, welches Modell-Backend erreichbar ist.
Die Suche verbindet Vektorähnlichkeit mit Volltextsuche und trägt die Zugriffsrechte bis auf den einzelnen Textabschnitt: Ein Unterordner der Dokumentenablage wird zur Gruppe, und wer ihr nicht angehört, bekommt deren Abschnitte nie als Fundstelle. Die Aufnahme zeigt die Oberfläche im Browser mit zwei Fragen an zwei erfundene Testdokumente: eine aus der Instandhaltung an das Störungshandbuch einer Presse, eine aus einer Brauerei an das Sudprotokoll ihres Hellen. Jede Antwort nennt den Wert aus dem Dokument, und ein Klick auf die Quelle öffnet die zitierte Stelle. Der Lauf stammt vom 10. Oktober 2026 und lief mit Qwen3-8B auf einem Notebook, nicht auf dem Pi. Die Dokumentenablage bindet die Anwendung nur lesend an, und jeder Zugriff steht im Audit-Log.
- Tests204, alle bestanden
- Antworten82 % korrekt, 90 % vollständig belegt · 127 Fragen
- GerätRaspberry Pi 5 · 16 GB
- ModellQwen3-8B · Ollama oder vLLM
- Suchemultilingual-e5-small · ChromaDB + SQLite FTS5
- Testkorpus51 öffentliche Dokumente · 3.446 Abschnitte
- Stand10. Oktober 2026
Die Antwortqualität ist mit Qwen3-8B auf einem GPU-Server gemessen, nicht auf dem Pi, und 18 % der Antworten waren nicht vollständig korrekt. Antwortzeiten auf dem Pi sind noch nicht gemessen. Das erste Einbetten läuft dort mit rund 6,4 Abschnitten pro Sekunde, sodass 10.000 Dokumente einmalig etwa vier Stunden brauchen.
$ python -m pytest tests/ -q 204 passed, 2 warnings in 14.52s
| Anfragen | 1.200 — der gesperrte Abschnitt selbst als Frage |
|---|---|
| Gruppenpaare | 6 — drei Gruppen, je 200 Abschnitte, gefragt von den beiden anderen |
| Durchgesickerte Abschnitte | 0 |
| Gegenprobe ohne Filter | 600 von 600 — das Quelldokument wird gefunden |
Geprüft sind beide Suchkanäle, Vektor und Volltext. Der Test deckt den Abruf ab, nicht die Antwort des Modells.
- OberflächeBrowser im lokalen Netz, Antworten als Stream mit Fundstellen
- AnwendungFastAPI: Anmeldung, Rollen, Gruppen, Audit-Log, Sicherung
- SucheEinbettung auf dem Gerät, Vektorindex und Volltext, nach Rang verschmolzen
- ModellQwen3 über Ollama auf dem Pi oder über vLLM auf einer GPU
- QuellenOrdner, SMB-Freigabe oder WebDAV, nur lesend
Weitere Projekte