


7 Möglichkeiten zum Aufteilen von Daten mithilfe von Langchain Text -Splitern - Analytics Vidhya
Langchain Text -Splitter: Optimierung des LLM -Eingangs für Effizienz und Genauigkeit
Unser vorheriger Artikel umfasste Langchains Dokumentlader. LLMs haben jedoch Kontextfenstergrößenbeschränkungen (gemessen in Token). Das Überschreiten dieser Grenze verkürzt die Daten, eine Kompromissgenauigkeit und die Erhöhung der Kosten. Die Lösung? Senden Sie nur relevante Daten an die LLM, wobei die Datenaufteilung erforderlich ist. Geben Sie Langchains Text -Splitter ein.
Schlüsselkonzepte:
- Die entscheidende Rolle von Texterteilern: Verstehen Sie, warum eine effiziente Textaufteilung von entscheidender Bedeutung für die Optimierung von LLM -Anwendungen, die Größe und die Kosten für die Kontext des Kontextes ausbalanciert ist.
- Verschiedene Textaufteilungstechniken: Erforschen Sie verschiedene Methoden, einschließlich Charakterzahlen, Token -Zählungen, rekursive Aufteilung und Techniken, die auf HTML-, Code- und JSON -Strukturen zugeschnitten sind.
- Langchain Text -Splitter -Implementierung: Lernen Sie die praktische Anwendung, einschließlich Installation, Codebeispiele für die Textaufteilung und die Behandlung verschiedener Datenformate.
- Semantische Aufteilung für eine verstärkte Relevanz: Entdecken Sie, wie Satzeinbettungen und Kosinusähnlichkeit semantisch kohärente Stücke erzeugen und die Relevanz maximieren.
Inhaltsverzeichnis:
- Was sind Texterteiler?
- Datenspaltmethoden
- Charakter zählende Aufteilung
- Rekursive Aufteilung
- Token Count-basiertes Aufteilen
- Handling HTML
- Codespezifische Aufteilung
- JSON -Datenhandhabung
- Semantisches Chunking
- Häufig gestellte Fragen
Was sind Texterteiler?
Textteiler teilen großen Text in kleinere, überschaubare Stücke, um eine verbesserte Relevanz von LLM -Abfragen zu erzielen. Sie arbeiten direkt an Rohtext- oder Langchain -Dokumentobjekten. Mehrere Methoden richten sich an verschiedene Inhaltstypen und Anwendungsfälle.
Datenspaltmethoden
Langchain Text -Splitter sind für eine effiziente große Dokumentenverarbeitung von entscheidender Bedeutung. Sie verbessern die Leistung, das kontextbezogene Verständnis, ermöglichen die parallele Verarbeitung und erleichtern ein besseres Datenmanagement. Lassen Sie uns verschiedene Methoden untersuchen:
Voraussetzungen: Installieren Sie das Paket mit pip install langchain_text_splitters
Charakter zählende Aufteilung
Diese Methode spaltet Text basierend auf der Zeichenzahl unter Verwendung eines angegebenen Separators.
von Langchain_Community.document_loaders importieren unstrukturiertesPdfloader von Langchain_text_splitters importieren charaktertextsplitter # Daten laden (ersetzen Sie durch Ihren PDF -Pfad) Loader = unstrukturiertesPdfloader ('How-to-for-formulate-successful-Business-Strategy.pdf', Modus = 'Single')) Data = lader.load () text_splitter = charaktertextsplitter (separator = "\ n", chunk_size = 500, chunk_overlap = 0, is_separator_regex = false) text = text_splitter.split_documents (Daten) Len (Texte) # Ausgabe: Anzahl der Stücke
In diesem Beispiel wird Text in 500-Charakter-Stücke aufgeteilt, wobei neue Zeilenzeichen als Trennzeichen verwendet werden.
Rekursive Aufteilung
Dies verwendet nacheinander mehrere Separatoren, bis die Stücke unter chunk_size
sind. Nützlich für die Aufteilung der Satzebene.
von Langchain_text_splitters importieren recursivecharactertextSplitter recursive_splitter = recursivecharacterTextSplitter (separatoren = ["\ n \ n", "\ n", r "(? >> 293 # ... (Rest des Codes bleibt ähnlich)
Token Count-basiertes Aufteilen
LLMs verwenden Token; Die Aufteilung durch Token -Anzahl ist genauer. In diesem Beispiel wird die Codierung o200k_base
verwendet (überprüfen Sie den GitHub -Link für Modell-/Codierungszuordnungen).
von Langchain_text_splitters importieren tokentextSsplitter text_splitter = tokentextSsplitter (coding_name = 'o200k_base', chunk_size = 50, Chunk_Overlap = 0) text = text_splitter.split_documents (Daten) Len (Texte) # Ausgabe: Anzahl der Stücke
Eine rekursive Aufteilung kann auch mit Token -Zählen kombiniert werden.
Bei einfachem Text wird im Allgemeinen bevorzugt, dass eine rekursive Aufteilung mit Charakter- oder Token -Zählung bevorzugt wird.
Handling HTML
Bei strukturierten Daten wie HTML sollte die Aufteilung die Struktur respektieren. Dieses Beispiel spaltet basierend auf HTML -Headern.
von Langchain_text_splitters importieren Sie HTMLHeaDextSsplitter Header_to_split_on = [("H1", "Header 1"), ("H2", "Header 2"), ("H3", "Header 3")] html_splitter = htmlHeaDextSsplitter (Header_to_split_on, return_each_element = true) html_header_splits = html_splitter.split_text_from_url ('https://diataxis.fr/')) len (html_header_splits) # Ausgabe: Anzahl der Stücke
HTMLSectionSplitter
ermöglicht die Aufteilung auf der Basis von anderen Abschnitten.
Codespezifische Aufteilung
Programmiersprachen haben einzigartige Strukturen. In diesem Beispiel wird die Syntax-bewusstes Aufteilung für Python-Code verwendet.
Aus Langchain_Text_splitters importieren recursivecharactertextSplitter, Sprache # ... (Beispiel für Python -Code) ... python_splitter = recursivecharactertextSplitter.from_Language (Sprache = Sprache.Python, Chunk_Size = 100, Chunk_Overlap = 0) python_docs = python_splitter.create_documents ([python_code])
JSON -Datenhandhabung
Verschachtelte JSON -Objekte können während der Aufrechterhaltung der Schlüsselbeziehungen aufgeteilt werden.
von Langchain_text_splitters importieren recursivejsonSplitter # ... (JSON -Datenbeispiel) ... splitter = rekursivejsonSplitter (max_chunk_size = 200, min_chunk_size = 20) thunks = splitter.split_text (json_data, convert_lists = true)
Semantisches Chunking
Diese Methode verwendet Satzeinbettungen und Cosinus -Ähnlichkeit zu gruppensemantisch verwandten Sätzen.
von Langchain_experimental.text_splitter importieren semanticchunker Aus Langchain_openai.Embeddings Import OpenAiembedings # erfordert die OpenAI -API -Schlüssel # ... (Code mit OpenAiembeding und Semanticchunker) ...
Abschluss
Langchain bietet verschiedene Textaufteilungsmethoden an, die jeweils für verschiedene Datentypen geeignet sind. Die Auswahl der richtigen Methode optimiert den LLM -Eingang, die Verbesserung der Genauigkeit und die Reduzierung der Kosten.
Häufig gestellte Fragen
(Der Q & A -Abschnitt bleibt weitgehend gleich, mit geringfügigen Formulierungen für Klarheit und Fluss.)
Das obige ist der detaillierte Inhalt von7 Möglichkeiten zum Aufteilen von Daten mithilfe von Langchain Text -Splitern - Analytics Vidhya. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Der Artikel überprüft Top -KI -Kunstgeneratoren, diskutiert ihre Funktionen, Eignung für kreative Projekte und Wert. Es zeigt MidJourney als den besten Wert für Fachkräfte und empfiehlt Dall-E 2 für hochwertige, anpassbare Kunst.

Metas Lama 3.2: Ein Sprung nach vorne in der multimodalen und mobilen KI Meta hat kürzlich Lama 3.2 vorgestellt, ein bedeutender Fortschritt in der KI mit leistungsstarken Sichtfunktionen und leichten Textmodellen, die für mobile Geräte optimiert sind. Aufbau auf dem Erfolg o

Der Artikel vergleicht Top -KI -Chatbots wie Chatgpt, Gemini und Claude und konzentriert sich auf ihre einzigartigen Funktionen, Anpassungsoptionen und Leistung in der Verarbeitung und Zuverlässigkeit natürlicher Sprache.

Chatgpt 4 ist derzeit verfügbar und weit verbreitet, wodurch im Vergleich zu seinen Vorgängern wie ChatGPT 3.5 signifikante Verbesserungen beim Verständnis des Kontextes und des Generierens kohärenter Antworten zeigt. Zukünftige Entwicklungen können mehr personalisierte Inters umfassen

In dem Artikel werden Top -KI -Schreibassistenten wie Grammarly, Jasper, Copy.ai, Writesonic und RYTR erläutert und sich auf ihre einzigartigen Funktionen für die Erstellung von Inhalten konzentrieren. Es wird argumentiert, dass Jasper in der SEO -Optimierung auszeichnet, während KI -Tools dazu beitragen, den Ton zu erhalten

2024 veränderte sich von einfacher Verwendung von LLMs für die Erzeugung von Inhalten zum Verständnis ihrer inneren Funktionsweise. Diese Erkundung führte zur Entdeckung von AI -Agenten - autonome Systeme zur Handhabung von Aufgaben und Entscheidungen mit minimalem menschlichen Eingreifen. Bauen

Der Artikel überprüft Top -KI -Sprachgeneratoren wie Google Cloud, Amazon Polly, Microsoft Azure, IBM Watson und Descript, wobei sie sich auf ihre Funktionen, die Sprachqualität und die Eignung für verschiedene Anforderungen konzentrieren.

Das jüngste Memo von Shopify -CEO Tobi Lütke erklärt kühn für jeden Mitarbeiter eine grundlegende Erwartung und kennzeichnet eine bedeutende kulturelle Veränderung innerhalb des Unternehmens. Dies ist kein flüchtiger Trend; Es ist ein neues operatives Paradigma, das in P integriert ist
