शुरू करेंमुफ़्त में शुरू करें

टोकन के आधार पर स्प्लिटिंग

RecursiveCharacterTextSplitter या CharacterTextSplitter का उपयोग करके डॉक्यूमेंट्स को स्प्लिट करना सुविधाजनक है और कुछ मामलों में अच्छा परफॉर्मेंस भी दे सकता है, लेकिन इसकी एक कमी है: ये मॉडल द्वारा प्रोसेस किए जाने वाले टोकनों की बजाय कैरेक्टर्स को बेस यूनिट के रूप में लेकर स्प्लिट करते हैं.

इस अभ्यास में, आप एक टोकन टेक्स्ट स्प्लिटर का उपयोग करके डॉक्यूमेंट्स को स्प्लिट करेंगे, ताकि आप हर चंक में टोकनों की संख्या जाँच सकें और सुनिश्चित कर सकें कि वे मॉडल की कॉन्टेक्स्ट विंडो से अधिक न हों. एक PDF डॉक्यूमेंट document के रूप में लोड किया गया है.

tiktoken और सभी आवश्यक क्लास आपके लिए पहले से इम्पोर्ट कर दिए गए हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

LangChain के साथ Retrieval Augmented Generation (RAG)

पाठ्यक्रम देखें

अभ्यास निर्देश

  • tiktoken से gpt-4o-mini की एन्कोडिंग प्राप्त करें ताकि आप हर चंक में टोकनों की संख्या जाँच सकें.
  • GPT-4o-Mini की उसी encoding का उपयोग करके टोकनों की संख्या के आधार पर स्प्लिट करने के लिए एक टेक्स्ट स्प्लिटर बनाएँ.
  • document में स्टोर किए गए PDF को token_splitter का उपयोग करके चंक्स में स्प्लिट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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")
कोड संपादित करें और चलाएँ