MulaiMulai sekarang secara gratis

Memecah secara rekursif berdasarkan karakter

Banyak pengembang menggunakan pemisah karakter rekursif untuk membagi dokumen berdasarkan daftar karakter tertentu. Secara bawaan, karakter tersebut adalah paragraf, baris baru, spasi, dan string kosong: ["\n\n", "\n", " ", ""].

Secara efektif, pemisah akan mencoba membagi berdasarkan paragraf, memeriksa apakah nilai chunk_size dan chunk_overlap terpenuhi, dan jika tidak, membagi berdasarkan kalimat, lalu kata, hingga karakter per karakter.

Sering kali, Anda perlu bereksperimen dengan berbagai nilai chunk_size dan chunk_overlap untuk menemukan kombinasi yang paling sesuai untuk dokumen Anda.

Latihan ini adalah bagian dari kursus

Mengembangkan Aplikasi LLM dengan LangChain

Lihat Kursus

Petunjuk latihan

  • Impor kelas RecursiveCharacterTextSplitter dari langchain_text_splitters.
  • Buat instance RecursiveCharacterTextSplitter dengan separators=["\n", " ", ""], chunk_size=24, dan chunk_overlap=10.
  • Gunakan metode .split_text() untuk membagi quote dan cetak potongan serta panjang tiap potongan.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Import the recursive character splitter
from langchain_text_splitters import ____

quote = 'Words are flowing out like endless rain into a paper cup,\nthey slither while they pass,\nthey slip away across the universe.'
chunk_size = 24
chunk_overlap = 10

# Create an instance of the splitter class
splitter = RecursiveCharacterTextSplitter(
    separators=____,
    chunk_size=____,
    chunk_overlap=____)

# Split the document and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])
Edit dan Jalankan Kode