Update README.md
This commit is contained in:
@@ -1,53 +1,40 @@
|
|||||||
# Практическое задание №3: Память и подтверждение действий
|
# Практическое задание №3: Память и подтверждение действий
|
||||||
|
|
||||||
## Описание
|
Минимальный пример AI-agent с потоковой выдачей ответа.
|
||||||
|
|
||||||
Данное задание демонстрирует работу агента на LangGraph с включенной памятью, паузой перед вызовом инструмента и подтверждением пользователем. Агент использует OpenAI модели, библиотеку `rich` для красивого вывода и `MemorySaver` для сохранения истории.
|
## Что внутри
|
||||||
|
|
||||||
|
- `stream_agent.py` - агент с синхронным и потоковым режимом.
|
||||||
|
- `test_stream_agent.py` - быстрые проверки stream-логики без внешнего API.
|
||||||
|
- `requirements.txt` - зависимости для запуска.
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Клонируйте репозиторий
|
python -m venv .venv
|
||||||
git clone <repo-url>
|
source .venv/bin/activate
|
||||||
cd <repo-dir>
|
|
||||||
|
|
||||||
# Создайте и активируйте виртуальное окружение (необязательно)
|
|
||||||
python -m venv venv
|
|
||||||
source venv/bin/activate # Windows: venv\Scripts\activate
|
|
||||||
|
|
||||||
# Установите зависимости
|
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
|
||||||
# Установите переменную окружения с ключом OpenAI
|
|
||||||
export OPENAI_API_KEY=your_key_here # Windows: set OPENAI_API_KEY=your_key_here
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Запуск
|
## Запуск
|
||||||
|
|
||||||
|
Оффлайн-режим без ключей:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python agent.py
|
python stream_agent.py "Объясни, что такое stream режим"
|
||||||
```
|
```
|
||||||
|
|
||||||
Вы будете видеть диалог с агентом. При каждом вызове инструмента агент попросит подтвердить действие. Нажмите `y` для выполнения или `n` для отмены.
|
С OpenAI-compatible API:
|
||||||
|
|
||||||
## Пример
|
```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 "Напиши короткий план проекта"
|
||||||
--- --- ---
|
|
||||||
|
|
||||||
get_price({'city': 'Казань', 'date': 'сегодня'})
|
|
||||||
Агент хочет вызвать утилиту get_price({'city': 'Казань', 'date': 'сегодня'})
|
|
||||||
Разрешить? (Y/n): y
|
|
||||||
|
|
||||||
Казань сегодня: 25°C, облачно
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Технологии
|
## Тесты
|
||||||
- Python 3.11+
|
|
||||||
- LangGraph
|
```bash
|
||||||
- OpenAI LLM
|
python -m pytest
|
||||||
- Rich
|
```
|
||||||
- MemorySaver
|
|
||||||
- LangGraph tools
|
|
||||||
|
|||||||
Reference in New Issue
Block a user