Flamehaven FileSearch — selbst hostbare Open-Source-RAG-Dokumentensuchmaschine
(github.com/flamehaven01)🔥Flamehaven FileSearch
- Flamehaven FileSearch ist eine selbst hostbare Open-Source-Semantik-Suchmaschine, mit der jeder in nur 5 Minuten ein dokumentbasiertes RAG-System (Retrieval-Augmented Generation) aufsetzen kann.
- Sie basiert auf Python, FastAPI und SQLite und nutzt Google Gemini Embedding, um Frage-Antwort-Abfragen in natürlicher Sprache über verschiedene Dokumenttypen wie PDF/DOCX/TXT/MD auszuführen.
Warum wurde es entwickelt?
- Die meisten Open-Source-RAG-Implementierungen laufen in Colab- oder Jupyter-Umgebungen gut, sind aber für den produktiven Betrieb auf einem echten Server oft zu komplex aufgebaut oder nicht stabil genug.
- Flamehaven FileSearch wurde mit dem Ziel eines „leichtgewichtigen RAG-Stacks, der in der Praxis wirklich funktioniert“ entwickelt, damit Forschende, Startups und einzelne Entwickler sofort Semantik-Suche mit ihren eigenen Daten ausprobieren können.
Warum ist es bemerkenswert?
- Vollständige Autonomie: Keine Abhängigkeit von externen Servern oder der Cloud, alle Daten werden lokal gespeichert.
- Entwicklerzentrierte Struktur: Python SDK + REST API, automatische Bereitstellung von Swagger-Dokumentation auf FastAPI-Basis.
- Verteilung als PyPI-Paket: Direkt installierbar über PyPI — vollständige automatische Installation mit nur einer Zeile:
pip install flamehaven-filesearch[api]. - Sofort einsatzbereit: Nach der Installation kann der Server direkt mit dem Befehl
flamehaven-apigestartet werden, API-Tests sind im Browser über/docsmöglich. - Erweiterbarkeit: SQLite-Storage, Plugin-Architektur, Unterstützung für Docker-Deployment.
- Geeignet für Bildung und Forschung: Nutzt Gemini-Embeddings und ist ideal für praktische Übungen zur modernen, LLM-basierten Semantik-Suche.
Was ist enthalten? (Highlights)
-
Python SDK:
from flamehaven_filesearch import FlamehavenFileSearch→ Bietet vollständige Funktionen für Dokument-Upload / Suche / Store-Verwaltung.
-
REST API: Endpunkte
/upload,/search,/stores+ Swagger UI. -
Docker-Unterstützung:
docker run -e GEMINI_API_KEY=... -p 8000:8000 flamehaven/filesearch:latest -
Struktur:
core(Engine)/api(FastAPI)/data(SQLite)/examples/docs
Schnell ausprobieren
1️⃣ PyPI-Paket
Flamehaven FileSearch kann direkt über PyPI installiert werden.
Neueste Version prüfen: https://pypi.org/project/flamehaven-filesearch
pip install flamehaven-filesearch[api]
2️⃣ Installation
pip install flamehaven-filesearch[api]
export GEMINI_API_KEY="your-google-gemini-key"
flamehaven-api
3️⃣ Dokument hochladen & suchen
curl -X POST "http://localhost:8000/upload" -F "file=@handbook.pdf"
curl "http://localhost:8000/search?q=vacation+policy"
4️⃣ Beispiel für die SDK-Nutzung
from flamehaven_filesearch import FlamehavenFileSearch
fs = FlamehavenFileSearch()
fs.upload_file("handbook.pdf")
print(fs.search("vacation policy")["answer"])
Leistung & Spezifikationen
- Umgebung: Ubuntu 22.04 / 2vCPU / 4GB RAM / SSD
- Upload einer 10MB-PDF → ca. 5 Sekunden
- Durchschnittliche Suchantwort → 2 Sekunden (bei Zitierung von 5 Quellen)
- Löschen/Erstellen von Stores → innerhalb von 1 Sekunde
- Storage-Overhead → etwa 5 % der Dokumentgröße
Roadmap
- v1.1 : Caching und Quotenverwaltung
- v1.2 : Batch-Suche + WebSocket-Streaming
- v2.0 : Unterstützung für mehrsprachige Dokumente, Analyse-Dashboard
- Zukünftig : Integration von Pinecone/Weaviate-Vektor-DBs, OCR, kollaborative Stores
Lizenz
- MIT License (vollständig Open Source)
🛡️ Bekanntmachung zu Sicherheit und Konto von Flamehaven auf GitHub
Vor Kurzem wurden auf dem GitHub-Konto von Flamehaven (diesem Konto) verdächtige Anmeldeversuche festgestellt, wodurch das Konto derzeit gesperrt ist. Aktuell wird der Vorfall gemeinsam mit dem GitHub-Sicherheitsteam überprüft.
Infolge dieses Vorfalls werden die Konten mit dir2md, flashrecord, crom-efficient und Arr-medic-cyp3a4 vorerst nicht genutzt.
Wir entschuldigen uns aufrichtig für die Unannehmlichkeiten und bitten um etwas Verständnis, bis die Sicherheitsprüfung abgeschlossen ist.
4 Kommentare
Update: v1.2.2 veröffentlicht
Seit dem ursprünglichen Beitrag wurde das Projekt bis heute auf v1.2.2 aktualisiert.
Kurz die Änderungen im Überblick:
Tests/Stabilität verbessert
Verschlüsselungsdienst: Encrypt/Decrypt-Roundtrip auf Basis des env-Schlüssels + Tests für den Pfad mit ungültigem Token
Batch-Suche: parallele Prioritätswarteschlange, nicht initialisierter Dienst → 503, getrennte Ausnahmebehandlung pro Query
Redis-Cache: get/set/delete/clear + Test der Verfügbarkeit mit einem In-Memory-Fake-Client
cache_redis.py, das bisher in der Coverage fehlte, wurde in die Coverage-Ziele aufgenommenService-Readiness
Beim ersten Start des Servers werden automatisch ein Standard-Store und ein kleines Fallback-Dokument erzeugt
Auch ohne Uploads liefern
/searchund/healthsofort eine 200-Antwort→ direkt nutzbar für Demo-/CI-Health-Checks/Agent-Boot
Betriebliche Aufräumarbeiten
Versionsstring, Log-Metadaten, Prometheus-Labels und OpenAPI-Titel wurden auf v1.2.2 vereinheitlicht
Redis bleibt weiterhin optional; falls es nicht vorhanden ist, erfolgt nahtlos ein Fallback auf einen In-Process-LRU-Cache
Ohne Breaking Changes; bestehende Nutzer können einfach wie gehabt upgraden.
Ich arbeite das Projekt schrittweise in Richtung „direkt produktiv einsetzbar“ weiter aus.
🚀 Release von Flamehaven Filesearch v1.2.1!
Wir veröffentlichen die neueste Version v1.2.1 von Flamehaven Filesearch, die seit dem letzten Update kontinuierlich verbessert wurde. Dieses Release konzentriert sich auf mehr Sicherheit, den Ausbau von Verwaltungstools und Verbesserungen bei der Bedienbarkeit im Betrieb.
🔐 Wichtige Updates
🔺Admin Cache Controls hinzugefügt
Cache-Status kann über die Pfade
/api/admin/cache/statsund/api/admin/cache/flushabgefragt bzw. geleert werden (nur für Admins)🔺API-Key-Berechtigungen verstärkt
Schlüssel ohne Admin-Berechtigung geben bei der Nutzung von Admin-Funktionen
403zurückNeue API-Keys enthalten standardmäßig Admin-Berechtigungen
🔺IAMProvider Hook eingeführt
Architektur für die künftige Integration von OIDC/IAM-Backends vorbereitet
🔺Metrics erweitert
Cache,
health_statusund ein Prometheus-Platzhalter wurden hinzugefügt, um den Nutzen für Dashboards zu erhöhen🔺Frontend-Updates
Die Seiten für Cache und Metrics wurden mit dem Backend verbunden
Auf den Seiten Upload und Admin wurde die Eingabefunktion für Token angebunden
Neue Landing- und Dashboard-Seiten überarbeitet
🔺Tests verstärkt
Mit
test_admin_cache.pywurden Admin-API-Tests für Cache-bezogene Funktionen eingeführt🔺Dokumentation aktualisiert
README-Version aktualisiert und sicherheitsrelevante Hinweise inklusive der Umgebungsvariable
FLAMEHAVEN_ENC_KEYergänzt🐛 Fixed
Zugriff wird blockiert (
403), wenn Admin-Funktionen ohne Admin-Berechtigung angefordert werden🔗 GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch
Mit dieser Version wurde zugleich die Grundlage für die geplante IAM-Integration und den weiteren Ausbau des Dashboards geschaffen.
Ich habe gestern Flamehaven FileSearch v1.2.0 veröffentlicht. Diese Version konzentriert sich darauf, den gesamten Service von einer „öffentlichen API“ zu einer Enterprise-Plattform mit Fokus auf Sicherheit und Skalierbarkeit weiterzuentwickeln.
Die wichtigsten Änderungen sind wie folgt:
API-Authentifizierungs- und Berechtigungssystem hinzugefügt
Alle geschützten Endpunkte erfordern Bearer-Token-Authentifizierung.
API-Keys unterstützen fein granularisierte Berechtigungen wie Upload/Suche/Store/Löschen und umfassen ein Rate Limit pro Schlüssel, Audit-Logs sowie die Speicherung als SHA256-Hash (der ursprüngliche Schlüssel wird nicht gespeichert).
Admin-Dashboard hinzugefügt
Eine Web-UI, in der sich API-Keys erstellen, anzeigen und widerrufen sowie Anfragestatistiken und die Verteilung der Endpunktnutzung einsehen lassen.
Vollständig selbst enthalten in HTML/CSS/JS und ohne externe Abhängigkeiten.
Batch-Search-API
Verarbeitet 1–100 Abfragen in einer Anfrage.
Bietet parallele/serielle Ausführungsmodi, prioritätsbasierte Sortierung, Fehlerisolierung pro Abfrage und detaillierte Timing-Metriken.
Redis-Cache-Backend
Eine verteilte Cache-Option für Multi-Worker-Umgebungen.
<10 ms Lookup-Latenz, automatisches LRU-Fallback und eine Reduzierung der LLM-Aufrufe um 40–60 %.
Deployment-Templates bereitgestellt (Docker/Kubernetes)
Enthält Beispiele für Docker, Docker Compose und Kubernetes (ConfigMap/Secret/Deployment), sodass sofort deployt werden kann.
Leistungsübersicht:
Cache-Hit: <10 ms
Cache-Miss (LLM-Aufruf): ~0,5–3 s
Batch Search (10): ~2–5 s
GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch
Feedback zu Sicherheitsdesign, API-Benutzbarkeit oder Deployment-Struktur ist willkommen.
Auch v1.2.1 (verbesserte Admin-Authentifizierung, Redis-Konfigurations-UI) und v1.3.0 (Key-Rotation + OAuth2/OIDC) sind in Vorbereitung.
Heute wurde v1.1.0 veröffentlicht.
Diese Version enthält vor allem einen Patch für eine Path-Traversal-Schwachstelle, Sicherheitsupdates für FastAPI/Starlette, Request-ID-Tracing, Rate Limiting, Caching (<10ms hit) sowie zusätzliche Prometheus-Metriken. Sie läuft deutlich stabiler als die vorherige Version.
Auch dieses Update bleibt auf eine leichtgewichtige, selbst hostbare Architektur fokussiert. Vielen Dank.