Suddivisione semantica
Tutte le strategie di suddivisione che hai usato finora hanno lo stesso limite: lo split non tiene conto del contesto del testo circostante, quindi il contesto può andare facilmente perso durante la suddivisione.
In questo esercizio creerai e applicherai un semantic text splitter, un metodo sperimentale all’avanguardia per suddividere il testo in base al significato semantico. Quando lo splitter rileva che il significato del testo ha superato una certa soglia, viene eseguito uno split.
Questo esercizio fa parte del corso
Retrieval Augmented Generation (RAG) con LangChain
Istruzioni dell'esercizio
- Istanzia il modello di embedding di OpenAI
'text-embedding-3-small'. - Crea un semantic text splitter che utilizzi i gradienti dei vettori per determinare la similarità semantica e usi
0.8come soglia alla quale effettuare lo split. - Suddividi
documentusando lo splitter semantico.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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])