<|channel|>final code<|message|>```python # chunker.py """ Модуль для разбиения больших текстов на небольшие чанки. Использует RecursiveCharacterTextSplitter из LangChain. Публичный API: split_text(text: str, chunk_size: int = 1000, chunk_overlap: int = 200) -> List[str] """ from typing import List from langchain.text_splitter import RecursiveCharacterTextSplitter def split_text( text: str, *, chunk_size: int = 1000, chunk_overlap: int = 200, ) -> List[str]: """ Разбивает входной текст на чанки заданного размера с перекрытием. Args: text: Текст, который нужно разбить. chunk_size: Максимальная длина одного чанкa (по символам). chunk_overlap: Количество символов, которые будут пересекаться между соседними чанками. Позволяет сохранить контекст при поиске. Returns: Список строк – чанков текста. """ if not isinstance(text, str): raise TypeError("text must be a string") splitter = RecursiveCharacterTextSplitter( chunk_size=chunk_size, chunk_overlap=chunk_overlap, separators=["\n\n", "\n", " ", ""], ) return splitter.split_text(text)