Zum Inhalt springen

aaron.de

Hauptmenü
  • Über mich
  • Heim
  • LLM-gestützte Entwicklung einer RAG-Pipeline in wenigen Stunden (PoC)
  • Allgemein

LLM-gestützte Entwicklung einer RAG-Pipeline in wenigen Stunden (PoC)

aaron 21. Dezember 2025
Realisierung_der_RAG_Strategien

Table of Contents

Toggle
  • Architektur und Containerisierung
  • Technologie-Stack
  • Die Verarbeitungspipeline (Ingestion)
    • Vorverarbeitung und Bereinigung
    • Semantische Anreicherung (Enrichment)
    • Segmentierung und Strukturierung
    • Vektorisierung
    • Indizierung
    • Retrieval und Antwortgenerierung
  • Fazit
  • Über den Autor
    • aaron

Das Ziel war zu prüfen, ob es möglich ist, innerhalb weniger Stunden und unter Zuhilfenahme eines Large Language Models (LLM) eine funktionale RAG-Pipeline (Retrieval Augmented Generation) inklusive grafischer Benutzeroberfläche zu entwickeln. Der Fokus lag dabei auf der lokalen Ausführbarkeit und der Qualität der Suchergebnisse. Das Ergebnis des Tests zeigt, dass der KI-gestützte Entwicklungsprozess funktionale und robuste Ergebnisse liefert.

Für die technische Architektur und die Optimierungsstrategien der Pipeline wurden Konzepte aus den folgenden Blogbeiträgen adaptiert:
https://aaron.de/?p=4525
https://aaron.de/?p=4585

Die Beiträge fokussieren sich auf fortgeschrittene Methoden zur Maximierung der Präzision in lokalen RAG-Systemen, die über die standardmäßige Vektorsuche hinausgehen. Ein Kernaspekt ist die Implementierung der Hybrid Search (z.B. mittels BGE-M3), um semantisches Verständnis (Dense Vectors) effektiv mit exakter Stichwortsuche (Sparse Vectors) zu vereinen. Zudem werden Post-Retrieval-Optimierungen wie Reciprocal Rank Fusion (RRF) und Re-Ranking beschrieben, welche die Relevanz der gefundenen Dokumente vor der Übergabe an die KI entscheidend verbessern. Abschließend behandeln sie Strategien zur semantischen Anreicherung der Daten, etwa durch Entity-Extraction (GLiNER) und hierarchisches Chunking, um dem Sprachmodell einen präziseren Kontext zu liefern.

Architektur und Containerisierung

Das Gesamtsystem basiert auf einer Microservices-Architektur und wird vollständig mittels Docker containerisiert. Die Orchestrierung erfolgt über docker-compose, wobei das System in vier Hauptkomponenten unterteilt ist:

  • Application Core (rag-core): Der Hauptcontainer, der die Anwendungslogik beinhaltet. Er basiert auf einem eigens erstellten Basis-Image (Dockerfile.base), in dem systemnahe Abhängigkeiten wie Tesseract OCR (inklusive deutscher Sprachpakete) und PyTorch vorinstalliert sind, um die Build-Zeiten bei Code-Änderungen zu minimieren.
  • Vektordatenbank (qdrant): Als Persistenzschicht für die Embeddings wird das offizielle Qdrant-Image genutzt. Es speichert Vektoren und Metadaten persistent auf einem Docker-Volume.
  • Inferenz-Engine (ollama): Für die Ausführung des Large Language Models (hier Llama 3) wird Ollama eingesetzt. Dieser Dienst stellt eine API bereit, über die der Core-Container Anfragen zur Textgenerierung sendet.
  • OCR-Engine (Optional): Ursprünglich als externer Service via unstructured-api konzipiert, wurde die OCR-Logik für dieses Setup direkt in den Core-Container integriert, um die Abhängigkeit von externen API-Calls zu eliminieren und die volle Kontrolle über die Sprachpakete zu haben.

Technologie-Stack

Die Implementierung setzt auf einen Python-Stack:

  • Backend: FastAPI dient als Web-Framework für die asynchrone Verarbeitung von Anfragen.
  • Frontend: Die Benutzeroberfläche wurde mit NiceGUI realisiert.
  • Vektorisierung: FlagEmbedding und SentenceTransformers für die Berechnung von Vektoren.
  • Datenverarbeitung: Unstructured, Langdetect, Spacy und PyMuPDF für die Dokumentenanalyse.

Die Verarbeitungspipeline (Ingestion)

Die Qualität eines RAG-Systems steht und fällt mit der Aufbereitung der Daten. Eingehende Dokumente (PDFs) durchlaufen eine sequentielle Kette von Verarbeitungsschritten („Steps“), bevor sie indiziert werden.

Vorverarbeitung und Bereinigung

  • Spracherkennung: Mittels langdetect wird die Dokumentensprache ermittelt.
  • Bereinigung: Rohtext wird von Artefakten bereinigt. Hierbei kommen Tools wie ftfy zum Einsatz, um Encoding-Fehler zu korrigieren.

Semantische Anreicherung (Enrichment)

  • Named Entity Recognition: Das Modell GLiNER extrahiert Entitäten wie Personen oder Organisationen.
  • Keyword-Extraktion: Mittels KeyBERT werden die signifikantesten Schlagworte des Textes ermittelt.
  • Zusammenfassung: Es werden Zusammenfassungen auf Seitenebene generiert, um globalen Kontext zu bewahren.

Segmentierung und Strukturierung

  • Chunking: Statt harter Trennung nach Zeichenanzahl wird eine semantische Segmentierung angewandt.
  • Erweiterte Konzepte: Experimentelle Module generieren synthetische Fragen zu Textabschnitten oder fassen Cluster von Chunks rekursiv zusammen (RAPTOR-Ansatz), um auch komplexe Zusammenhänge abzubilden.

Vektorisierung

Für die Suche wird ein Hybrid-Search-Ansatz verwendet. Das Modell BAAI/bge-m3 generiert zwei Vektortypen pro Chunk:
Dense Vector: Repräsentiert die semantische Bedeutung.
Sparse Vector: Repräsentiert gewichtete Schlüsselwörter (ähnlich BM25).

Indizierung

Die generierten Vektoren und Metadaten werden an Qdrant gesendet.

Retrieval und Antwortgenerierung

Der Abfrageprozess ist darauf ausgelegt, Halluzinationen zu minimieren und relevante Fakten zu priorisieren.

  • Hybride Suche: Eingehende Fragen werden vektorisiert. Qdrant führt parallel eine Dense- und eine Sparse-Suche durch. Die Ergebnisse werden mittels Reciprocal Rank Fusion (RRF) kombiniert.
  • Re-Ranking: Ein Cross-Encoder-Modell bewertet die Relevanz der von der Datenbank gelieferten Treffer neu. Dies filtert Ergebnisse aus, die zwar semantisch ähnlich sind, aber die Frage nicht beantworten.
  • Generierung: Die verifizierten Textstellen werden als Kontext in den Prompt für das LLM (Llama 3) integriert. Das Modell generiert die Antwort ausschließlich auf Basis dieser Quellen.

Qdrant-Vektordatenbank Antwort (Ausschnitt)

{
  "result": {
    "points": [
      {
        "id": 1167906119681893486,
        "payload": {
          "text": "nd Betreuung auf ihrer Cloud-Journey bietet“, sagt Benedikt Scherzinger, Head of STACKIT Partner Sales.\n\n[CONTEXT]: Hier ist eine zusammengefasste Fassung:\n\nOPITZ CONSULTING und STACKIT haben sich zu einem Cloud-Partner verbündet. Mit Wirkung ab dem 1. März 2024 werden sie ihre Kräfte bündeln, um Kunden eine leistungsstarke Alternative zu US-amerikanischen Hyperscalern anzubieten. Die Partnerschaft ermöglicht es Unternehmen und Organisationen, ihre IT-Landschaften zukunftssicher zu gestalten. OPITZ CONSULTI",
          "job_id": "82d5c9be48f6e21a13a02ce19cbfe8c6",
          "source": "data/pm-partnerschaft-stackit.pdf",
          "page": 1,
          "chunk_index": 3,
          "doc_type": "pdf",
          "related_ids": [
            1707502642710362316,
            1512097806078860691,
            3784302674723249884,
            1167906119681893486,
            3549753017506491432,
            5785334779774152587
          ],
          "parent_id": null,
          "node_type": "leaf",
          "page_context": {
            "summary": "Hier ist eine zusammengefasste Fassung:\n\nOPITZ CONSULTING und STACKIT haben sich zu einem Cloud-Partner verbündet. Mit Wirkung ab dem 1. März 2024 werden sie ihre Kräfte bündeln, um Kunden eine leistungsstarke Alternative zu US-amerikanischen Hyperscalern anzubieten. Die Partnerschaft ermöglicht es Unternehmen und Organisationen, ihre IT-Landschaften zukunftssicher zu gestalten. OPITZ CONSULTING unterstützt als Professional Service Partner von STACKIT Unternehmen bei der Cloud-Journey, entwickelt, implementiert und betreibt kundenindividuelle Lösungen auf Basis der STACKIT Cloud. Das Ziel ist, nahtlose, effiziente und sichere Cloud-Transformationen zu ermöglichen.",
            "global_keywords": [
              "stackit cloud",
              "deutschen cloud",
              "opitz consulting",
              "cloud dienstleistungen",
              "cloud partner"
            ]
          },
          "enrichment": {
            "detected_language": "de",
            "gliner_entities": [
              {
                "text": "OPITZ CONSULTING",
                "label": "organization"
              },
              {
                "text": "STACKIT",
                "label": "organization"
              },
              {
                "text": "Gummersbach",
                "label": "location"
              },
              {
                "text": "Benedikt Scherzinger",
                "label": "person"
              }
            ],
            "keywords": [
              "stackit cloud",
              "deutschen cloud",
              "opitz consulting",
              "cloud dienstleistungen",
              "cloud partner"
            ],
            "questions": {
              "0": "Diese spezifische Frage beantwortet der Text: \"Wer wird ein neuer Cloud-Partner von OPITZ CONSULTING?\" (Die Antwort ist Stackit.)",
              "1": "Diese spezifische Frage, die dieser Text beantwortet, lautet: \"Was ist KIT Cloud und was bietet es?\"",
              "2": "Diese spezifische Frage beantwortet: \"Wie unterstützen Unternehmen in Zusammenarbeit mit OPITZ CONSULTING ihre Kunden bei der Cloud-Transformation?\""
            },
            "semantic_links": "Der semantische Zusammenhang zwischen den Textteilen besteht darin, dass OPITZ CONSULTING und STACKIT sich zum Partner für die KIT Cloud, eine deutsche Cloud-Lösung, verbinden, um deutsche Unternehmen und Organisationen eine leistungsstarke Alternative zu US-amerikanischen Hyperscalern anzubieten."
          },
          "full_metadata": {
            "page": 1,
            "source": "data/pm-partnerschaft-stackit.pdf",
            "job_id": "82d5c9be48f6e21a13a02ce19cbfe8c6",
            "language": "de",
            "related_ids": [
              1707502642710362316,
              1512097806078860691,
              3784302674723249884,
              1167906119681893486,
              3549753017506491432,
              5785334779774152587
            ]
          }
        }
      },
      {
        "id": 6746363469034387563,
        "payload": {
          "text": "Christoph Pfinder, Senior Manager Solutions bei OPITZ CONSULTING stimmt dem zu: „Wir sind begeistert von der Synergie mit STACKIT und der gemeinsamen Vision, die digitale Transformation von Unternehmen mit einer soliden, vertrauenswürdigen Basis voranzutreiben.“ Pfinder betont: „Hier geht es um mehr als um eine Zusammenarbeit zweier Unternehmen – diese Partnerschaft ist ein Versprechen an unsere Kunden, die digitale Zukunft sicher, souverän und erfolgreich zu gestalten. Unsere geteilten Werte und unsere gem",
          "job_id": "82d5c9be48f6e21a13a02ce19cbfe8c6",
          "source": "data/pm-partnerschaft-stackit.pdf",
          "page": 2,
          "chunk_index": 0,
          "doc_type": "pdf",
          "related_ids": [
            6746363469034387563,
            6699369969051898647,
            3475859339805626389,
            3561573586785612998,
            6306179352687101301,
            1534404069132234647,
            1806157755283019380
          ],
          "parent_id": null,
          "node_type": "leaf",
          "page_context": {
            "summary": "Hier ist eine Zusammenfassung der Seite:\n\nOPITZ CONSULTING, ein Unternehmen mit mehr als 500 Mitarbeitern in Deutschland, hat eine Partnerschaft mit STACKIT, einem Cloud- und Colocation-Provider der Schwarz Gruppe, bekanntgegeben. Senior Manager Solutions Christoph Pfinder von OPITZ CONSULTING betont, dass es sich um mehr als nur eine Zusammenarbeit handelt, sondern um ein Versprechen an Kunden, die digitale Zukunft sicher, souverän und erfolgreich zu gestalten. STACKIT bietet eine technische Infrastruktur in Deutschland und Österreich, die über den Marktstandard hinausgehende Datensouveränität bietet. Das Ziel ist, die digitale Transformation von Unternehmen mit einer soliden Basis voranzutreiben.",
            "global_keywords": [
              "und digitalsparte",
              "cloud und",
              "stackit und",
              "und colocation",
              "mit digitalen"
            ]
          },
          "enrichment": {
            "detected_language": "de",
            "gliner_entities": [
              {
                "text": "Christoph Pfinder",
                "label": "person"
              },
              {
                "text": "OPITZ CONSULTING",
                "label": "organization"
              },
              {
                "text": "STACKIT",
                "label": "organization"
              },
              {
                "text": "digitale Transformation",
                "label": "project"
              },
              {
                "text": "DACH-Region",
                "label": "location"
              },
              {
                "text": "christoph.pfinder",
                "label": "person"
              }
            ],
            "keywords": [
              "und digitalsparte",
              "cloud und",
              "stackit und",
              "und colocation",
              "mit digitalen"
            ],
            "questions": {
              "0": "Diese spezifische Frage wird beantwortet: \"Welche Partnerschaft gibt es zwischen OPITZ CONSULTING und STACKIT?\"",
              "1": "Die spezifische Frage, die dieser Text beantwortet ist: \"Was ist STACKIT?\"",
              "2": "Die spezifische Frage, die dieser Text beantwortet, ist nicht explizit formuliert. Der Text scheint eher informativ zu sein und möchte das Unternehmen STACKIT und seine Leistungen vorstellen, insbesondere die von ihnen angebotene Datensouveränität. Es gibt keine spezifische Frage wie \"Was ist STACKIT?\" oder \"Wie bietet STACKIT Datensouveränität?\", sondern es handelt sich um einen informativen Text über das Unternehmen und seine Angebote."
            },
            "semantic_links": "Der semantische Zusammenhang zwischen den Textteilen A und B besteht darin, dass sie über die Partnerschaft zwischen OPITZ CONSULTING und STACKIT sprechen, wobei Christoph Pfinder von OPITZ CONSULTING ausführt, warum er sich für diese Partnerschaft begeistert und betont, dass gemeinsame Werte und Visionen die digitale Transformation von Unternehmen prägen werden."
          },
          "full_metadata": {
            "page": 2,
            "source": "data/pm-partnerschaft-stackit.pdf",
            "job_id": "82d5c9be48f6e21a13a02ce19cbfe8c6",
            "language": "de",
            "related_ids": [
              6746363469034387563,
              6699369969051898647,
              3475859339805626389,
              3561573586785612998,
              6306179352687101301,
              1534404069132234647,
              1806157755283019380
            ]
          }
        }
      }
    ],
    "next_page_offset": null
  },
  "status": "ok",
  "time": 0.004957525
}

Fazit

Das Projekt demonstriert, dass durch die Kombination moderner Open-Source-Bibliotheken und containerisierter Architektur in kurzer Zeit leistungsfähige RAG-Pipelines realisierbar sind. Die Komplexität liegt dabei weniger im Code selbst, sondern im Verständnis der Datenverarbeitungsschritte und der korrekten Orchestrierung der Komponenten

Über den Autor

aaron

Administrator

Besuchen Sie die Website Alle Beiträge anzeigen

Post navigation

Previous: Personentracking mit Ultralytics & YOLO11

Verwandte Geschichten

ultralytics
  • Allgemein

Personentracking mit Ultralytics & YOLO11

aaron 3. Dezember 2025 0
brain
  • Allgemein

Transfer Learning mit NVIDIA TAO

aaron 2. Dezember 2025 0
Telegra-Dektop_02
  • Allgemein

Bau eines automatischen KI-News-Bots mit n8n, LLM & Telegram

aaron 26. November 2025 0

Möglicherweise haben Sie es verpasst

Realisierung_der_RAG_Strategien
  • Allgemein

LLM-gestützte Entwicklung einer RAG-Pipeline in wenigen Stunden (PoC)

aaron 21. Dezember 2025 0
ultralytics
  • Allgemein

Personentracking mit Ultralytics & YOLO11

aaron 3. Dezember 2025 0
brain
  • Allgemein

Transfer Learning mit NVIDIA TAO

aaron 2. Dezember 2025 0
Telegra-Dektop_02
  • Allgemein

Bau eines automatischen KI-News-Bots mit n8n, LLM & Telegram

aaron 26. November 2025 0
Impressum & Datenschutz
Impressum & Datenschutz
Copyright © All rights reserved. | MoreNews von AF themes.