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
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Задание 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` для каждого вызова инструмента
|
||||
Reference in New Issue
Block a user