Zacznij terazZacznij za darmo

Rekurencyjne dzielenie dokumentów

Dzielenie na podstawie pojedynczego znaku jest proste i przewidywalne, ale często daje nieoptymalny wynik. W tym ćwiczeniu zastosujesz rekurencyjne dzielenie znaków do podziału artykułu Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, który wczytano we wcześniejszym ćwiczeniu.

Pamiętaj, że rekurencyjne dzielenie znaków iteruje po liście znaków i kolejno próbuje dzielić tekst na każdym z nich, sprawdzając, czy powstałe fragmenty mieszczą się w limicie chunk_size.

To ćwiczenie jest częścią kursu

Retrieval Augmented Generation (RAG) z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj rekurencyjny splitter tekstu LangChain, który będzie dzielił tekst według listy znaków ['\n', '.', ' ', ''], z rozmiarem fragmentu 75 i nakładaniem 10.
  • Podziel document przy użyciu zdefiniowanego text_splitter i odpowiedniej metody.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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])
Edytuj i uruchom kod