


7 Cara untuk Memisahkan Data Menggunakan Splitter Teks Langchain - Analytics Vidhya
Pemisahan Teks Langchain: mengoptimumkan input LLM untuk kecekapan dan ketepatan
Artikel sebelumnya kami meliputi pemuat dokumen Langchain. Walau bagaimanapun, LLM mempunyai batasan saiz tetingkap konteks (diukur dalam token). Melebihi had ini memangkas data, menjejaskan ketepatan dan meningkatkan kos. Penyelesaiannya? Hantar hanya data yang relevan ke LLM, yang memerlukan pemisahan data. Masukkan splitter teks Langchain.
Konsep Utama:
- Peranan penting pemisahan teks: Memahami mengapa pemisahan teks yang cekap adalah penting untuk mengoptimumkan aplikasi LLM, mengimbangi saiz tetingkap konteks dan kos.
- Teknik pemisahan teks yang pelbagai: Terokai pelbagai kaedah, termasuk jumlah watak, jumlah token, pemisahan rekursif, dan teknik yang disesuaikan dengan struktur HTML, Kod, dan JSON.
- Pelaksanaan Splitter Teks Langchain: Belajar aplikasi praktikal, termasuk pemasangan, contoh kod untuk pemisahan teks, dan mengendalikan format data yang pelbagai.
- Pemisahan semantik untuk perkaitan yang dipertingkatkan: Ketahui bagaimana pembasmian kalimat dan persamaan kosinus membuat ketulan yang semantik, memaksimumkan kaitan.
Jadual Kandungan:
- Apa itu splitter teks?
- Kaedah pemisahan data
- Pemisahan berasaskan kiraan aksara
- Pemisahan rekursif
- Pemisahan berasaskan kiraan token
- Mengendalikan HTML
- Pemisahan khusus kod
- Pengendalian data JSON
- Semantik chunking
- Soalan yang sering ditanya
Apa itu splitter teks?
Pembahagi teks membahagikan teks besar ke dalam ketulan yang lebih kecil dan terkawal untuk relevansi pertanyaan LLM yang lebih baik. Mereka bekerja secara langsung pada teks mentah atau objek dokumen Langchain. Kaedah berganda memenuhi jenis kandungan yang berlainan dan kes penggunaan.
Kaedah pemisahan data
Pembahagi teks Langchain adalah penting untuk pemprosesan dokumen besar yang cekap. Mereka meningkatkan prestasi, pemahaman kontekstual, membolehkan pemprosesan selari, dan memudahkan pengurusan data yang lebih baik. Mari kita periksa beberapa kaedah:
Prasyarat: Pasang pakej menggunakan pip install langchain_text_splitters
Pemisahan berasaskan kiraan aksara
Kaedah ini memisahkan teks berdasarkan kiraan aksara, menggunakan pemisah yang ditentukan.
dari langchain_community.document_loaders Import UnstructedPDFLoader dari langchain_text_splitters import chipterTextsplitter # Memuat data (ganti dengan laluan PDF anda) loader = unstructedpdfloader ('cara-formulate-such-suchful-strate-strategy.pdf', mod = 'single') data = loader.load () text_splitter = characterTextSplitter (pemisah = "\ n", chunk_size = 500, chunk_overlap = 0, is_separator_regex = false) teks = text_splitter.split_documents (data) len (teks) # output: bilangan ketulan
Contoh ini memisahkan teks ke dalam ketulan 500 aksara, menggunakan aksara baru sebagai pemisah.
Pemisahan rekursif
Ini menggunakan pemisah berbilang secara berurutan sehingga ketulan berada di bawah chunk_size
. Berguna untuk pemisahan peringkat ayat.
dari langchain_text_splitters import recursiveCharactertextsplitter recursive_splitter = recursiveCharacterTextSplitter (pemisah = ["\ n \ n", "\ n", r "(? >> 293 # ... (selebihnya kod tetap serupa)
Pemisahan berasaskan kiraan token
LLMS menggunakan token; Pemisahan mengikut kiraan token lebih tepat. Contoh ini menggunakan pengekodan o200k_base
(periksa pautan github untuk pemetaan model/pengekodan).
dari langchain_text_splitters import tokentextsplitter text_splitter = tokentextsplitter (encoding_name = 'o200k_base', chunk_size = 50, chunk_overlap = 0) teks = text_splitter.split_documents (data) len (teks) # output: bilangan ketulan
Pemisahan rekursif juga boleh digabungkan dengan pengiraan token.
Untuk teks biasa, pemisahan rekursif dengan watak atau pengiraan token biasanya disukai.
Mengendalikan HTML
Untuk data berstruktur seperti HTML, pemisahan harus menghormati struktur. Contoh ini berpecah berdasarkan tajuk HTML.
dari langchain_text_splitters import htmlheadertextsplitter headers_to_split_on = [("h1", "header 1"), ("h2", "header 2"), ("h3", "header 3")] html_splitter = htmlHeaderTextSplitter (headers_to_split_on, return_each_element = true) html_header_splits = html_splitter.split_text_from_url ('https://diataxis.fr/') len (html_header_splits) # output: bilangan ketulan
HTMLSectionSplitter
membolehkan pemisahan berdasarkan bahagian lain.
Pemisahan khusus kod
Bahasa pengaturcaraan mempunyai struktur yang unik. Contoh ini menggunakan pemisahan sintaks untuk kod python.
dari langchain_text_splitters import recursiveCharacterttexplitter, bahasa # ... (contoh kod python) ... python_splitter = recursiveCharacterTextSplitter.from_language (language = language.python, chunk_size = 100, chunk_overlap = 0) python_docs = python_splitter.create_documents ([python_code])
Pengendalian data JSON
Objek JSON bersarang boleh dibahagikan sambil mengekalkan hubungan utama.
dari langchain_text_splitters import recursiveJSonsplitter # ... (contoh data JSON) ... splitter = recursiveJSonsPlitter (max_chunk_size = 200, min_chunk_size = 20) ketulan = splitter.split_text (json_data, convert_lists = true)
Semantik chunking
Kaedah ini menggunakan embeddings ayat dan kesamaan kosinus dengan ayat yang berkaitan dengan kumpulan.
dari langchain_experimental.text_splitter import semanticchunker dari langchain_openai.embeddings import Openaiembeddings # memerlukan kunci API OpenAI # ... (kod menggunakan Openaiembeddings dan Semanticchunker) ...
Kesimpulan
Langchain menawarkan pelbagai kaedah pemisahan teks, masing -masing sesuai untuk jenis data yang berbeza. Memilih kaedah yang betul mengoptimumkan input LLM, meningkatkan ketepatan dan mengurangkan kos.
Soalan yang sering ditanya
(Bahagian Q & A tetap sama, dengan pelarasan kata -kata kecil untuk kejelasan dan aliran.)
Atas ialah kandungan terperinci 7 Cara untuk Memisahkan Data Menggunakan Splitter Teks Langchain - Analytics Vidhya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini mengkaji semula penjana seni AI atas, membincangkan ciri -ciri mereka, kesesuaian untuk projek kreatif, dan nilai. Ia menyerlahkan Midjourney sebagai nilai terbaik untuk profesional dan mengesyorkan Dall-E 2 untuk seni berkualiti tinggi dan disesuaikan.

Meta's Llama 3.2: Lompat ke hadapan dalam Multimodal dan Mobile AI META baru -baru ini melancarkan Llama 3.2, kemajuan yang ketara dalam AI yang memaparkan keupayaan penglihatan yang kuat dan model teks ringan yang dioptimumkan untuk peranti mudah alih. Membina kejayaan o

Artikel ini membandingkan chatbots AI seperti Chatgpt, Gemini, dan Claude, yang memberi tumpuan kepada ciri -ciri unik mereka, pilihan penyesuaian, dan prestasi dalam pemprosesan bahasa semula jadi dan kebolehpercayaan.

Artikel ini membincangkan pembantu penulisan AI terkemuka seperti Grammarly, Jasper, Copy.ai, WriteSonic, dan Rytr, yang memberi tumpuan kepada ciri -ciri unik mereka untuk penciptaan kandungan. Ia berpendapat bahawa Jasper cemerlang dalam pengoptimuman SEO, sementara alat AI membantu mengekalkan nada terdiri

Landskap AI minggu ini: Badai kemajuan, pertimbangan etika, dan perdebatan pengawalseliaan. Pemain utama seperti Openai, Google, Meta, dan Microsoft telah melepaskan kemas kini, dari model baru yang terobosan ke peralihan penting di LE

Memo CEO Shopify Tobi Lütke baru -baru ini dengan berani mengisytiharkan penguasaan AI sebagai harapan asas bagi setiap pekerja, menandakan peralihan budaya yang signifikan dalam syarikat. Ini bukan trend seketika; Ini adalah paradigma operasi baru yang disatukan ke p

Hei ada, pengekodan ninja! Apa tugas yang berkaitan dengan pengekodan yang anda telah merancang untuk hari itu? Sebelum anda menyelam lebih jauh ke dalam blog ini, saya ingin anda memikirkan semua kesengsaraan yang berkaitan dengan pengekodan anda-lebih jauh menyenaraikan mereka. Selesai? - Let ’

2024 menyaksikan peralihan daripada menggunakan LLMS untuk penjanaan kandungan untuk memahami kerja dalaman mereka. Eksplorasi ini membawa kepada penemuan agen AI - sistem pengendalian sistem autonomi dan keputusan dengan intervensi manusia yang minimum. Buildin
