Zuletzt aktualisiert am 05.12.2025 8 Minuten Lesezeit

RAG

RAG steht für Retrieval-Augmented Generation (deutsch: abrufgestützte Generierung) und bezeichnet eine Architektur, die Large Language Models (LLMs) mit externen Wissensquellen verbindet. Anstatt sich ausschließlich auf das während des Trainings erworbene Wissen zu verlassen, ruft ein RAG-System bei jeder Anfrage relevante Informationen aus einer Wissensdatenbank ab und nutzt diese als Kontext für die Antwortgenerierung.

Diese Technik löst eines der größten Probleme von LLMs: Ihr Wissen ist auf den Trainingszeitpunkt begrenzt und kann veraltet oder unvollständig sein. Mit RAG können KI-Systeme aktuelle, domänenspezifische und verifizierbare Informationen in ihre Antworten einbeziehen.

Wie funktioniert RAG?

RAG kombiniert zwei KI-Komponenten: ein Retrieval-System (Abrufsystem) und ein generatives Sprachmodell. Der Prozess läuft in mehreren Schritten ab, die bei jeder Nutzeranfrage durchgeführt werden.

Der RAG-Prozess im Überblick

Wenn du eine Frage an ein RAG-System stellst, passiert Folgendes: Zuerst wird deine Anfrage analysiert und in eine numerische Repräsentation (Embedding) umgewandelt. Dann durchsucht das System eine Vektordatenbank nach semantisch ähnlichen Dokumenten. Die gefundenen relevanten Textabschnitte werden zusammen mit deiner ursprünglichen Frage an das LLM übergeben, das daraus eine fundierte Antwort generiert.

  1. Anfrage empfangen: Der Nutzer stellt eine Frage oder gibt einen Prompt ein
  2. Embedding erstellen: Die Anfrage wird in einen numerischen Vektor umgewandelt
  3. Dokumente abrufen: Das System sucht semantisch ähnliche Dokumente in der Wissensdatenbank
  4. Kontext anreichern: Relevante Textabschnitte werden mit der Anfrage kombiniert
  5. Antwort generieren: Das LLM erzeugt eine Antwort basierend auf Anfrage und Kontext

Embeddings und Vektordatenbanken

Embeddings sind numerische Darstellungen von Text in Form hochdimensionaler Vektoren. Sie erfassen die semantische Bedeutung von Wörtern und Sätzen, sodass inhaltlich ähnliche Texte auch mathematisch nahe beieinander liegen. Ein Embedding-Modell wandelt sowohl die Dokumente in der Wissensdatenbank als auch die Nutzeranfragen in solche Vektoren um.

Eine Vektordatenbank speichert diese Embeddings und ermöglicht effiziente Ähnlichkeitssuchen. Wenn eine Anfrage eingeht, berechnet das System, welche gespeicherten Dokumente dem Anfrage-Vektor am nächsten liegen. Diese Suche basiert auf mathematischen Distanzmaßen wie der Kosinusähnlichkeit und kann Millionen von Dokumenten in Millisekunden durchsuchen.

Architektur eines RAG-Systems

Ein RAG-System besteht aus mehreren Komponenten, die zusammenarbeiten, um präzise und kontextbezogene Antworten zu liefern.

Die Kernkomponenten

Die Architektur lässt sich in drei Hauptbereiche unterteilen: die Datenaufbereitung, das Retrieval-System und die Generierungskomponente. Jeder Bereich hat spezifische Aufgaben und kann unabhängig optimiert werden.

  • Dokumentenverarbeitung: Aufbereitung und Chunking der Quelldokumente in handhabbare Textabschnitte
  • Embedding-Modell: Wandelt Text in numerische Vektoren um (z.B. OpenAI Ada, Sentence Transformers)
  • Vektordatenbank: Speichert und indiziert die Embeddings (z.B. Pinecone, Weaviate, Chroma, Qdrant)
  • Retriever: Führt die Ähnlichkeitssuche durch und wählt relevante Dokumente aus
  • LLM (Generator): Erzeugt die finale Antwort basierend auf Kontext und Anfrage
  • Orchestrierung: Koordiniert den Datenfluss zwischen allen Komponenten

Chunking-Strategien

Chunking bezeichnet das Aufteilen von Dokumenten in kleinere Textabschnitte. Da LLMs ein begrenztes Kontextfenster haben, können nicht ganze Dokumente übergeben werden. Die Wahl der richtigen Chunk-Größe ist entscheidend: Zu kleine Chunks verlieren Kontext, zu große Chunks verwässern die Relevanz und verbrauchen Token-Budget.

Typische Chunk-Größen liegen zwischen 256 und 1024 Tokens. Fortgeschrittene Systeme nutzen überlappende Chunks oder semantisches Chunking, das natürliche Textgrenzen wie Absätze oder Kapitel berücksichtigt.

Vorteile von RAG

RAG bietet gegenüber reinen LLM-Anwendungen und dem aufwendigen Fine-Tuning mehrere wesentliche Vorteile, die es zur bevorzugten Architektur für viele Enterprise-Anwendungen machen.

  • Aktualität: Die Wissensbasis kann jederzeit aktualisiert werden, ohne das Modell neu zu trainieren
  • Quellenangaben: Antworten können mit Verweisen auf die genutzten Dokumente versehen werden
  • Reduzierte Halluzinationen: Das LLM generiert Antworten basierend auf konkreten Fakten statt nur auf Trainingsmustern
  • Domänenspezifisches Wissen: Unternehmenseigene Dokumente können eingebunden werden
  • Kosteneffizienz: Kein teures Fine-Tuning oder Retraining erforderlich
  • Datenschutz: Sensible Daten bleiben in der eigenen Infrastruktur und fließen nicht ins Modelltraining

Praktische Anwendungsbeispiele

RAG-Systeme werden in vielen Bereichen eingesetzt, in denen präzise, aktuelle und nachvollziehbare Informationen benötigt werden.

Unternehmens-Chatbots

Kundenservice-Chatbots nutzen RAG, um Fragen basierend auf aktuellen Produktdokumentationen, FAQ-Datenbanken oder Support-Artikeln zu beantworten. Anstatt generische Antworten zu geben, können sie spezifische Informationen zu Produkten, Preisen oder Prozessen liefern.

Interne Wissenssysteme

Unternehmen setzen RAG ein, um Mitarbeitern Zugang zu internem Wissen zu geben. Das System durchsucht Confluence-Seiten, SharePoint-Dokumente oder interne Wikis und beantwortet Fragen zu Unternehmensrichtlinien, technischen Dokumentationen oder Projektinformationen.

Rechtliche und medizinische Recherche

In Bereichen, in denen Genauigkeit kritisch ist, hilft RAG dabei, relevante Gesetze, Urteile oder medizinische Studien zu finden und zusammenzufassen. Die Quellenangaben ermöglichen eine Überprüfung der generierten Informationen.

RAG implementieren

Die Implementierung eines RAG-Systems erfordert die Integration mehrerer Komponenten. Moderne Frameworks wie LangChain oder LlamaIndex vereinfachen diesen Prozess erheblich.

Einfaches RAG-Beispiel mit Python

Das folgende Beispiel zeigt den grundlegenden Ablauf eines RAG-Systems in vereinfachter Form:

from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA

# 1. Dokumente laden und in Chunks aufteilen
documents = load_documents("./knowledge_base/")
chunks = split_into_chunks(documents, chunk_size=512)

# 2. Embeddings erstellen und in Vektordatenbank speichern
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(chunks, embeddings)

# 3. Retriever und LLM konfigurieren
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
llm = ChatOpenAI(model="gpt-4", temperature=0)

# 4. RAG-Chain erstellen
rag_chain = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=retriever,
    return_source_documents=True
)

# 5. Anfrage stellen
result = rag_chain("Wie funktioniert unser Rückgabeprozess?")
print(result["result"])
print("Quellen:", result["source_documents"])

Herausforderungen und Best Practices

Die Implementierung eines effektiven RAG-Systems bringt einige Herausforderungen mit sich, für die es bewährte Lösungsansätze gibt.

Relevanz der Suchergebnisse

Die Qualität der RAG-Antworten hängt stark von der Qualität der abgerufenen Dokumente ab. Wenn irrelevante Chunks gefunden werden, kann das LLM keine gute Antwort generieren. Lösungsansätze umfassen die Verbesserung der Embedding-Modelle, Hybrid Search (Kombination aus semantischer und Keyword-Suche) sowie Re-Ranking, bei dem ein zweites Modell die Relevanz der gefundenen Dokumente bewertet.

Kontextfenster-Management

LLMs haben begrenzte Kontextfenster. Wenn zu viele Dokumente abgerufen werden, passen nicht alle in den Prompt. Strategien wie selektives Retrieval, Zusammenfassungen der Dokumente oder die Verwendung von Modellen mit großen Kontextfenstern (100k+ Tokens) helfen bei diesem Problem.

Evaluation und Monitoring

Die Messung der RAG-Qualität erfordert spezielle Metriken. Neben der Antwortqualität müssen auch die Retrieval-Präzision (wurden die richtigen Dokumente gefunden?) und die Groundedness (basiert die Antwort tatsächlich auf den Quellen?) evaluiert werden.

RAG vs. Fine-Tuning

RAG und Fine-Tuning sind zwei unterschiedliche Ansätze, um LLMs mit spezifischem Wissen auszustatten. Beide haben ihre Berechtigung, eignen sich aber für verschiedene Anwendungsfälle.

Aspekt RAG Fine-Tuning
Wissensaktualisierung Einfach, jederzeit möglich Erfordert Retraining
Kosten Geringer (nur Inferenzkosten) Höher (Trainingskosten)
Quellenangaben Möglich und transparent Nicht möglich
Latenz Höher (Retrieval-Schritt) Geringer
Halluzinationen Reduziert durch Quellengrounding Kann auftreten
Anpassung Schreibstil Begrenzt Gut geeignet

Fazit: RAG eignet sich besser, wenn aktuelle, verifizierbare Informationen wichtig sind. Fine-Tuning ist sinnvoller, wenn das Modell einen bestimmten Stil oder spezifische Verhaltensweisen lernen soll. In der Praxis werden beide Ansätze oft kombiniert.

Populäre RAG-Frameworks und Tools

Das Ökosystem für RAG-Entwicklung wächst schnell. Hier sind die wichtigsten Frameworks und Vektordatenbanken:

Orchestrierungs-Frameworks

  • LangChain: Das populärste Framework für LLM-Anwendungen, bietet umfangreiche RAG-Unterstützung
  • LlamaIndex: Spezialisiert auf Datenindexierung und Retrieval für LLM-Anwendungen
  • Haystack: Open-Source-Framework von deepset für NLP-Pipelines und RAG
  • Semantic Kernel: Microsofts SDK für KI-Orchestrierung

Vektordatenbanken

  • Pinecone: Vollständig verwaltete Vektordatenbank mit hoher Skalierbarkeit
  • Weaviate: Open-Source-Vektordatenbank mit integrierten ML-Modellen
  • Chroma: Einfache, eingebettete Vektordatenbank für Entwicklung und Prototyping
  • Qdrant: Performante Open-Source-Lösung mit Filter-Funktionen
  • Milvus: Skalierbare Open-Source-Datenbank für Milliarden von Vektoren

RAG in der IT-Praxis

Für IT-Fachkräfte wird RAG zunehmend relevant, da immer mehr Unternehmen KI-gestützte Systeme entwickeln und betreiben. Als Fachinformatiker für Anwendungsentwicklung kannst du RAG-Systeme implementieren, die interne Dokumentationen durchsuchbar machen oder Kundensupport automatisieren.

Auch in der Systemintegration spielt RAG eine Rolle: Die Bereitstellung und Wartung der Infrastruktur für Vektordatenbanken, das Monitoring von RAG-Pipelines und die Integration in bestehende Unternehmensarchitekturen erfordern fundiertes IT-Wissen.

Ausblick und Weiterentwicklung

RAG entwickelt sich kontinuierlich weiter. Aktuelle Trends umfassen Agentic RAG, bei dem das LLM selbst entscheidet, wann und wie es Informationen abruft, sowie Multi-Modal RAG, das neben Text auch Bilder und andere Medien einbezieht. Laut Gartners Hype Cycle 2024 ist RAG eine der wichtigsten Technologien für Unternehmen, die generative KI einsetzen möchten.

Quellen und weiterführende Links