LangChain

Курс LangChain Agents | Урок 0: Настройка окружения

Курс LangChain Agents | Урок 0: Настройка окружения
Mikhail
Автор
Mikhail
Опубликовано 23.03.2026
0,0
Views 55

О курсе

Этот курс является продолжением первого курса по LangChain. Здесь вы строите одно приложение с нуля до финала: агент-аналитик, который принимает задачу исследования, ищет данные, помнит прошлые сессии, делегирует задачи специализированным субагентам и запрашивает подтверждение перед важными действиями.

Каждый урок добавляет одну способность к этому агенту.

Что будете уметь после курса:

  • Строить агентов на create_agent и понимать, что происходит внутри
  • Подключать инструменты через серверы MCP
  • Управлять контекстом агента через context engineering
  • Добавлять middleware: summarization, retry, rate limits, human-in-the-loop
  • Настраивать краткосрочную и долгосрочную память
  • Защищать агента guardrails: PII, prompt injection, ограничение тематики
  • Разбивать сложную задачу на мультиагентную систему

Требования

Вы прошли первый курс по LangChain или уверенно работаете с:

  • ChatOpenAI и LCEL (prompt | model | parser)
  • @tool и базовым tool use
  • Чтением .env через python-dotenv

Если эти вещи вызывают вопросы, вернитесь к первому курсу.


Программа курса

# Урок Что добавляем к агенту
1 create_agent и цикл агента Базовый агент с инструментами
2 LangGraph под капотом Checkpointer, память сессии
3 MCP Инструменты через серверы MCP
4 Context engineering Динамические инструменты и промпт
5 Middleware Summarization, retry, лимиты
6 Краткосрочная память Thread management, несколько сессий
7 Долгосрочная память InMemoryStore, namespaces, семантический поиск
8 Human-in-the-loop Паузы и подтверждения
9 Guardrails PII, prompt injection, тематика
10 Паттерны мультиагентности Выбор архитектуры
11 Субагенты и Handoffs Финальный мультиагентный аналитик

Настройка

1. Python 3.10+

python --version
# Python 3.10.x или выше

Если версия ниже, обновите. Курс использует синтаксис str | None, list[str] и другие возможности 3.10+.

2. Виртуальное окружение

python -m venv .venv
# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

Всегда работайте внутри venv - это изолирует зависимости проекта от системного Python.

3. Установка зависимостей

pip install langchain langgraph langchain-openai langsmith python-dotenv langchain-mcp-adapters duckduckgo-search fastmcp

Если проходили первый курс и окружение уже настроено, добавьте только новый пакет:

pip install langchain-mcp-adapters duckduckgo-search fastmcp

4. API ключ и файл .env

Курс использует OpenAI совместимый API. Создайте файл .env в корне проекта.

OpenAI:

  1. Зарегистрируйтесь на platform.openai.com
  2. Перейдите в API keys → Create new secret key
  3. Скопируйте ключ, он показывается только один раз
OPENAI_API_KEY=sk-proj-...
MODEL_NAME=gpt-4o-mini

Rus-GPT (российские карты, рубли):

Если оплата через OpenAI недоступна, используйте rus-gpt.com, российский прокси-провайдер, совместимый с OpenAI SDK.

  1. Зарегистрируйтесь через аккаунт Яндекс
  2. Перейдите в раздел Ключи → создайте новый ключ
OPENAI_API_KEY=rusgpt-...
OPENAI_BASE_URL=https://rus-gpt.com/api/v1
MODEL_NAME=anthropic/claude-haiku-4.5

5. .gitignore

Создайте .gitignore в корне проекта:

.env
.venv/
__pycache__/
*.pyc

Никогда не коммитьте .env в git, в нём хранятся секретные ключи.

6. Настройка LangSmith

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

Если ещё не зарегистрировались: smith.langchain.com → Settings → Create API Key.

Добавьте в .env:

LANGCHAIN_API_KEY=lsv2_...
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT=agents-course

LANGCHAIN_PROJECT задаёт название проекта в LangSmith. Все трейсы этого курса будут собираться туда. Можно поставить любое имя.

7. Структура папок

Рекомендуемая структура для этого курса:

agents_course/
├── .env                  # ключи и настройки (не в git!)
├── .gitignore
├── requirements.txt
├── lesson_01/
│   ├── agent.py          # основной код урока
│   └── task.py           # ваше решение задания
├── lesson_02/
│   └── ...
...
└── final_agent/          # финальный агент (урок 11)
    ├── agents/
    ├── tools/
    └── main.py

8. Проверка

Создайте файл check.py:

import os
from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain.tools import tool
from langchain_openai import ChatOpenAI

load_dotenv()

@tool
def echo(text: str) -> str:
    """Возвращает текст обратно."""
    return text

# ChatOpenAI подхватывает OPENAI_API_KEY и OPENAI_BASE_URL из окружения.
# Подробнее о выборе способа передачи модели в уроке 1.
model = ChatOpenAI(model=os.getenv("MODEL_NAME", "gpt-4o-mini"))

agent = create_agent(
    model=model,
    tools=[echo],
)

response = agent.invoke({"messages": [{"role": "user", "content": "Скажи 'готов к работе'"}]})
print(response["messages"][-1].content)

Запустите:

python check.py

Ожидаемый вывод:

Готов к работе! 👍

После этого откройте smith.langchain.com и убедитесь, что трейс появился в проекте agents-course. Вы увидите граф вызовов: model → (если решил вызвать инструмент) tools → model → ответ.


Частые ошибки

Ошибка: ImportError: cannot import name 'create_agent' from 'langchain.agents'

ImportError: cannot import name 'create_agent' from 'langchain.agents'

Причина: установлена старая версия LangChain (0.x или ранний 1.x). create_agent появился в LangChain v1+.

pip install --upgrade langchain

Проверьте версию:

python -c "import langchain; print(langchain.__version__)"
# 1.x.x

Ошибка: LANGCHAIN_API_KEY не распознаётся

Иногда LangSmith читает LANGSMITH_API_KEY вместо LANGCHAIN_API_KEY. Если трейсы не появляются, попробуйте оба варианта в .env:

LANGCHAIN_API_KEY=lsv2_...
LANGSMITH_API_KEY=lsv2_...

Готовы?

Запустили check.py и увидели трейс в LangSmith, значит всё настроено.

Переходите к уроку 1: create_agent и цикл агента.

урок 1 >>


Подписывайтесь на мой Telegram канал

Если вам нужен ментор и вы хотите научиться разрабатывать AI агентов, пишите мне

Авторизуйтесь, чтобы оставить комментарий.

Комментариев: 0

Нет комментариев.

Тут может быть ваша реклама

Пишите info@aisferaic.ru

Похожие туториалы