Aan de slagGa gratis aan de slag

Splitsen op teken

Een belangrijk proces bij het implementeren van Retrieval Augmented Generation (RAG) is het opsplitsen van documenten in chunks om ze op te slaan in een vectordatabase.

Er zijn verschillende splitstrategieën beschikbaar in LangChain, sommige met complexere routines dan andere. In deze oefening implementeer je een character text splitter, die documenten splitst op basis van tekens en de chunk-lengte meet aan de hand van het aantal tekens.

Onthoud dat er geen ideale splitstrategie is; je zult mogelijk met een paar moeten experimenteren om te vinden wat het beste werkt voor jouw usecase.

Deze oefening maakt deel uit van de cursus

LLM-toepassingen ontwikkelen met LangChain

Cursus bekijken

Oefeninstructies

  • Importeer de klasse CharacterTextSplitter uit langchain_text_splitters.
  • Maak een CharacterTextSplitter-instance met separator="\n", chunk_size=24 en chunk_overlap=10.
  • Gebruik de methode .split_text() om de quote te splitsen en print de chunks en chunklengtes.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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])
Code bewerken en uitvoeren