Разбор возможностей LangChain 1.0: ReAct-агент, middleware и контекст инжиниринг
В этом туториале разбираем обновлённый LangChain 1.0 и строим рабочего React‑агента: от базовой схемы reasoning/acting до тонкой настройки контекста на уровне обращения к модели, вызова инструментов и всего жизненного цикла агента. Код туториала можно взять здесь: https://github.com/trashchenkov/gigachat_tutorials/blob/main/ReAct_with_Middleware.ipynb Мастер-класс "Создай своего первого ИИ-агента": https://rutube.ru/video/8915b46d7fb2bd30819e047875f356a2/ Мой ТГ-канал: https://t.me/gigatrash Документация по LangChain: https://docs.langchain.com/oss/python/langchain/overview Тайм-коды: 00:00 Изменения в LangChain 1.0 01:29 Абстракция create_agent и схема ReAct-паттерна (Reasoning + Acting) 05:21 Описание практической задачи: агент для работы с SQLite базой данных 07:16 Установка библиотек и создание базы данных 09:00 Создание инструментов для агента 11:43 Инициализация "ванильного" ReAct-агента с использованием GigaChat и MemorySaver 14:54 Первый запуск агента: добавление нескольких задач одной командой 16:29 Разбор логов работы агента 19:34 Три уровня контекста (Model, Tool, Life-cycle) 20:25 Что такое Middleware в LangChain 26:07 Реализация Middleware для внедрения схемы БД в системный промпт 27:50 Разбор кода декоратора wrap_model_call 30:00 Динамическая модификация списка инструментов: режимы plan (только чтение) и apply (выполнение) 34:25 Сборка агента с использованием Middleware 38:43 Получение структурированного ответа с помощью Pydantic 40:40 Создание агента с параметром response_format 42:21 Tool Runtime: передача данных (например, ID пользователя) в инструменты мимо модели 46:58 Модификация инструмента delete_task для проверки прав доступа 50:52 Тестирование прав доступа: сценарии для обычного пользователя и администратора 54:21 Человек в контуре управления (HITL) 56:30 Использование готового HumanInTheLoopMiddleware для подтверждения действий 58:53 Как меняется граф при добавлении узла прерывания (interrupt) 1:01:00 Практическая демонстрация: запрос подтверждения смены статуса задачи (approve/reject) 1:05:24 Итоги туториала
В этом туториале разбираем обновлённый LangChain 1.0 и строим рабочего React‑агента: от базовой схемы reasoning/acting до тонкой настройки контекста на уровне обращения к модели, вызова инструментов и всего жизненного цикла агента. Код туториала можно взять здесь: https://github.com/trashchenkov/gigachat_tutorials/blob/main/ReAct_with_Middleware.ipynb Мастер-класс "Создай своего первого ИИ-агента": https://rutube.ru/video/8915b46d7fb2bd30819e047875f356a2/ Мой ТГ-канал: https://t.me/gigatrash Документация по LangChain: https://docs.langchain.com/oss/python/langchain/overview Тайм-коды: 00:00 Изменения в LangChain 1.0 01:29 Абстракция create_agent и схема ReAct-паттерна (Reasoning + Acting) 05:21 Описание практической задачи: агент для работы с SQLite базой данных 07:16 Установка библиотек и создание базы данных 09:00 Создание инструментов для агента 11:43 Инициализация "ванильного" ReAct-агента с использованием GigaChat и MemorySaver 14:54 Первый запуск агента: добавление нескольких задач одной командой 16:29 Разбор логов работы агента 19:34 Три уровня контекста (Model, Tool, Life-cycle) 20:25 Что такое Middleware в LangChain 26:07 Реализация Middleware для внедрения схемы БД в системный промпт 27:50 Разбор кода декоратора wrap_model_call 30:00 Динамическая модификация списка инструментов: режимы plan (только чтение) и apply (выполнение) 34:25 Сборка агента с использованием Middleware 38:43 Получение структурированного ответа с помощью Pydantic 40:40 Создание агента с параметром response_format 42:21 Tool Runtime: передача данных (например, ID пользователя) в инструменты мимо модели 46:58 Модификация инструмента delete_task для проверки прав доступа 50:52 Тестирование прав доступа: сценарии для обычного пользователя и администратора 54:21 Человек в контуре управления (HITL) 56:30 Использование готового HumanInTheLoopMiddleware для подтверждения действий 58:53 Как меняется граф при добавлении узла прерывания (interrupt) 1:01:00 Практическая демонстрация: запрос подтверждения смены статуса задачи (approve/reject) 1:05:24 Итоги туториала
