Dela upp efter tecken
En viktig del i implementeringen av Retrieval Augmented Generation (RAG) är att dela upp dokument i delar för lagring i en vektordatabas.
Det finns flera uppdelningsstrategier i LangChain, vissa med mer komplexa rutiner än andra. I den här övningen implementerar du en teckenbaserad textuppdelare, som delar upp dokument baserat på tecken och mäter delarnas längd i antal tecken.
Kom ihåg att det inte finns någon universellt optimal uppdelningsstrategi – du kan behöva experimentera med några olika för att hitta den som passar ditt användningsfall.
Den här övningen är en del av kursen
Utveckla LLM-applikationer med LangChain
Övningsinstruktioner
- Importera klassen
CharacterTextSplitterfrånlangchain_text_splitters. - Skapa en instans av
CharacterTextSplittermedseparator="\n",chunk_size=24ochchunk_overlap=10. - Använd metoden
.split_text()för att dela uppquote, och skriv sedan ut delarna och deras längder.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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])