Rozdělování podle znaků
Klíčovou součástí implementace Retrieval Augmented Generation (RAG) je rozdělování dokumentů na části (chunky) pro uložení do vektorové databáze.
V LangChainu je k dispozici několik strategií rozdělování – některé jsou jednodušší, jiné složitější. V tomto cvičení implementuješ character text splitter, který rozděluje dokumenty na základě znaků a délku chunku měří počtem znaků.
Měj na paměti, že neexistuje jedna ideální strategie – možná budeš muset vyzkoušet několik variant, než najdeš tu správnou pro svůj případ použití.
Toto cvičení je součástí kurzu
Vývoj LLM aplikací s LangChain
Pokyny k cvičení
- Importuj třídu
CharacterTextSplitterzlangchain_text_splitters. - Vytvoř instanci
CharacterTextSplitters parametryseparator="\n",chunk_size=24achunk_overlap=10. - Pomocí metody
.split_text()rozděl proměnnouquotea vypiš chunky i jejich délky.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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])