BaşlayınÜcretsiz Başlayın

Karaktere göre özyinelemeli bölme

Birçok geliştirici, belgeleri belirli bir karakter listesine göre bölmek için özyinelemeli bir karakter ayırıcı kullanıyor. Bu karakterler varsayılan olarak paragraflar, satır sonları, boşluklar ve boş dizelerdir: ["\n\n", "\n", " ", ""].

Özetle, ayırıcı önce paragraflara göre bölmeyi dener, chunk_size ve chunk_overlap değerlerinin karşılanıp karşılanmadığını kontrol eder; eğer karşılanmazsa cümlelere, ardından kelimelere ve tek tek karakterlere göre böler.

Çoğu zaman, belgelerin için iyi çalışan değerleri bulmak üzere farklı chunk_size ve chunk_overlap değerleriyle denemeler yapman gerekecek.

Bu egzersiz

LangChain ile LLM Uygulamaları Geliştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • langchain_text_splitters içinden RecursiveCharacterTextSplitter sınıfını içe aktar.
  • separators=["\n", " ", ""], chunk_size=24 ve chunk_overlap=10 ile bir RecursiveCharacterTextSplitter örneği oluştur.
  • quote metnini bölmek için .split_text() yöntemini kullan ve parçaları ile parça uzunluklarını yazdır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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])
Kodu Düzenle ve Çalıştır