AI Personal Learning
und praktische Anleitung

AI Engineering Academy: 2.4 Daten-Chunking-Techniken für Retrieval Augmented Generation (RAG) Systeme

kurz

Das Chunking von Daten ist ein wichtiger Schritt in Retrieval Augmented Generation (RAG)-Systemen. Es zerlegt große Dokumente in kleinere, überschaubare Teile für eine effiziente Indizierung, Abfrage und Verarbeitung. Dieses README bietet RAG Überblick über die verschiedenen in der Pipeline verfügbaren Chunking-Methoden.

https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_Data_Ingestion


 

Bedeutung von Chunking in der RAG

Effektives Chunking ist für das RAG-System entscheidend, weil es das kann:

  1. Verbessern Sie die Abrufgenauigkeit, indem Sie kohärente, in sich geschlossene Informationseinheiten erstellen.
  2. Verbesserung der Effizienz von Einbettungsgenerierung und Ähnlichkeitssuche.
  3. Ermöglicht eine präzisere Kontextauswahl bei der Erstellung von Antworten.
  4. Hilfe bei der Verwaltung von Sprachmodellen und eingebetteten Systemen von Token Beschränkungen.

 

Chunking-Verfahren

Wir haben sechs verschiedene Chunking-Methoden implementiert, die jeweils unterschiedliche Vorteile und Einsatzszenarien haben:

  1. RecursiveCharacterTextSplitter
  2. TokenTextSplitter
  3. KamradtSemanticChunker
  4. KamradtModifiedChunker
  5. ClusterSemanticChunker
  6. LLMSemanticChunker

 

chunking

1. rekursiverZeichenTextSplitter

2. der TokenTextSplitter

3. kamradtSemantikBlocker

4) KamradtModifizierterBunker

5. clusterSemanticChunker

6. LLMSemanticChunker

 

Methode Beschreibung

  1. RecursiveCharacterTextSplitterAufteilung von Text auf der Grundlage einer Hierarchie von Begrenzungszeichen, wobei natürliche Trennpunkte im Dokument bevorzugt werden.
  2. TokenTextSplitterZerlegt Text in Blöcke mit einer festen Anzahl von Token, wobei sichergestellt wird, dass die Aufteilung an den Tokengrenzen erfolgt.
  3. KamradtSemanticChunkerSliding-Window-Embedding: Mit Hilfe von Sliding-Window-Embeddings können semantische Diskontinuitäten erkannt und der Text entsprechend segmentiert werden.
  4. KamradtModifiedChunkerKamradtSemanticChunker: Eine verbesserte Version von KamradtSemanticChunker, die die Bisektionssuche verwendet, um den optimalen Schwellenwert für die Segmentierung zu finden.
  5. ClusterSemanticChunkerAufteilung des Textes in Abschnitte (Chunks), Berechnung der Einbettungen und Verwendung der dynamischen Programmierung, um optimale Abschnitte auf der Grundlage semantischer Ähnlichkeit zu erstellen.
  6. LLMSemanticChunkerSprachmodellierung verwenden, um geeignete Segmentierungspunkte im Text zu identifizieren.

Verwendung

Um diese Chunking-Methoden in Ihrem RAG-Prozess zu verwenden:

  1. durch (eine Lücke) . Modul, um die benötigten Chunker zu importieren.
  2. Initialisierung des Chunkers mit geeigneten Parametern (z. B. maximale Chunkgröße, Überlappung).
  3. Übergeben Sie Ihr Dokument an den Chunker, um Chunking-Ergebnisse zu erhalten.

Beispiel:

from chunkers import RecursiveCharacterTextSplitter
chunker = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = chunker.split_text(ihr_document)

Wie man eine Chunking-Methode wählt

Die Wahl der Chunking-Methode hängt von Ihrem spezifischen Anwendungsfall ab:

  • Für eine einfache Textaufteilung können Sie RecursiveCharacterTextSplitter oder TokenTextSplitter verwenden.
  • Wenn eine semantische Segmentierung erforderlich ist, sollten Sie KamradtSemanticChunker oder KamradtModifiedChunker in Betracht ziehen.
  • Für fortgeschritteneres semantisches Chunking verwenden Sie ClusterSemanticChunker oder LLMSemanticChunker.

Faktoren, die bei der Auswahl einer Methode zu berücksichtigen sind:

  • Dokumentstruktur und Inhaltstypen
  • Erforderliche Chunk-Größe und Überlappung
  • Verfügbare Computerressourcen
  • Spezifische Anforderungen an das Retrievalsystem (z. B. vektorbasiert oder schlagwortbasiert)

Es ist möglich, verschiedene Methoden auszuprobieren und diejenige zu finden, die Ihren Dokumentations- und Abrufanforderungen am besten entspricht.

Integration mit RAG-Systemen

Nach Abschluss des Chunking werden in der Regel die folgenden Schritte durchgeführt:

  1. Erzeugung von Einbettungen für jeden Chunk (für vektorbasierte Retrievalsysteme).
  2. Indizieren Sie diese Chunks in dem gewählten Retrievalsystem (z. B. Vektordatenbank, invertierter Index).
  3. Bei der Beantwortung einer Abfrage werden die Indexbrocken im Abrufschritt verwendet.

 

AI Leichtes Lernen

Der Leitfaden für Laien zum Einstieg in die KI

Hilft Ihnen, die Nutzung von KI-Tools kostengünstig und von Null an zu erlernen.KI ist, wie Bürosoftware, eine wesentliche Fähigkeit für jeden. Die Beherrschung von KI verschafft Ihnen einen Vorteil bei der Stellensuche und die Hälfte des Aufwands bei Ihrer zukünftigen Arbeit und Ihrem Studium.

Details ansehen>
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " AI Engineering Academy: 2.4 Daten-Chunking-Techniken für Retrieval Augmented Generation (RAG) Systeme

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)