Împărțire semantică
Toate strategiile de împărțire pe care le-ai folosit până acum au același dezavantaj: împărțirea nu ține cont de contextul textului din jur, astfel că informațiile contextuale se pot pierde cu ușurință în acest proces.
În acest exercițiu, vei crea și aplica un splitter semantic de text – o metodă experimentală de ultimă generație pentru împărțirea textului pe baza sensului semantic. Atunci când splitter-ul detectează că sensul textului s-a abătut peste un anumit prag, se va efectua o împărțire.
Acest exercițiu face parte din cursul
Retrieval Augmented Generation (RAG) cu LangChain
Instrucțiuni pentru exercițiu
- Instanțiază modelul de încorporări (embeddings)
'text-embedding-3-small'de la OpenAI. - Creează un splitter semantic de text care folosește gradienți vectoriali pentru a determina similaritatea semantică și valoarea
0.8ca prag la care să se efectueze împărțirea. - Împarte
documentfolosind splitter-ul semantic.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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])