НачатьНачать бесплатно

Семантическое разбиение текста

У всех стратегий разбиения, которые вы использовали до этого момента, есть общий недостаток: разбиение не учитывает контекст окружающего текста, поэтому контекст легко теряется в процессе.

В этом упражнении вы создадите и применёте семантический разделитель текста — современный экспериментальный метод разбиения текста на основе смыслового значения. Когда разделитель обнаруживает, что смысл текста отклонился за пределы заданного порога, выполняется разбиение.

Это упражнение является частью курса

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])
Редактировать и запускать код