Was macht local-rag-server?
Stelle ein lokales, multi-user-fähiges RAG-System bereit, um PDF- und DOCX-Dokumente mit einem lokalen LLM ohne Cloud- oder API-Abhängigkeiten abzufragen.
Übersicht
Dokumente werden automatisch indexiert und via eines lokalen Large Language Models (LLM) durchsucht. Die Abfragen erfolgen über eine REST-API oder eine Web-UI.
Funktionsweise
- Lokale Ausführung: Alle Komponenten laufen auf deinem Rechner oder lokalen Server.
- Multi-User-Support: Mehrere Benutzer können gleichzeitig Dokumente hochladen und Abfragen stellen.
- Dokumentenformate: Unterstützt PDF und DOCX.
- Suchmethode: Retrieval-Augmented Generation (RAG) mittels eingebetteter Modelle (Embedding-Modelle) und einem lokalen LLM.
Plattformen
- CPU: Läuft auch ohne dedizierte GPU, aber langsamer.
- GPU: Beschleunigt die Verarbeitung (z. B. NVIDIA CUDA).
Installation
- Klone das Repository:
git clone https://github.com/umiii100/local-rag-server.git cd local-rag-server - Installiere die Abhängigkeiten:
pip install -r requirements.txt - Starte den Server:
python app.py
Konfiguration
Die Konfiguration erfolgt über Umgebungsvariablen:
MODEL_PATH: Pfad zum lokalen LLM-Modell.EMBEDDING_MODEL: Name des Embedding-Modells (Standard:all-MiniLM-L6-v2).PORT: Port für die REST-API (Standard:5000).
Nutzung
- Dokument hochladen:
POST /uploadmitfile(PDF oder DOCX). - Abfrage stellen:
POST /querymit JSON{"query": "Deine Frage"}. - Antwort erhalten: Die API gibt eine Antwort im JSON-Format zurück.
Beispiel
import requests
# Dokument hochladen
files = {'file': open('dokument.pdf', 'rb')}
r = requests.post('http://localhost:5000/upload', files=files)
print(r.json())
# Abfrage stellen
query = {'query': 'Was steht auf Seite 3?'}
r = requests.post('http://localhost:5000/query', json=query)
print(r.json())
Lizenz
MIT (siehe LICENSE).