21 lines
1.0 KiB
Markdown
21 lines
1.0 KiB
Markdown
# Практическое задание №3: Память и подтверждение действий
|
|
|
|
Агент с памятью разговора и механизмом подтверждения вызова инструментов.
|
|
|
|
## Что реализовано
|
|
|
|
1. **Память** — `MemorySaver` + `thread_id="разговор-1"` — агент помнит контекст
|
|
2. **Пауза перед инструментом** — `interrupt_before=['tools']` в `create_react_agent`
|
|
3. **Обнаружение паузы** — ловим `__interrupt__` в стриме, проверяем `state.next == ('tools',)`
|
|
4. **Просмотр вызова** — `state.values['messages'][-1].tool_calls[0]`
|
|
5. **Возобновление/отмена** — Y для продолжения, n для отмены
|
|
6. **Чат-цикл** — `while True` с вводом пользователя
|
|
|
|
## Запуск
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
export OPENAI_API_KEY="your-key"
|
|
python agent.py
|
|
```
|