Глоссарий

LangChain

Упрости разработку AI-приложений с помощью LangChain! Создавай мощные решения на основе LLM, такие как чат-боты и инструменты для подведения итогов, без особых усилий.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

LangChain - это фреймворк с открытым исходным кодом, предназначенный для упрощения разработки приложений на основе больших языковых моделей (LLM). Он предоставляет стандартный интерфейс и компоненты для объединения LLM в цепочки с другими вычислительными ресурсами и источниками данных, что позволяет создавать более сложные и контекстно-ориентированные приложения искусственного интеллекта (ИИ). Вместо того чтобы просто взаимодействовать с LLM в изоляции, LangChain позволяет разработчикам подключать такие модели, как GPT-4 или Claude 3, к внешним API, базам данных или локальным файлам, что делает их более универсальными и мощными.

Основные компоненты

LangChain достигает своей функциональности за счет нескольких ключевых абстракций:

  • Модели: Интеграция с различными LLM (например, от OpenAI) и Embedding Models.
  • Подсказки: Инструменты для управления и оптимизации подсказок, отправляемых LLM, включая шаблоны подсказок и динамическую генерацию подсказок. Эффективная разработка подсказок очень важна для управления поведением LLM.
  • Цепочки: Последовательность вызовов, либо LLM, либо другой утилиты. Простые цепочки могут включать в себя один вызов LLM, в то время как сложные цепочки(prompt chaining) могут связывать несколько вызовов LLM или взаимодействие с другими утилитами.
  • Индексы: Структурирует данные таким образом, чтобы LLM могли легко с ними взаимодействовать, часто используя такие техники, как создание вкраплений и хранение их в векторной базе данных вроде Pinecone или Chroma для эффективного семантического поиска.
  • Память: Позволяет цепочкам или агентам запоминать предыдущие взаимодействия, обеспечивая контекст для текущих разговоров или задач. Это очень важно для создания приложений с изменяемым состоянием, таких как чатботы.
  • Агенты: Позволяет LLM принимать решения о том, какие действия следует предпринять, использовать инструменты (например, поисковые системы или калькуляторы), наблюдать за результатами и повторять их до тех пор, пока задача не будет выполнена. Это позволяет более автономно решать проблемы.

Актуальность в искусственном интеллекте и машинном обучении

LangChain завоевал значительную популярность в сообществе Machine Learning (ML), потому что он решает практические проблемы создания реальных приложений поверх LLM. В то время как такие фреймворки, как PyTorch и TensorFlow являются основополагающими для обучения и определения моделей, LangChain фокусируется на прикладном уровне - организации взаимодействия этих мощных моделей с внешними системами и данными. Это отличается от таких платформ, как Ultralytics HUB, которые упрощают процесс обучения пользовательских моделей, управления наборами данных и развертывания моделей в основном для таких задач, как обнаружение объектов с помощью таких моделей, как Ultralytics YOLO11.

LangChain выступает в роли моста, позволяя использовать сложные возможности обработки естественного языка (NLP) LLM в конкретных контекстах или запускать внешние действия. Он упрощает сложные рабочие процессы, которые в противном случае потребовали бы значительного количества пользовательского кода для вызовов API, обработки данных и управления состоянием.

Применение в реальном мире

LangChain позволяет создавать широкий спектр приложений, объединяя интеллект LLM с внешними ресурсами:

  1. Ответы на вопросы по закрытым документам: Представь, что компании нужен внутренний чатбот, который мог бы отвечать на вопросы сотрудников, основываясь на программных документах компании или технических руководствах. LangChain можно использовать для построения системы Retrieval-Augmented Generation (RAG). Документы загружаются, разбиваются на части, встраиваются и хранятся в векторной базе данных. Когда пользователь задает вопрос, LangChain извлекает соответствующие фрагменты документов, объединяет их с запросом пользователя в подсказку и отправляет ее в LLM для генерации ответа на основе только предоставленного контекста. Это позволяет использовать рассуждения LLM, ограничивая ответы конкретными источниками данных. Многие инструменты внутренних баз знаний используют этот паттерн.
  2. Автономные агенты для выполнения заданий: Пользователь может попросить ИИ-ассистента "Обобщить последние новости об Ultralytics и написать об этом письмо моему менеджеру". Агент LangChain, управляемый LLM, может принять такое решение:
    • Используй инструмент веб-поиска, чтобы найти последние статьи о Ultralytics.
    • Используй инструмент для обобщения текста (или сам LLM), чтобы сжать полученные результаты.
    • Используй инструмент электронной почты (или составь текст), чтобы составить сообщение на основе резюме.LangChain управляет последовательностью использования инструментов, формулированием подсказок и потоком информации между этапами, позволяя LLM действовать как механизм рассуждений, организующий различные возможности. Примерами могут служить персональные ассистенты и автоматизированные исследовательские инструменты.

LangChain и связанные с ним концепции

Полезно отличать LangChain от родственных терминов:

  • LLM против LangChain: LLM (например, GPT-3, Llama) - это основные модели, которые понимают и генерируют текст. LangChain - это фреймворк, который использует эти LLM в качестве компонентов для создания приложений. Он организует взаимодействие между LLM и другими инструментами/данными.
  • Prompt Engineering против LangChain: Инженерия подсказок - это искусство создания эффективных входов для LLM. LangChain предоставляет инструменты (например, шаблоны подсказок) для упрощения и систематизации разработки подсказок в контексте приложения, но он включает в себя гораздо больше, в том числе управление состоянием и интеграцию инструментов.
  • Hugging Face Transformers против LangChain: Библиотека Hugging Face Transformers предоставляет доступ к тысячам предварительно обученных моделей (включая множество LLM) и инструментам для их тонкой настройки и запуска. LangChain часто интегрируется с моделями Hugging Face , но фокусируется на высокоуровневой задаче построения приложений на основе этих моделей, а не на самой реализации моделей.

LangChain - это мощный набор инструментов для разработчиков, которые хотят использовать возможности LLM для создания сложных контекстно-зависимых приложений. Модульная конструкция и растущая экосистема интеграций делают его популярным выбором для создания следующего поколения инструментов, основанных на искусственном интеллекте. Ты можешь подробнее изучить его возможности в официальной документации по LangChain и в репозитории LangChain GitHub.

Читать полностью