54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# Практическое задание №3: Память и подтверждение действий
|
|
|
|
## Описание
|
|
|
|
Данное задание демонстрирует работу агента на LangGraph с включенной памятью, паузой перед вызовом инструмента и подтверждением пользователем. Агент использует OpenAI модели, библиотеку `rich` для красивого вывода и `MemorySaver` для сохранения истории.
|
|
|
|
## Установка
|
|
|
|
```bash
|
|
# Клонируйте репозиторий
|
|
git clone <repo-url>
|
|
cd <repo-dir>
|
|
|
|
# Создайте и активируйте виртуальное окружение (необязательно)
|
|
python -m venv venv
|
|
source venv/bin/activate # Windows: venv\Scripts\activate
|
|
|
|
# Установите зависимости
|
|
pip install -r requirements.txt
|
|
|
|
# Установите переменную окружения с ключом OpenAI
|
|
export OPENAI_API_KEY=your_key_here # Windows: set OPENAI_API_KEY=your_key_here
|
|
```
|
|
|
|
## Запуск
|
|
|
|
```bash
|
|
python agent.py
|
|
```
|
|
|
|
Вы будете видеть диалог с агентом. При каждом вызове инструмента агент попросит подтвердить действие. Нажмите `y` для выполнения или `n` для отмены.
|
|
|
|
## Пример
|
|
|
|
```
|
|
Вы: Какая погода в Казани сегодня?
|
|
|
|
--- --- ---
|
|
|
|
get_price({'city': 'Казань', 'date': 'сегодня'})
|
|
Агент хочет вызвать утилиту get_price({'city': 'Казань', 'date': 'сегодня'})
|
|
Разрешить? (Y/n): y
|
|
|
|
Казань сегодня: 25°C, облачно
|
|
```
|
|
|
|
## Технологии
|
|
- Python 3.11+
|
|
- LangGraph
|
|
- OpenAI LLM
|
|
- Rich
|
|
- MemorySaver
|
|
- LangGraph tools
|