Semantisch splitsen
Alle splitsstrategieën die je tot nu toe hebt gebruikt hebben hetzelfde nadeel: de splitsing houdt geen rekening met de context van de omliggende tekst, waardoor context tijdens het splitsen makkelijk verloren kan gaan.
In deze oefening maak en gebruik je een semantische tekstsplitter: een geavanceerde, experimentele methode die tekst splitst op basis van betekenis. Zodra de splitter detecteert dat de betekenis van de tekst een bepaalde drempel overschrijdt, wordt er gesplitst.
Deze oefening maakt deel uit van de cursus
Retrieval Augmented Generation (RAG) met LangChain
Oefeninstructies
- Instantineer het embeddingmodel
'text-embedding-3-small'van OpenAI. - Maak een semantische tekstsplitter die vectorgradients gebruikt om semantische overeenkomst te bepalen en
0.8als drempelwaarde voor het splitsen hanteert. - Splitst het
documentmet de semantische splitter.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Instantiate an OpenAI embeddings model
embedding_model = ____(api_key="", model='____')
# Create the semantic text splitter with desired parameters
semantic_splitter = ____(
embeddings=____, breakpoint_threshold_type="____", breakpoint_threshold_amount=____
)
# Split the document
chunks = ____
print(chunks[0])