Rumah Peranti teknologi AI 7 Cara untuk Memisahkan Data Menggunakan Splitter Teks Langchain - Analytics Vidhya

7 Cara untuk Memisahkan Data Menggunakan Splitter Teks Langchain - Analytics Vidhya

Apr 19, 2025 am 10:11 AM

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.

7 Cara untuk Memisahkan Data Menggunakan Splitter Teks Langchain - Analytics Vidhya

Konsep Utama:

  1. Peranan penting pemisahan teks: Memahami mengapa pemisahan teks yang cekap adalah penting untuk mengoptimumkan aplikasi LLM, mengimbangi saiz tetingkap konteks dan kos.
  2. 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.
  3. Pelaksanaan Splitter Teks Langchain: Belajar aplikasi praktikal, termasuk pemasangan, contoh kod untuk pemisahan teks, dan mengendalikan format data yang pelbagai.
  4. 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
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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])
Salin selepas log masuk

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)
Salin selepas log masuk

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) ...
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjana Seni AI Terbaik (Percuma & amp; Dibayar) untuk projek kreatif Penjana Seni AI Terbaik (Percuma & amp; Dibayar) untuk projek kreatif Apr 02, 2025 pm 06:10 PM

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.

Bermula dengan Meta Llama 3.2 - Analytics Vidhya Bermula dengan Meta Llama 3.2 - Analytics Vidhya Apr 11, 2025 pm 12:04 PM

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

CHATBOTS AI terbaik berbanding (Chatgpt, Gemini, Claude & amp; Lagi) CHATBOTS AI terbaik berbanding (Chatgpt, Gemini, Claude & amp; Lagi) Apr 02, 2025 pm 06:09 PM

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.

Pembantu Menulis AI Teratas untuk Meningkatkan Penciptaan Kandungan Anda Pembantu Menulis AI Teratas untuk Meningkatkan Penciptaan Kandungan Anda Apr 02, 2025 pm 06:11 PM

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

AV Bytes: Meta ' s llama 3.2, Google's Gemini 1.5, dan banyak lagi AV Bytes: Meta ' s llama 3.2, Google's Gemini 1.5, dan banyak lagi Apr 11, 2025 pm 12:01 PM

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

Menjual Strategi AI kepada Pekerja: Manifesto CEO Shopify Menjual Strategi AI kepada Pekerja: Manifesto CEO Shopify Apr 10, 2025 am 11:19 AM

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

10 Pelanjutan pengekodan AI generatif dalam kod vs yang mesti anda pelajari 10 Pelanjutan pengekodan AI generatif dalam kod vs yang mesti anda pelajari Apr 13, 2025 am 01:14 AM

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 &#8217

Sistem Rag Agentik 7 Teratas untuk Membina Ejen AI Sistem Rag Agentik 7 Teratas untuk Membina Ejen AI Mar 31, 2025 pm 04:25 PM

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

See all articles