Împărțirea recursivă a documentelor
Împărțirea după un singur caracter este simplă și previzibilă, însă produce adesea fragmente sub-optimale. În acest exercițiu, vei aplica împărțirea recursivă a caracterelor pentru a segmenta lucrarea Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, pe care ai încărcat-o într-un exercițiu anterior.
Amintiți-vă că împărțirea recursivă a caracterelor iterează printr-o listă de caractere, împărțind după fiecare pe rând, pentru a verifica dacă se pot crea fragmente sub limita chunk_size.
Acest exercițiu face parte din cursul
Retrieval Augmented Generation (RAG) cu LangChain
Instrucțiuni pentru exercițiu
- Definește un splitter recursiv de text pe caractere în LangChain, care să împartă recursiv prin lista de caractere
['\n', '.', ' ', ''], cu o dimensiune a fragmentului de75și o suprapunere de10. - Împarte
documentfolosindtext_splitter-ul definit și o metodă corespunzătoare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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])