ПочатиПочніть безкоштовно

Рекурсивне розбиття за символами

Багато розробників використовують рекурсивний розбивач за символами, щоб ділити документи за заданим списком символів. Типово це абзаци, розриви рядка, пробіли та порожні рядки: ["\n\n", "\n", " ", ""].

По суті, розбивач намагається розділити за абзацами, перевіряє, чи дотримано значень chunk_size і chunk_overlap, і якщо ні — ділить за реченнями, далі за словами, а тоді за окремими символами.

Часто доводиться експериментувати з різними значеннями chunk_size і chunk_overlap, щоб підібрати ті, що добре працюють для ваших документів.

Ця вправа є частиною курсу

Розроблення застосунків LLM за допомогою LangChain

Переглянути курс

Інструкції до вправи

  • Імпортуйте клас RecursiveCharacterTextSplitter з langchain_text_splitters.
  • Створіть екземпляр RecursiveCharacterTextSplitter із separators=["\n", " ", ""], chunk_size=24 і chunk_overlap=10.
  • Використайте метод .split_text(), щоб розбити quote, і виведіть частини та їхню довжину.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import the recursive 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 = RecursiveCharacterTextSplitter(
    separators=____,
    chunk_size=____,
    chunk_overlap=____)

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