Files
task5-hitl-middleware/README.md
T
maratfazylov19 ebe9e913f5 feat: Human-in-the-Loop через middleware
- Агент с HumanInTheLoopMiddleware для подтверждения вызовов инструментов
- Инструменты: get_weather, search_web
- Цикл: invoke → __interrupt__ → approve/reject → Command(resume=...)
- Поддержка approve и reject с сообщением при отказе
- requirements.txt, .env.example, README.md
2026-05-08 17:18:24 +03:00

35 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Задание 5: Human-in-the-Loop через middleware
## Описание
Агент с `HumanInTheLoopMiddleware`: при каждом вызове инструмента
агент останавливается, в терминале показывается что он хочет сделать,
пользователь вводит решение (approve или reject),
после чего выполнение возобновляется через `Command(resume=...)`.
## Стек
- Python 3.10+
- langchain-core, langchain-openai, langgraph
## Установка
```bash
pip install -r requirements.txt
cp .env.example .env
# Заполнить OPENAI_API_KEY в .env
```
## Запуск
```bash
python main.py "Какая погода в Казани сегодня?"
```
## Архитектура
- `get_weather`, `search_web` — инструменты агента
- `HumanInTheLoopMiddleware` — middleware для подтверждения вызовов
- `run_agent_with_hitl()` — цикл: invoke → __interrupt__ → решения → resume
- Поддерживаются `approve` и `reject` для каждого вызова инструмента