LangChain: основы и практическое применение

LangChain — это фреймворк для разработки приложений с использованием больших языковых моделей, предоставляющий инструменты для создания агентов, работы с векторными хранилищами и прочего. Основной его интерфейс – Runnable, поддерживающий методы invoke, batch, и stream (и их асинхронные версии).
LangChain: основы и практическое применение
Изображение носит иллюстративный характер

Ключевой особенностью LangChain является язык выражений LangChain (LCEL), позволяющий строить цепочки обработки данных, где выход одного этапа становится входом для следующего. Цепочки могут быть созданы с использованием RunnableSequence, оператора | или метода .pipe(). RunnableParallel позволяет запускать несколько этапов параллельно, передавая входные данные всем элементам. LCEL автоматически преобразует Python-функции в RunnableLambda, облегчая интеграцию кода.

В LangChain важна работа с Messages (сообщениями), которые передаются языковым моделям, и Prompt Templates (шаблонами подсказок), служащими для форматирования запросов к моделям. Шаблоны бывают нескольких видов, включая StringPromptTemplate для простых строк и ChatPromptTemplate для форматирования диалогов. MessagesPlaceholder используется для вставки списка сообщений.

Языковые модели в LangChain вызываются через интерфейс BaseLanguageModel, который является Runnable, что позволяет использовать методы, такие как invoke. Для работы с моделями Hugging Face используется пакет langchain-huggingface. Можно загружать модели локально через HuggingFacePipeline или использовать serverless API через HuggingFaceEndpoint. Цепочки prompt | model объединяют форматированный промпт с языковой моделью. Дополнительные методы, такие как with_retry, with_fallbacks, bind, RunnablePassthrough и assing расширяют возможности по обработке данных и добавлению новых параметров.


Новое на сайте

19719Как хакеры через одну дыру в Next.js украли ключи от 766 серверов? 19718Artemis II покинул земную орбиту и летит к луне 19717NASA показало невиданные снимки кометы 3I/ATLAS и запечатлело старт лунной миссии Artemis... 19716Сифилис появился 4000 лет назад — или его находили не там, где искали? 19715Энергетический дисбаланс земли зашкаливает, и учёные не могут это объяснить 19714Cisco закрыла две критические уязвимости с рейтингом 9.8 из 10 в системах IMC и SSM 19713Водород из хлебных крошек: реакция, которая может потеснить ископаемое топливо 19712Китайский спутник с «рукой осьминога» прошёл орбитальный тест дозаправки 19711Кто такие поэты и почему поэзия важна сегодня? 19710Фальшивые установщики и ISO-файлы: как киберпреступники зарабатывают на майнинге и троянах 19709Почему большие языковые модели так и не научились думать 19708WhatsApp предупредил 200 пользователей о поддельном iOS-приложении со шпионским по:... 19707Открытый код под давлением ИИ: уязвимостей стало втрое больше за один квартал 19706Мышей с диабетом первого типа вылечили, создав «смешанный» иммунитет 19705Кости для азартных игр придумали коренные американцы 12 тысяч лет назад?
Ссылка