LangChain: что это, как работает и как создать своего ИИ-агента на Python

LangChain: что это, как работает и как создать своего ИИ-агента на Python
0
22

Обычный чат-бот умеет отвечать на вопросы. Но что, если ему нужно самостоятельно найти информацию в базе компании, проверить данные в CRM или рассчитать показатели рекламной кампании? Для таких задач разработчики используют LangChain.

Это Python-фреймворк, который помогает создавать приложения с искусственным интеллектом: от ботов с собственной базой знаний до ИИ-агентов, способных обращаться к внешним инструментам. Разберём, как устроен LangChain, чем он отличается от ChatGPT и LangGraph и как собрать простого агента самостоятельно.

Содержание скрыть

Что такое LangChain простыми словами

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

Название происходит от двух английских слов: Language («язык») и Chain («цепочка»). Изначально одной из главных идей LangChain было объединение нескольких операций с языковой моделью в последовательность. Сегодня фреймворк ориентирован прежде всего на создание ИИ-агентов.

Чтобы понять разницу, представьте две задачи.

В первом случае маркетолог открывает ChatGPT, вставляет показатели рекламной кампании и просит рассчитать стоимость заявки. Нейросеть анализирует предоставленные данные и отвечает.

Во втором случае компания хочет, чтобы ИИ-помощник сам получал показатели из рекламного кабинета, рассчитывал CPL, сравнивал результаты с прошлой неделей и составлял отчёт.

Для второго сценария уже нужна программная интеграция. LangChain помогает разработчику связать языковую модель с функциями получения данных и обработки результатов.

При этом LangChain сам не является нейросетью. Он использует внешние или локально запущенные модели: например, OpenAI, Gemini, Claude или совместимые решения других поставщиков.

Фреймворк распространяется с открытым исходным кодом. Его можно установить на компьютер и использовать в собственном Python-проекте.

Для чего используют LangChain

LangChain полезен там, где одного текстового запроса к нейросети недостаточно. Например, когда приложение должно получать актуальные сведения, обращаться к рабочим системам или выполнять несколько связанных действий.

Чат-боты с базой знаний компании

Допустим, в интернет-магазине есть сотни страниц с информацией о доставке, оплате, возврате и гарантии. Менеджеры поддержки постоянно отвечают на одни и те же вопросы.

Можно создать ИИ-помощника, который будет искать нужные сведения в материалах магазина и формулировать ответ покупателю.

Например, на вопрос «Можно ли вернуть товар после вскрытия упаковки?» бот сначала найдёт соответствующие правила, а затем подготовит ответ на их основе.

При этом правильное решение должно учитывать не только генерацию текста. Важно, чтобы помощник находил актуальную редакцию правил, не смешивал разные категории товаров и мог показать источник ответа.

Аналитические помощники для маркетинга

LangChain можно использовать для разработки внутренних инструментов маркетингового агентства.

Например, специалист запрашивает:

«Сравни стоимость заявки по каналам за прошлую неделю и покажи, где CPL вырос».

Если приложение подключено к нужным источникам, агент может получить расходы и количество заявок, выполнить расчёты и сформулировать выводы.

Но само подключение к LangChain не даёт доступа к Google Ads, CRM или аналитическим системам. Разработчик должен отдельно настроить интеграции, права доступа и обработку данных.

Агент также не узнает реальную прибыльность кампании, если у него есть только клики и заявки. Для такого анализа понадобятся сведения о продажах и выручке.

Автоматизация работы с документами

Ещё один сценарий — обработка договоров, инструкций, отчётов и других файлов.

Предположим, в компании накопились десятки PDF с описанием продуктов. Сотрудникам нужно быстро находить информацию о характеристиках и условиях использования.

Вместо ручного поиска можно разработать систему, которая находит подходящие фрагменты документов и использует их при подготовке ответа.

Для этого часто применяют технологию RAG, о которой расскажем дальше.

Как работает LangChain

Представим, что мы разрабатываем ИИ-помощника для маркетингового агентства. Пользователь пишет: «Сколько стоила заявка из поиска и соцсетей в прошлом месяце?»

Чтобы ответить, агенту нужны данные по расходам и заявкам. Здесь помогают несколько компонентов LangChain.

Модель (Model). Это нейросеть, которая понимает запрос пользователя, решает, какие действия выполнить, и формулирует ответ.

Инструменты (Tools). Функции, которые разработчик разрешил использовать агенту. Например, получить отчёт из базы данных, рассчитать показатель или обратиться к API сервиса.

Инструкции (System Prompt). Правила работы помощника: какие задачи он выполняет, какие источники использует и что делать при отсутствии данных.

Контекст и память. Информация, необходимая для ответа, включая историю беседы, результаты предыдущих действий и сведения из подключённых источников. Сохранение истории между запусками нужно настраивать отдельно.

В нашем примере последовательность может быть такой:

  1. Пользователь запрашивает стоимость заявки по двум каналам.
  2. Модель определяет, что нужны данные о расходах и количестве заявок.
  3. Агент вызывает разрешённую функцию получения показателей.
  4. Функция возвращает данные из подключённого источника.
  5. Приложение рассчитывает CPL, а модель формулирует ответ пользователю.

Если задача сложнее, агент может обращаться к нескольким инструментам. Например, сначала получать статистику, затем искать пояснения к изменениям и только после этого составлять отчёт.

Здесь есть важная особенность: языковая модель выбирает инструменты на основе контекста и инструкций. Поэтому действия агента нужно проверять, а для критически важных операций устанавливать ограничения.

Интерфейс LangGraph Studio с графом работы ИИ-агента, этапами планирования, вызовом инструментов и результатами выполнения.
В LangGraph Studio можно просматривать этапы выполнения агента и переходы между ними.

LangChain и ChatGPT: в чём разница

LangChain часто называют альтернативой ChatGPT, хотя эти инструменты решают разные задачи.

КритерийChatGPTLangChain
Что этоГотовый ИИ-продуктФреймворк для разработки
Основная задачаПомогать пользователю в чате и других доступных режимахСоздавать собственные ИИ-приложения
Нужен ли PythonДля обычного использования нетДля Python-версии — да
Работа с даннымиЧерез функции и подключённые источники ChatGPTЧерез интеграции, которые настраивает разработчик
Настройка логикиИнструкции и доступные функции продуктаПрограммное управление моделями, инструментами и обработкой запросов
Кому подходитПользователям, маркетологам, аналитикам и другим специалистамРазработчикам и командам, создающим собственные решения

Если нужно раз в неделю анализировать отчёт или подготовить несколько рекламных объявлений, можно обойтись ChatGPT и другими готовыми ИИ-инструментами.

★ Где этому научиться

Курс «Практикум по нейросетям» в Академии IT DMS

✓Промпт-инжиниринг и свои ИИ-ассистенты на базе GPT
✓Тексты, изображения, видео и голос с нейросетями
✓Автоматизация задач через API, Make и Zapier без программирования

Цифровой сертификат после итогового теста.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

LangChain имеет смысл изучать, когда вы хотите встроить ИИ в собственный продукт, подключить его к корпоративным системам или самостоятельно управлять логикой агента.

Как использовать LangChain на Python: пошаговый пример

Соберём небольшого ИИ-агента, который умеет получать показатели двух рекламных каналов и отвечать на вопросы об их эффективности.

Для начала возьмём условные данные, записанные непосредственно в коде. Так проще разобраться с механизмом, не подключая рекламный кабинет или базу данных.

Шаг 1. Установите Python и LangChain

Для примера подойдёт Python 3.11 или более новая совместимая версия.

Убедитесь, что Python установлен. Откройте терминал и выполните команду:

python —version

Если Python доступен, терминал покажет его версию.

Теперь создайте отдельную папку для проекта и виртуальное окружение. Оно позволит устанавливать библиотеки независимо от других Python-программ.

python -m venv .venv

На Windows активируйте окружение через PowerShell:

.\.venv\Scripts\Activate.ps1

На macOS и Linux:

source .venv/bin/activate

После этого установите LangChain и пакет для работы с моделями OpenAI:

pip install -U langchain langchain-openai

Пакет langchain содержит основные инструменты фреймворка. langchain-openai отвечает за интеграцию с моделями OpenAI.

Шаг 2. Подготовьте API-ключ

Чтобы агент мог обращаться к модели OpenAI, понадобится API-ключ. Его создают в кабинете разработчика OpenAI.

Подписка на ChatGPT и использование OpenAI API оплачиваются отдельно. Сам LangChain не заменяет доступ к модели.

API-ключ лучше хранить в переменной окружения, а не записывать непосредственно в Python-файл.

Например, в PowerShell переменную можно задать так:

$env:OPENAI_API_KEY = "ваш_API_ключ"

Значение нужно заменить настоящим ключом. Не публикуйте его в репозиториях и не передавайте другим людям. Приведённая команда задаёт переменную для текущей сессии PowerShell.

Шаг 3. Создайте ИИ-агента

Создайте в папке проекта файл agent.py и добавьте следующий код:

from langchain.agents import create_agent

from langchain.tools import tool

@tool

def campaign_stats(channel: str) -> str:

    """Получить расходы, клики и заявки рекламного канала."""

    data = {

        "поиск": (36000, 1200, 48),

        "соцсети": (81000, 1800, 54),

    }

    channel = channel.lower()

    if channel not in data:

        return "Нет данных по этому каналу"

    spend, clicks, leads = data[channel]

    cpl = spend / leads

    return (

        f"Расходы: {spend} руб.; "

        f"клики: {clicks}; "

        f"заявки: {leads}; "

        f"CPL: {cpl:.0f} руб."

    )

agent = create_agent(

    model="openai:gpt-5.5",

    tools=[campaign_stats],

    system_prompt=(

        "Ты помощник маркетолога. "

        "Для ответа о рекламных показателях "

        "используй инструмент campaign_stats. "

        "Не придумывай отсутствующие данные."

    ),

)

result = agent.invoke({

    "messages": [{

        "role": "user",

        "content": (

            "Сравни стоимость заявки "

            "в поиске и соцсетях."

        )

    }]

})

print(result["messages"][-1].content)

Разберём самые важные части.

@tool превращает обычную Python-функцию в инструмент, доступный агенту. В нашем случае функция campaign_stats возвращает статистику рекламного канала.

create_agent() создаёт агента, которому передают языковую модель, список инструментов и инструкцию.

agent.invoke() запускает обработку запроса. Агент получает сообщение, при необходимости вызывает инструмент и формирует ответ.

Мы используем модель gpt-5.5 из примеров актуального API LangChain. Для запуска нужен доступ к ней через OpenAI API; при необходимости можно выбрать другую доступную модель, которая поддерживает вызов инструментов.

Шаг 4. Запустите программу

Сохраните файл и выполните в терминале:

python agent.py

Программа отправит запрос модели. Согласно заданным инструкциям, агент должен обратиться к функции с рекламными показателями и сравнить стоимость заявок.

Из наших учебных данных получается:

КаналРасходыЗаявкиCPL
Поиск36 000 ₽48750 ₽
Соцсети81 000 ₽541 500 ₽

То есть стоимость заявки из поиска вдвое ниже, чем из соцсетей.

Это рассчитанный нами ожидаемый результат, а не запись фактического запуска агента. Формулировка ответа модели может отличаться.

Шаг 5. Проверьте, что агент действительно использует данные

Попробуйте изменить запрос:

«Сколько стоила заявка из Telegram Ads?»

В нашем примере этого канала нет. Инструмент должен вернуть сообщение об отсутствии данных, а агент — не придумывать показатели.

Затем можно изменить значения в словаре data и проверить, изменится ли ответ.

Так вы увидите, что модель обращается к предоставленной функции, а не просто воспроизводит прежний текст.

Этот пример специально ограничен несколькими числами. Для рабочего продукта нужно будет заменить словарь на интеграцию с реальным источником, предусмотреть обработку ошибок, защиту данных и проверку результатов.

★ Где этому научиться

Курс «Инженер генеративного ИИ» в Академии IT DMS

✓RAG-ассистенты по базе знаний и дообучение моделей (LoRA/QLoRA)
✓ИИ-агенты на OpenAI Agents SDK, CrewAI, LangGraph и MCP
✓Деплой в облако и no-code сценарии в n8n

Сертификат, диплом о переподготовке или удостоверение о повышении квалификации.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

Как подключить LangChain к своим документам: технология RAG

Один из популярных сценариев применения LangChain — создание ИИ-помощника, который отвечает на вопросы по внутренним материалам компании.

Представим, что у рекламного агентства есть база знаний с правилами работы, шаблонами отчётов и инструкциями для сотрудников. Нужно, чтобы помощник находил в ней нужную информацию.

Для этого можно использовать RAG (Retrieval-Augmented Generation) — подход, при котором модель получает дополнительные сведения из внешнего источника непосредственно перед формированием ответа.

Как это работает:

  1. Система загружает документы из выбранных источников.
  2. Большие тексты разбиваются на небольшие фрагменты.
  3. Фрагменты индексируются, чтобы по ним можно было искать информацию.
  4. Пользователь задаёт вопрос.
  5. Система находит подходящие фрагменты и передаёт их модели.
  6. Модель использует найденные материалы для подготовки ответа.

Например, сотрудник спрашивает: «Как оформлять отчёт, если клиент использует несколько рекламных кабинетов?»

Система ищет соответствующую инструкцию, передаёт найденный фрагмент модели, а та формулирует ответ.

Зачем нужны LangChain Text Splitters

Когда система работает с большими документами, текст часто делят на части — chunks.

В экосистеме LangChain для этого существует отдельный пакет langchain-text-splitters.

Один из инструментов — RecursiveCharacterTextSplitter. Он старается разделять текст по естественным границам: абзацам, строкам и пробелам.

У него есть два важных параметра:

  • chunk_size — максимальный размер текстового фрагмента, измеряемый выбранной функцией подсчёта;
  • chunk_overlap — целевое перекрытие между соседними фрагментами, которое помогает сохранить контекст.

Например, если инструкция содержит описание условий возврата в двух соседних абзацах, неудачная разбивка может привести к тому, что система найдёт только половину правила.

Поэтому размер фрагментов подбирают под структуру материалов и проверяют на реальных вопросах.

RAG позволяет использовать собственные данные без обязательного дообучения языковой модели. Но сам по себе этот подход не гарантирует точность: поиск может вернуть неподходящий фрагмент, а модель — неверно истолковать найденный текст.

LangChain, LangGraph и LangSmith: чем отличаются

Эти названия часто встречаются вместе, поэтому легко перепутать их назначение.

LangChain помогает создавать агентов: выбирать модель, подключать инструменты, задавать инструкции и запускать обработку запросов.

LangGraph нужен для более подробного управления процессом. Он позволяет определять этапы работы, переходы между ними и условия, от которых зависит дальнейшее выполнение задачи.

LangSmith используется для проверки и наблюдения за ИИ-приложениями. С его помощью разработчики анализируют вызовы моделей и инструментов, ошибки, время выполнения и результаты тестов.

ИнструментОсновное назначениеКогда пригодится
LangChainСоздание ИИ-агентов и интеграция моделей с инструментамиЧат-бот, аналитический помощник, агент с доступом к данным
LangGraphУправление сложными процессами и состояниямиМногоэтапные агенты, согласования, длительные задачи
LangSmithОтладка, тестирование и наблюдениеПроверка качества ответов, ошибок и выполнения инструментов
Интерфейс LangSmith с трассировкой выполнения ИИ-агента, вызовами языковой модели, инструментами и временем обработки запросов.
LangSmith показывает последовательность вызовов модели и инструментов, помогая находить ошибки в работе агента.

Например, вы разрабатываете ИИ-помощника для обработки заявок. С помощью LangChain подключаете модель к функциям получения данных и подготовки ответов.

Если процесс включает обязательную проверку заявки менеджером, несколько ветвей обработки и возможность продолжить работу позже, может понадобиться LangGraph.

А LangSmith поможет разобраться, почему агент выбрал определённый инструмент, сколько времени занял запрос и на каком этапе возникла ошибка.

Для первого простого агента отдельно изучать LangGraph необязательно: стандартные агенты LangChain уже используют его механизм выполнения.

Что такое LangChain Community и MCP

В экосистеме LangChain есть дополнительные пакеты и способы подключения инструментов.

LangChain Community

langchain-community — пакет с интеграциями, созданными и поддерживаемыми сообществом.

Он содержит компоненты для работы с различными внешними системами. При этом многие популярные интеграции вынесены в отдельные пакеты конкретных поставщиков.

Поэтому не стоит устанавливать langchain-community на всякий случай. Сначала посмотрите, какой пакет нужен выбранной модели, базе данных или загрузчику файлов.

Например, для работы с OpenAI используется langchain-openai.

LangChain и MCP

MCP (Model Context Protocol) — открытый протокол, который помогает ИИ-приложениям взаимодействовать с внешними инструментами и источниками контекста через стандартный интерфейс.

Вместо самостоятельного написания отдельной интеграции для каждого инструмента разработчик может подключать совместимые MCP-серверы.

У LangChain для этого есть MCPAdapter, позволяющий получать инструменты MCP-сервера и передавать их агенту.

Функциональность MCP в пространстве имён langchain.mcp относится к бета-возможностям и может изменяться. Она требует соответствующей версии LangChain и дополнительных зависимостей.

MCP упрощает подключение инструментов, но не отменяет необходимость управлять разрешениями и проверять безопасность серверов, к которым получает доступ агент.

Можно ли использовать LangChain с GigaChat и другими нейросетями

Да. LangChain поддерживает разные языковые модели, поэтому разработчик не обязан использовать только OpenAI.

Среди вариантов — Google Gemini, Anthropic Claude, локальные модели через Ollama и другие совместимые поставщики.

Для GigaChat существует отдельная библиотека langchain-gigachat, которую развивают в рамках GigaChain. Она позволяет подключать модели GigaChat к приложениям на LangChain и LangGraph.

Устанавливается пакет командой:

pip install -U langchain-gigachat

Для обращения к GigaChat API понадобятся подходящие учётные данные и настройка соединения.

Важно понимать, что совместимость с LangChain ещё не означает одинаковые возможности всех моделей. Например, поддержка вызова инструментов, структурированных ответов и определённых типов данных зависит от выбранной модели и интеграции.

При смене поставщика нужно повторно проверить работу приложения, а не просто заменить название модели в коде.

LangChain, LlamaIndex и Haystack: что выбрать

У LangChain есть альтернативы, которые тоже помогают создавать ИИ-приложения. Среди наиболее известных — LlamaIndex и Haystack.

Все три инструмента могут использоваться для RAG, поиска по документам и построения агентных систем. Различаются прежде всего подходы к разработке и наборы компонентов.

ФреймворкНа чём удобно сосредоточиться
LangChainАгенты, инструменты, интеграция моделей и управление их работой
LlamaIndexЗагрузка, обработка, индексация и поиск по данным, RAG и агенты
HaystackКомпонентные пайплайны, поиск по данным, RAG и агентные процессы

Например, если главная задача — построить поиск по большому архиву документов, стоит сравнить LangChain и LlamaIndex на одних и тех же данных.

Если нужен процесс с явно определёнными этапами обработки, интересен Haystack с его пайплайнами.

А для агента, который сам выбирает инструменты в зависимости от запроса, можно начать с LangChain.

Это ориентиры для выбора, а не строгие ограничения: все три проекта продолжают развиваться и поддерживают пересекающиеся сценарии.

Какие ошибки чаще всего допускают при работе с LangChain

Первая проблема — попытка использовать фреймворк там, где достаточно обычного API-запроса к модели. Если приложение только отправляет текст и получает ответ, дополнительные компоненты могут оказаться лишними.

Вторая — слепое копирование старых примеров. После выхода LangChain 1.0 в октябре 2025 года библиотека изменила основной подход к созданию агентов. Во многих старых инструкциях встречаются LLMChain, AgentExecutor и другие компоненты прежних версий. Для нового проекта лучше ориентироваться на актуальный create_agent.

Третья ошибка — отсутствие проверки результатов. Агент может неправильно выбрать инструмент, несколько раз вызвать одну функцию или подготовить ответ на основе неполных данных.

Панель LangSmith Tracing Projects со списком запросов к ИИ-приложению, ответами модели, ошибками и временем выполнения.
В LangSmith можно изучать отдельные запуски приложения и находить запросы, которые завершились ошибкой.

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

Наконец, нужно учитывать расходы. Сам LangChain открыт для использования, но вызовы платных моделей, хранение данных, инфраструктура и отдельные возможности LangSmith могут потребовать оплаты.

Стоит ли изучать LangChain новичку

Если вы пока только знакомитесь с нейросетями и хотите научиться использовать их для текстов, аналитики, презентаций и повседневных задач, начинать с LangChain необязательно.

Сначала полезнее разобраться, как работают языковые модели, как составлять запросы, проверять ответы и использовать готовые ИИ-инструменты.

LangChain становится интереснее, когда появляется желание создавать собственные приложения. Здесь понадобятся Python, работа с API, обработка данных, понимание языковых моделей и принципы тестирования.

Для первой практики достаточно небольшого агента с одним инструментом. Затем можно подключить собственный файл, добавить поиск по документам и только после этого переходить к сложным процессам с несколькими инструментами.

Главная ценность LangChain — возможность самостоятельно управлять тем, как нейросеть получает информацию и взаимодействует с другими системами. Именно поэтому фреймворк используют при разработке ИИ-ассистентов, RAG-приложений и агентных решений.

FAQ

Что такое LangChain простыми словами?

LangChain — это открытый фреймворк для разработки приложений с языковыми моделями. Он помогает подключать нейросети к данным, функциям и внешним сервисам.

Для чего нужен LangChain?

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

Можно ли использовать LangChain без Python?

Да. Помимо Python, существует реализация LangChain для JavaScript и TypeScript. Для самостоятельной разработки приложений потребуются навыки программирования.

Чем LangChain отличается от LangGraph?

LangChain упрощает создание ИИ-агентов и подключение инструментов. LangGraph предназначен для более подробного управления сложными процессами, состояниями и последовательностью действий.

Бесплатен ли LangChain?

Сам фреймворк доступен бесплатно с открытым исходным кодом. Использование платных языковых моделей через API, облачных ресурсов и отдельных сервисов может потребовать оплаты.

Что такое LangChain RAG?

Это подход, при котором приложение на LangChain находит подходящие сведения во внешних источниках и передаёт их языковой модели для формирования ответа.

Валерия Шлегель
Валерия Шлегель
Автор
(Проголосовать за статью)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

X