Рекурсивне розбиття документів
Розбиття за одним символом є простим і передбачуваним, але часто дає не найкращі фрагменти. У цій вправі ви застосуєте рекурсивне розбиття за символами, щоб розбити статтю Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, яку ви завантажили в попередній вправі.
Нагадаємо, що рекурсивне розбиття за символами проходить списком символів, по черзі розбиваючи за кожним із них, щоб перевірити, чи можна створити фрагменти, менші за обмеження chunk_size.
Ця вправа є частиною курсу
Retrieval Augmented Generation (RAG) з LangChain
Інструкції до вправи
- Визначте в LangChain рекурсивний розбивач тексту за символами, який рекурсивно проходить список символів
['\n', '.', ' ', '']з розміром фрагмента75та перекриттям10. - Розбийте
document, використовуючи визначений вамиtext_splitterі відповідний метод.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
loader = PyPDFLoader("rag_paper.pdf")
document = loader.load()
# Define a text splitter that splits recursively through the character list
text_splitter = ____(
____,
chunk_size=75,
chunk_overlap=10
)
# Split the document using text_splitter
chunks = text_splitter.____
print(chunks)
print([len(chunk.page_content) for chunk in chunks])