Обновление langchain-text-splitters до версии 1.1.3: исправления ошибок и модернизация зависимостей
github:langchain-ai/langchain · оригинал
Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Команда LangChain выпустила версию 1.1.3 модуля text-splitters, в которой устранены ошибки обработки разделителей для ряда языков программирования и улучшена работа с типами данных. Также обновлены внутренние зависимости и инструменты проверки типов.
Обновление повышает стабильность работы с текстовыми данными на разных языках и оптимизирует загрузку библиотек, что важно для разработчиков, использующих LangChain в production-средах.
Команда разработчиков LangChain опубликовала релиз langchain-text-splitters версии 1.1.3. Основное внимание в этом обновлении уделено исправлению ошибок и оптимизации внутренних процессов. Согласно данным из журнала изменений, ключевым функциональным изменением стало устранение некорректных разделителей для языков Kotlin, Rust и Haskell, а также удаление ошибочных ключевых слов для C# и Elixir. Это должно повысить точность разбиения кода на смысловые блоки при работе с этими языками программирования.
Важным техническим улучшением является восстановление ленивых импортов (lazy imports) для тяжелых опциональных зависимостей. Как указано в материалах, это изменение призвано снизить нагрузку на систему при загрузке библиотеки, если не все функции используются разработчиком. Кроме того, в модуле была добавлена проверка типа входных данных для класса RecursiveJsonSplitter: теперь при передаче несовместимых объектов (не словарей и не конвертируемых структур) система корректно генерирует ошибку TypeError, что упрощает отладку кода.
Значительная часть изменений касается обновления зависимостей. В релизе обновлены версии таких библиотек, как tornado, urllib3, anyio, soupsieve и lxml. Также повышены версии инструментов разработки и тестирования, включая pytest, jupyterlab и setuptools. Отдельно отмечено обновление torch до версии 2.13.0 и nltk до 3.10.0. Эти обновления помогают поддерживать совместимость с последними версиями экосистемы Python и устранять потенциальные уязвимости или ошибки в зависимых пакетах.
В области инфраструктуры и процессов разработки команда перешла от использования mypy к инструменту ty для проверки типов. Это изменение направлено на унификацию конфигурации проверки типов во всем монорепо LangChain. Также были добавлены недостающие файлы LICENSE в публикуемые пакеты, что является важным шагом для соблюдения лицензионных требований при использовании библиотеки в коммерческих проектах.
Дополнительно обновлена документация: в README-файле актуализированы инструкции по установке и ссылки на ресурсы. В процессе разработки также были проведены работы по укреплению конфигурации Dependabot для сохранения версионных ограничений, что повышает безопасность автоматических обновлений зависимостей.
Релиз 1.1.3 представляет собой накопительное обновление, объединяющее множество мелких исправлений и улучшений, накопленных с момента предыдущей версии 1.1.2. Для конечных пользователей это означает более стабильную работу инструментов разбиения текста и кода, а также лучшую интеграцию с современными версиями сопутствующих библиотек.