Podział semantyczny
Wszystkie dotychczas używane strategie podziału mają jedną wspólną wadę: podział nie uwzględnia kontekstu otaczającego tekstu, przez co podczas dzielenia łatwo go utracić.
W tym ćwiczeniu stworzysz i zastosujesz semantyczny splitter tekstu – eksperymentalną metodę podziału tekstu opartą na znaczeniu semantycznym. Gdy splitter wykryje, że sens tekstu odbiega od poprzedniego fragmentu powyżej określonego progu, wykona podział.
To ćwiczenie jest częścią kursu
Retrieval Augmented Generation (RAG) z LangChain
Instrukcje do ćwiczenia
- Utwórz instancję modelu osadzeń
'text-embedding-3-small'firmy OpenAI. - Stwórz semantyczny splitter tekstu, który używa gradientów wektorowych do określania podobieństwa semantycznego i wartości
0.8jako progu podziału. - Podziel
documentza pomocą semantycznego splittera.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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])