DocRetrieval: Deine lokale, private Wissensdatenbank
Im Zeitalter der Large Language Models (LLMs) ist die Fähigkeit, mit den eigenen Daten zu "chatten", der heilige Gral. Die meisten Lösungen erfordern jedoch das Hochladen sensibler Verträge, Forschungsarbeiten oder persönlicher Tagebücher in die Cloud. DocRetrieval ändert das Spiel.
Es ist ein robustes, lokales RAG-System (Retrieval-Augmented Generation), das vollständig auf deiner Hardware läuft. Durch die Nutzung der Leistungsfähigkeit von Ollama, LlamaIndex und ChromaDB verwandelt es deinen statischen Dokumentenordner in eine intelligente, abfragbare Wissensdatenbank – ohne dass ein einziges Byte deinen Rechner verlässt.
Warum DocRetrieval?
1. Tiefes PDF-Verständnis mit Marker
Die meisten RAG-Systeme haben Probleme mit komplexen PDFs (Spalten, Tabellen, mathematische Gleichungen). DocRetrieval integriert marker-pdf, eine Deep-Learning-Pipeline, die OCR durchführt und PDFs in sauberes, strukturiertes Markdown umwandelt. Dies stellt sicher, dass dein LLM den Inhalt tatsächlich "liest" und nicht nur ein wirres Durcheinander von Text sieht.
2. Absolute Privatsphäre & Kontrolle
Deine Daten gehören dir. DocRetrieval verwendet lokale Embeddings (via HuggingFace-Modelle wie BAAI/bge-large-en-v1.5) und lokale Inferenz (via Ollama). Egal, ob du eine Anwaltskanzlei bist, die Verträge bearbeitet, oder ein Entwickler, der technische Dokumente organisiert, du kannst sicher sein, dass keine Drittanbieter-API mit deinen Geheimnissen trainiert wird.
3. GPU-Beschleunigte Leistung
Das System wurde mit Blick auf Leistung entwickelt und ist für NVIDIA-GPUs optimiert. Von der rechenintensiven OCR während der Aufnahme bis zur schnellen Vektorähnlichkeitssuche mit ChromaDB nutzt jeder Schritt, wo möglich, CUDA-Beschleunigung, was es selbst bei großen Datensätzen schnell macht.
Unter der Haube: Der Tech-Stack
Für die Entwickler da draußen: DocRetrieval basiert auf einem modernen Python-Stack, der auf Erweiterbarkeit ausgelegt ist:
- LlamaIndex: Das Orchestrierungs-Framework, das den Datenfluss zwischen Dateien, Embeddings und dem LLM verwaltet.
- ChromaDB: Eine leistungsstarke Open-Source-Vektordatenbank, die deine Dokument-Embeddings für die semantische Suche speichert.
- Rich: Bietet ein schönes, informatives CLI-Erlebnis mit Fortschrittsbalken, Spinnern und formatierter Ausgabe.
- Gradio: Treibt die benutzerfreundliche Weboberfläche für diejenigen an, die einen Browser dem Terminal vorziehen.
Wie man DocRetrieval benutzt
Der Einstieg ist so einfach wie das Klonen des Repos und das Einrichten deiner Umgebung. Hier ist ein typischer Workflow:
Schritt 1: Daten aufnehmen
Richte die CLI auf deinen Dokumentenordner. Das System findet rekursiv PDFs, Textdateien und Markdown-Dokumente, verarbeitet sie und baut den Vektorindex auf.
Beobachte, wie `rich` den Echtzeitfortschritt des OCR- und Chunking-Prozesses anzeigt.
Schritt 2: Fragen stellen
Sobald indexiert, kannst du deine Wissensdatenbank sofort über die Befehlszeile abfragen:
Schritt 3: Interaktiver Chat & Web UI
Für ein eher gesprächiges Erlebnis starte den interaktiven Modus oder den Gradio-Webserver:
$ doc-retrieval interactive
# Web-Oberfläche
$ doc-retrieval gradio
marker-pdf-Bibliothek, um Deep-Learning-basierte OCR durchzuführen. Im Gegensatz zu herkömmlichen Extraktionstools, die einfach Text ziehen, analysiert Marker das Layout, um Tabellen in gültiges Markdown-Format zu rekonstruieren, bevor sie eingebettet werden. Dies stellt sicher, dass das LLM die strukturelle Beziehung zwischen Zeilen und Spalten verstehen kann.
1. src/doc_retrieval/ingestion/processor.py (Score: 0.892)
2. README.md (Score: 0.815)
Fazit: DocRetrieval schlägt die Brücke zwischen deinen privaten Daten und moderner KI. Es ist Open-Source, leistungsstark und respektiert deine Privatsphäre.
Sieh dir den Code an, trage bei oder markiere das Projekt auf GitHub:
Auf GitHub ansehen