Einsteiger 11 Min.Konzepte

Lokales RAG: introduction

Direkte Antwort

Ein lokales RAG (retrieval-augmented generation) ermöglicht es, Ihre eigenen Dokumente mit einem Modell abzufragen, das auf Ihrem Rechner läuft: Ihre Dateien werden in Abschnitte aufgeteilt und von einem Embedding-Modell in Vektoren umgewandelt. Anschließend werden bei jeder Frage nur die ähnlichsten Passagen zum Prompt des Modells hinzugefügt. Nichts muss den Computer verlassen, weder für die Indexierung noch für die Antwort.

Diese Einführung erklärt, wie ein lokales RAG funktioniert, welcher minimale Technologie-Stack für den Aufbau mit Ollama nötig ist, welche Optionen ohne Programmierung es gibt, und zeigt ein Python-Beispiel mit LlamaIndex. Vor allem behandelt sie die Punkte, an denen die meisten ersten Versuche scheitern: Textaufteilung, Sprache, Suche und PDF. Sie erläutert auch, wann ein RAG nicht die richtige Lösung ist.

Von Mohamed Meguedmi·Aktualisierung 2026-09-29·Unter Windows, macOS und Linux getestet

#Lokales RAG: die Definition und Ihre Erwartungen daran

RAG bedeutet Retrieval-Augmented Generation: Zunächst werden relevante Passagen aus einer Dokumentensammlung abgerufen. Anschließend wird das Modell gebeten, auf dieser Grundlage eine Antwort zu verfassen. Das Wort „lokal“ bedeutet, dass jeder Schritt (Lesen der Dokumente, Berechnung der Embeddings, Speicherung, Generierung) auf Ihrer Hardware ausgeführt wird. Das ist der nützlichste Einsatz eines privaten Modells: Fragen zu Verträgen, Notizen oder einer internen Wissensdatenbank, mit Antworten, die ihre Quellen angeben.

Was macht jeder Bestandteil eines lokalen RAG?
KomponenteRolleBeispiele
DokumentenleserExtrahieren des reinen Textes aus PDF, Word, Markdown, HTMLReader von LlamaIndex, Docling
Textzerleger (Chunker)Den Text in Abschnitte geeigneter Größe aufteilenAufteilung nach Tokens oder Struktur
Embedding-ModellJeden Abschnitt in einen Vektor umwandelnembeddinggemma, qwen3-embedding, all-minilm (empfohlen von Ollama)
VektordatenbankVektoren speichern und die nächstgelegenen suchenChromaDB, Qdrant, FAISS, pgvector
GenerierungsmodellDie Antwort anhand der Textpassagen formulierenModell bereitgestellt durch Ollama oder LM Studio

#Warum RAG anstatt alles direkt an das Modell zu senden?

Das RAG-Local-Kit

Ihre Dokumente, Ihre KI: ein zuverlässiges lokales RAG für Ihre PDFs, Notizen und E-Mails – ohne Daten in die Cloud zu senden.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Erstattung binnen 30 Tagen

Erste Idee: alle eigenen Dokumente in den Prompt kopieren. Dem stehen zwei Grenzen entgegen. Das Kontextfenster ist begrenzt: 300 PDFs entsprechen Millionen von Tokens, weit mehr, als ein lokales Modell akzeptiert. Und selbst wenn ein Dokument hineinpasst, sinkt die Qualität: Eine maßgebliche Studie (Liu et al., Stanford) zeigt, dass die Leistung deutlich abfallen kann, wenn die relevanten Informationen in der Mitte eines langen Kontexts stehen – selbst bei Modellen, die für lange Kontexte ausgelegt sind. Dieses Phänomen heißt lost in the middle.

RAG umgeht diese beiden Probleme, indem dem Modell nur einige für die Frage ausgewählte Passagen übermittelt werden. Das Modell liest einige hundert gezielt ausgewählte Tokens statt Zehntausender wenig hilfreicher Tokens, wodurch Rechenaufwand und Latenz sinken. Die Kunst liegt darin, die richtigen Informationen abzurufen.

Zur Größenordnung eine Beispielrechnung: 300 PDFs mit jeweils 20 Seiten und etwa 600 Tokens pro Seite ergeben 3,6 Millionen Tokens, also das Hundertfache eines Kontextfensters von 8.000 Tokens, wie es häufig bei lokalen Modellen eingestellt wird, und mehr. In Abschnitte von 400 Tokens aufgeteilt, ergeben sie etwa 9.000 Abschnitte. Für eine Frage werden fünf davon ausgewählt, also 2.000 Tokens: Das Modell liest 0,06 % des Korpus, aber die richtigen 0,06 %, wenn die Suche erfolgreich ist.

i
Ein RAG ist nicht immer notwendig
LM Studio veranschaulicht diese Entscheidung in seiner Dokumentation gut: Wenn das Dokument kurz genug ist, um in den Kontext des Modells zu passen, fügt LM Studio es vollständig dem Gespräch hinzu. Erst wenn das Dokument sehr lang ist, greift LM Studio auf RAG zurück. Diese Logik ist eine gute Grundregel für den Einstieg.

#Das Konzept in zwei Minuten: Embeddings und Abstand

Ein Embedding ist eine Liste von Zahlen, die die Bedeutung eines Textes darstellt. Zwei Texte, die von derselben Sache handeln, haben nahe beieinanderliegende Vektoren, selbst wenn sie nicht dieselben Wörter verwenden. Die Dokumentation von Ollama beschreibt Embeddings als numerische Vektoren, die man in einer Vektordatenbank speichern, anhand der Kosinusähnlichkeit durchsuchen oder in einem RAG verwenden kann. Ihre Länge hängt vom Modell ab und liegt typischerweise zwischen 384 und 1024 Dimensionen.

Eine Frage wird vom selben Modell in einen Vektor umgewandelt und anschließend mit allen indexierten Textpassagen verglichen: Die nächstgelegenen werden zurückgegeben. Ein häufiger Stolperstein für Anfänger: Das für den Index verwendete Embedding-Modell und das für die Fragen verwendete Modell müssen identisch sein. Die Dokumentation von LlamaIndex erinnert in ihrem Beispiel zum erneuten Laden eines Index daran: Es ist wichtig, dasselbe embed_model zu verwenden, mit dem der Index erstellt wurde.

#Anatomie eines RAG: zwei Phasen

#Phase 1: die Indexierung, einmal pro Dokument durchgeführt

  1. 01
    Import
    Die Dateien (PDF, Word, Markdown, HTML) lesen und daraus bereinigten Text extrahieren. Das ist der am meisten unterschätzte Schritt.
  2. 02
    Aufteilung
    In kleine Abschnitte teilen, die klein genug sind, um präzise zu sein, aber groß genug, um den Sinn zu erhalten. Abschnitte mit 200 bis 500 Tokens sind ein häufiger Ausgangspunkt.
  3. 03
    Embedding
    Jede Textpassage mit dem Embedding-Modell verarbeiten, beispielsweise mit dem Befehl ollama run embeddinggemma oder der API /api/embed.
  4. 04
    Speicher
    Vektoren mit dem ursprünglichen Text und Metadaten (Dateiname, Seite, Datum) speichern.

#Phase 2: die Anfrage, bei jeder Frage

  1. 01
    Frage-Embedding
    Mit dem gleichen Modell wie für die Indexierung.
  2. 02
    Suche
    Die N Textpassagen finden, deren Vektoren am nächsten liegen, gemessen anhand der Kosinusähnlichkeit.
  3. 03
    Zusammenstellung des Prompts
    Eine Nachricht erstellen, die die Auszüge und die Anweisung enthält, unter Angabe der Quellen zu antworten und darauf hinzuweisen, wenn die Antwort nicht in den Auszügen enthalten ist.
  4. 04
    Generierung
    Den Prompt an das lokale Modell senden, das die Antwort erstellt.

#Der minimale Stack und die Optionen ohne Code

Für ein funktionierendes lokales RAG-System reichen vier Bausteine aus: ein von Ollama bereitgestelltes Generierungsmodell, ein Embedding-Modell, eine Vektordatenbank und eine Schicht, die sie verbindet. Wählen Sie für Französisch ein mehrsprachiges Embedding-Modell; die Ollama-Seite empfiehlt drei (embeddinggemma, qwen3-embedding, all-minilm). Die Vektorgrößen bleiben überschaubar, sodass sich diese Modelle auf einem Laptop ausführen lassen.

Den gewünschten Aufwand wählen
WegAufwandKontrolleEignet sich für
LM Studio, Chat with Documents.pdf-, .docx- oder .txt-Dateien in eine Unterhaltung ziehenGering: automatischer Wechsel zwischen dem gesamten Dokument und RAGSchneller Test mit einigen Dateien
AnythingLLMAnwendung mit Auswahl des Embedders und der VektordatenbankMittelKleines Team ohne Entwickler
Open WebUIAn Ollama angebundene Weboberfläche, WissensdatenbankenMittelTägliche Nutzung einer Notizsammlung
LlamaIndex oder Haystack in PythonZu schreibender CodeHoch: Aufteilung, Suche, BewertungMaßgeschneidertes Projekt oder Projekt zur Bereitstellung

Wenn Sie ohne Programmieren auskommen möchten, erläutern der Leitfaden zu RAG in LM Studio und der zu AnythingLLM die jeweiligen Möglichkeiten; der Leitfaden zu NotebookLM und lokalen Alternativen behandelt die Suchanfrage „notebook lm rag“.

#Die Python-Pipeline, Schritt für Schritt

Das folgende Beispiel folgt dem offiziellen Aufbau des LlamaIndex-Tutorials mit lokalen Modellen: ein Verzeichnisleser, ein Embedding-Modell, ein über Ollama bereitgestelltes Modell und anschließend eine Abfrage-Engine. Installieren Sie zunächst die Pakete llama-index-llms-ollama und llama-index-embeddings-huggingface. Passen Sie die Modellnamen an die Modelle an, die Sie heruntergeladen haben.

Minimaler RAG mit LlamaIndex und Ollama
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.llms.ollama import Ollama
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

Settings.embed_model = HuggingFaceEmbedding(model_name="intfloat/multilingual-e5-large")
Settings.llm = Ollama(model="qwen3.5:9b", request_timeout=360.0, context_window=8000)

documents = SimpleDirectoryReader("mes_documents").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine(similarity_top_k=5)

response = query_engine.query("Quelles sont les échéances du contrat Dupont ?")
print(response)
print(response.source_nodes)

Beim ersten Durchlauf werden alle Embeddings berechnet, was je nach Datenmenge und Rechner unterschiedlich lange dauert. Um nicht alles erneut berechnen zu müssen, speichern Sie den Index mit index.storage_context.persist und laden Sie ihn anschließend mit load_index_from_storage wieder, wobei Sie dasselbe Embedding-Modell verwenden. Der Parameter context_window begrenzt den Speicherverbrauch, wie im Tutorial erläutert.

→
Quellen stets anzeigen
Zeigen Sie bei jedem Test die ausgewählten Passagen (response.source_nodes) an. Wenn die Auszüge am Thema vorbeigehen, liegt das Problem in der Suche, nicht im Modell: Ein Wechsel des Generierungsmodells ist dann unnötig.

#Die Fallstricke, an denen die ersten Versuche scheitern

Naives Aufteilen zerstört die Strukturen
Eine Aufteilung mitten in einer Tabelle führt zu unleserlichen Textabschnitten. Verwenden Sie ein Werkzeug zur Textaufteilung, das Überschriften und Tabellen berücksichtigt, oder konvertieren Sie die Dokumente zuerst mit Docling.
Die Sprache des Embeddings zählt
Ein Embedding-Modell, das überwiegend mit englischen Texten trainiert wurde, findet französische Textpassagen weniger gut. Wählen Sie ein mehrsprachiges Modell und testen Sie es mit 10 echten Fragen, bevor Sie das gesamte Korpus indexieren.
Ein einheitlicher top-k-Wert eignet sich selten
Zu wenige Passagen machen die Antwort weniger gehaltvoll; zu viele überfordern das Modell. Passen Sie die Anzahl an die Art der Dokumente an und prüfen Sie die Ergebnisse anhand von Fragen, deren Antwort Sie kennen.
Eine schlechte Suche führt zu einer selbstsicher formulierten, aber falschen Antwort
Ein Modell, dem irrelevante Textauszüge gegeben werden, kann eine Antwort erfinden, die überzeugend klingt. Prüfen Sie zuerst die Relevanz der Textauszüge.
PDF-Dateien sind problematisch
Zweispaltige Layouts, Fußzeilen, Tabellen, Scans: Ein wesentlicher Teil der Arbeit besteht darin, die Daten bei der Übernahme zu bereinigen. Ein gescanntes PDF benötigt OCR vor jeder weiteren Verarbeitung.
Embedding-Modelle mischen
Indexierung mit einem Modell und Abfragen mit einem anderen führen zu absurden Ergebnissen ohne Fehlermeldung.

#Wann Sie auf RAG verzichten sollten

RAG, langer Kontext oder andere Ansätze
SituationBeste HerangehensweiseWarum
Weniger als zwanzig SeitenAlles in den Kontext aufnehmenEinfacher, keine Textpassagen gehen verloren; so geht auch LM Studio vor, wenn das Dokument hineinpasst
Faktische Frage zu strukturierten Daten (Umsatz 2024)SQL-Abfrage oder ExtraktionsskriptEin RAG findet Text, liefert aber keine exakte Berechnung
Frage zur Synthese des gesamten KorpusHierarchische Zusammenfassungen, dann Frage zu den ZusammenfassungenRAG ruft nur wenige Textpassagen ab und liefert keinen Gesamtüberblick
Dokumente, die ständig geändert werdenInkrementelle Indexierung oder Suche nach SchlüsselwörternDas Neuindexieren bei jeder Änderung kostet mehr als die Abfrage
Einen Stil oder ein Format erlernenFine-tuningRAG liefert Fakten, keinen Schreibstil

Der Leitfaden zum Vergleich von Fine-Tuning und RAG erläutert diesen letzten Fall im Detail.

#Hardware und Datenschutz: Was bei Ihnen bleibt

Bei vollständig lokalem RAG bleiben die Dokumente, Vektoren und Fragen auf dem Rechner, sofern jeder Baustein lokal ist: das Embedding-Modell wird über Ollama bereitgestellt oder vom Datenträger geladen, die Vektordatenbank liegt als Datei vor oder läuft als lokaler Dienst, und das Generierungsmodell läuft lokal. Prüfen Sie, dass keine Komponente einen Online-Dienst aufruft: Ein versehentlich ausgewählter Cloud-Embedder oder ein Cloud-Modell würde Ihre Textpassagen nach außen senden.

Bei der Hardware stellt das Generierungsmodell die höchsten Anforderungen: In Q4 passt ein Modell mit 8 bis 9 Milliarden Parametern in etwa 5 GB Speicher, zuzüglich des Kontexts. Der Kontext wird hier größer, weil er die Textauszüge enthält: Planen Sie zusätzlichen Spielraum ein, wenn Sie die Anzahl der Textpassagen erhöhen. Das Embedding ist dagegen ressourcenschonend; die erstmalige Indexierung eines großen Korpus bleibt der zeitaufwendigste Vorgang und wird einmal durchgeführt. Der Leitfaden zu LLMs ohne GPU zeigt, was mit der jeweiligen RAM-Menge möglich ist.

#Und danach? Die Verbesserungen der Reihe nach

Ein einfaches RAG-System beantwortet einfache Fragen oft gut. Für weitere Verbesserungen bietet folgende Reihenfolge das beste Verhältnis von Aufwand und Nutzen: zuerst eine Aufteilung, die die Struktur berücksichtigt, dann eine hybride Suche (Vektorsuche und BM25-Stichwortsuche, damit ein exakter Begriff wie eine Vertragsnummer nicht übersehen wird), anschließend ein Reranker, der die ersten Ergebnisse neu sortiert, und schließlich eine Evaluation anhand eines Satzes von etwa fünfzig Fragen, deren Antworten Sie kennen. Ohne Messung bleibt jede Änderung ein subjektiver Eindruck.

Häufige Fragen zum lokalen RAG
Was ist ein lokaler RAG?+
Es handelt sich um ein System, das Fragen anhand Ihrer Dokumente beantwortet und dabei das Einlesen, die Indexierung, die Suche und die Generierung auf Ihrem Rechner ausführt. Relevante Passagen werden anhand der Ähnlichkeit von Vektoren gefunden und anschließend an ein lokales Modell weitergegeben. Ihre Dateien verlassen Ihren Computer nicht.
Welche Unterschiede gibt es zwischen RAG und Fine-Tuning?+
RAG stellt dem Modell bei einer Frage Auszüge aus Ihren Dokumenten bereit: Es liefert aktualisierbare Fakten. Fine-Tuning verändert die Gewichte des Modells: Es verändert dessen Stil oder Antwortformat, prägt ihm konkrete Fakten aber nur schlecht ein. Wenn Sie Fragen zu Dokumenten stellen möchten, beginnen Sie mit RAG.
Welches Embedding-Modell für Französisch wählen?+
Wählen Sie ein mehrsprachiges Modell. Ollama empfiehlt embeddinggemma, qwen3-embedding und all-minilm; das erste hat 300 Millionen Parameter. Testen Sie es anhand von zehn realen Fragen zu Ihrem Korpus, bevor Sie es übernehmen: Die Qualität hängt von Ihren Dokumenten ab. Verwenden Sie anschließend dasselbe Modell für die Indexierung und für Abfragen, sonst werden die Ergebnisse inkonsistent.
Ist eine GPU für lokales RAG erforderlich?+
Nicht unbedingt. Embedding-Modelle sind klein und laufen auf der CPU; die Indexierung ist ohne GPU langsamer, erfolgt aber nur einmal. Das Generierungsmodell benötigt die meisten Ressourcen: Ein Modell mit 8 bis 9 Milliarden Parametern in Q4 benötigt etwa 5 GB Speicher.
Wie groß sollten die Textabschnitte für die Indexierung sein?+
Ein üblicher Ausgangspunkt sind 200 bis 500 Tokens pro Passage mit einer leichten Überlappung. Es gibt keinen universellen Wert: Testen Sie zwei oder drei Größen anhand von Fragen, deren Antwort Sie kennen. Eine Aufteilung, die Überschriften und Tabellen berücksichtigt, ist wichtiger als die genaue Größe.
Wie kann ich feststellen, ob mein RAG korrekt antwortet?+
Bereiten Sie etwa fünfzig Fragen vor, deren Antwort und zugehörige Quellpassage Sie kennen. Prüfen Sie bei jeder Änderung, ob die richtige Passage in den zurückgegebenen Auszügen enthalten ist, und anschließend, ob die Antwort sie korrekt zitiert. Werkzeuge wie Ragas automatisieren diese Messung, die in einem eigenen Leitfaden erläutert wird.
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.