Belirteçlere göre bölme
Belgeleri RecursiveCharacterTextSplitter veya CharacterTextSplitter ile bölmek pratiktir ve bazı durumlarda iyi performans sağlar; ancak bir dezavantajı vardır: modeli işleyen birimler olan belirteçler (token) yerine, temel birim olarak karakterlere göre bölerler.
Bu egzersizde, belgeleri bir token metin bölücüyle böleceksin. Böylece her parçadaki token sayısını doğrulayabilir ve modelin bağlam penceresini aşmadıklarından emin olabilirsin. Bir PDF belgesi document olarak yüklendi.
tiktoken ve gerekli tüm sınıflar senin için içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
LangChain ile Retrieval Augmented Generation (RAG)
Egzersiz talimatları
- Her parçadaki token sayısını kontrol edebilmek için
tiktokenkullanarakgpt-4o-miniiçin kodlamayı al. - GPT-4o-Mini
encodingdeğerini kullanarak token sayısına göre bölecek bir metin bölücü oluştur. documentiçinde saklanan PDF'yitoken_splitterkullanarak parçalara ayır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Get the encoding for gpt-4o-mini
encoding = ____
# Create a token text splitter
token_splitter = ____(encoding_name=____, chunk_size=100, chunk_overlap=10)
# Split the PDF into chunks
chunks = ____
for i, chunk in enumerate(chunks[:3]):
print(f"Chunk {i+1}:\nNo. tokens: {len(encoding.encode(chunk.page_content))}\n{chunk}\n")