Podział według znaku
Kluczowym etapem wdrażania Retrieval Augmented Generation (RAG) jest dzielenie dokumentów na fragmenty (ang. chunks) w celu zapisania ich w wektorowej bazie danych.
W LangChain dostępnych jest kilka strategii podziału – niektóre z nich są bardziej złożone od innych. W tym ćwiczeniu zaimplementujesz podział tekstu według znaku, który dzieli dokumenty na podstawie wskazanego znaku i mierzy długość fragmentu liczbą znaków.
Pamiętaj, że nie istnieje jedna idealna strategia podziału – możliwe, że trzeba będzie wypróbować kilka różnych, zanim znajdziesz tę właściwą dla swojego przypadku użycia.
To ćwiczenie jest częścią kursu
Tworzenie aplikacji LLM z LangChain
Instrukcje do ćwiczenia
- Zaimportuj klasę
CharacterTextSplitterz modułulangchain_text_splitters. - Utwórz instancję klasy
CharacterTextSplitterz parametramiseparator="\n",chunk_size=24ichunk_overlap=10. - Użyj metody
.split_text(), aby podzielić zmiennąquote, a następnie wyświetl fragmenty oraz ich długości.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import the character splitter
from langchain_text_splitters import ____
quote = 'Words are flowing out like endless rain into a paper cup,\nthey slither while they pass,\nthey slip away across the universe.'
chunk_size = 24
chunk_overlap = 10
# Create an instance of the splitter class
splitter = CharacterTextSplitter(
separator=____,
chunk_size=____,
chunk_overlap=____)
# Split the string and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])