ПочатиПочніть безкоштовно

Розбиття за токенами

Використовувати RecursiveCharacterTextSplitter або CharacterTextSplitter зручно, і в деяких випадках це дає хороші результати. Однак є один недолік: ці інструменти беруть за базову одиницю символи, а не токени, з якими працює модель.

У цій вправі ви розіб'єте документи за допомогою розбивача за токенами. Так ви зможете перевірити кількість токенів у кожному фрагменті й переконатися, що вони не перевищують контекстне вікно моделі. PDF-документ завантажено в змінну document.

tiktoken та всі потрібні класи вже імпортовано для вас.

Ця вправа є частиною курсу

Retrieval Augmented Generation (RAG) з LangChain

Переглянути курс

Інструкції до вправи

  • Отримайте кодування для gpt-4o-mini з tiktoken, щоб можна було перевірити кількість токенів у кожному фрагменті.
  • Створіть розбивач тексту, який ділить за кількістю токенів, використовуючи encoding моделі GPT-4o-Mini.
  • Розбийте PDF, що зберігається в document, на фрагменти за допомогою 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")
Редагувати та запускати код