Update README.md

This commit is contained in:
2026-05-18 11:01:47 +00:00
parent 7864b801ac
commit 6d73605da1
+22 -35
View File
@@ -1,53 +1,40 @@
# Практическое задание №3: Память и подтверждение действий
## Описание
Минимальный пример AI-agent с потоковой выдачей ответа.
Данное задание демонстрирует работу агента на LangGraph с включенной памятью, паузой перед вызовом инструмента и подтверждением пользователем. Агент использует OpenAI модели, библиотеку `rich` для красивого вывода и `MemorySaver` для сохранения истории.
## Что внутри
- `stream_agent.py` - агент с синхронным и потоковым режимом.
- `test_stream_agent.py` - быстрые проверки stream-логики без внешнего API.
- `requirements.txt` - зависимости для запуска.
## Установка
```bash
# Клонируйте репозиторий
git clone <repo-url>
cd <repo-dir>
# Создайте и активируйте виртуальное окружение (необязательно)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Установите зависимости
python -m venv .venv
source .venv/bin/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
python stream_agent.py "Объясни, что такое stream режим"
```
Вы будете видеть диалог с агентом. При каждом вызове инструмента агент попросит подтвердить действие. Нажмите `y` для выполнения или `n` для отмены.
С OpenAI-compatible API:
## Пример
```
Вы: Какая погода в Казани сегодня?
--- --- ---
get_price({'city': 'Казань', 'date': 'сегодня'})
Агент хочет вызвать утилиту get_price({'city': 'Казань', 'date': 'сегодня'})
Разрешить? (Y/n): y
Казань сегодня: 25°C, облачно
```bash
export OPENAI_API_KEY=your_key
export OPENAI_BASE_URL=https://openrouter.ai/api/v1
export OPENAI_MODEL=openai/gpt-oss-20b:free
python stream_agent.py "Напиши короткий план проекта"
```
## Технологии
- Python 3.11+
- LangGraph
- OpenAI LLM
- Rich
- MemorySaver
- LangGraph tools
## Тесты
```bash
python -m pytest
```