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

Разбивка по символам

Один из ключевых этапов реализации Retrieval Augmented Generation (RAG) — разбивка документов на фрагменты для хранения в векторной базе данных.

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

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

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

Разработка LLM-приложений с помощью LangChain

Посмотреть курс

Инструкции к упражнению

  • Импортируйте класс CharacterTextSplitter из langchain_text_splitters.
  • Создайте экземпляр CharacterTextSplitter с параметрами separator="\n", chunk_size=24 и chunk_overlap=10.
  • Используйте метод .split_text(), чтобы разбить строку quote, а затем выведите полученные фрагменты и их длины.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import the character splitter
from langchain_text_splitters import ____

quote = 'Words are flowing out like endless rain into a paper cup,\nthey slither while they pass,\nthey slip away across the universe.'
chunk_size = 24
chunk_overlap = 10

# Create an instance of the splitter class
splitter = CharacterTextSplitter(
    separator=____,
    chunk_size=____,
    chunk_overlap=____)

# Split the string and print the chunks
docs = splitter.____(quote)
print(docs)
print([len(doc) for doc in docs])
Редактировать и запускать код