Семантичне розбиття
Усі стратегії розбиття, які ви використовували до цього, мають спільний недолік: поділ не враховує контекст сусідніх фрагментів, тож контекст легко втратити під час розбиття.
У цій вправі ви створите та застосуєте семантичний розбивач тексту — це найсучасніший експериментальний метод, що ділить текст за семантичним змістом. Коли розбивач виявляє, що значення тексту відхилилося понад певний поріг, виконується поділ.
Ця вправа є частиною курсу
Retrieval Augmented Generation (RAG) з LangChain
Інструкції до вправи
- Створіть модель вкладень
'text-embedding-3-small'від OpenAI. - Створіть семантичний розбивач тексту, який використовує градієнти векторів для визначення семантичної подібності та застосовує поріг
0.8для поділу. - Розбийте
document, використовуючи семантичний розбивач.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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])