Semantisk uppdelning
Alla uppdelningsstrategier du har använt hittills har samma begränsning: uppdelningen tar inte hänsyn till den omgivande textens kontext, vilket innebär att sammanhang lätt kan gå förlorat.
I den här övningen skapar och tillämpar du en semantisk textdelare – en experimentell metod i framkant som delar upp text baserat på semantisk betydelse. När delaren upptäcker att textens betydelse avviker bortom ett visst tröskelvärde utförs en uppdelning.
Den här övningen är en del av kursen
Retrieval Augmented Generation (RAG) med LangChain
Övningsinstruktioner
- Skapa en instans av inbäddningsmodellen
'text-embedding-3-small'från OpenAI. - Skapa en semantisk textdelare som använder vektorgradienter för att avgöra semantisk likhet och
0.8som tröskelvärde för uppdelning. - Dela upp
documentmed hjälp av den semantiska textdelaren.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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])