From 78dfe4666d7e2ee9241c06f4b6ac23a17fa8747c Mon Sep 17 00:00:00 2001 From: lonpatovaadelina Date: Fri, 29 May 2026 06:39:24 +0000 Subject: [PATCH] =?UTF-8?q?=D0=AD=D0=BA=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD:=20?= =?UTF-8?q?=D0=9F=D0=BB=D0=B0=D0=BD=D0=B8=D1=80=D1=83=D1=8E=D1=89=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=B0=D0=B3=D0=B5=D0=BD=D1=82:=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ca14403..db0eb9b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,107 @@ -# task-6a1864fd-ekzamen-planiruyuschiy-ag +# Планирующий агент (LangGraph) -Решения домашних заданий \ No newline at end of file +**Экзаменационное практическое задание** – собрать LangGraph‑агента с отдельным этапом планирования. +Сначала LLM разбивает задачу на шаги, затем выполняет их по очереди и выдаёт итоговый ответ. + +--- + +## 📖 Описание + +* **Язык**: Python 3.10+ +* **Библиотеки**: + * `langgraph` – граф с прерываниями и чекпоинтером + * `langchain` + `langchain-openai` – вызов LLM + * `questionary` – интерактивный ввод в консоли + +> **Важно**: проект рассчитан на использование модели OpenAI. +> Если вы хотите использовать другую модель, настройте `ChatOpenAI` в `solution.py`. + +--- + +## ⚙️ Установка + +```bash +# Клонируйте репозиторий +git clone https://github.com/your-username/planning-agent.git +cd planning-agent + +# Создайте виртуальное окружение (рекомендуется) +python -m venv .venv +source .venv/bin/activate # Windows: .venv\Scripts\activate + +# Установите зависимости +pip install langgraph langchain langchain-openai questionary +``` + +> **API‑ключ** +> Установите переменную окружения `OPENAI_API_KEY` с вашим ключом OpenAI: + +```bash +export OPENAI_API_KEY="sk-..." +``` + +--- + +## 🚀 Запуск + +```bash +python solution.py +``` + +### Что происходит + +1. **Ввод задачи** – пользователь вводит задачу, которую нужно решить. +2. **Планирование** – LLM генерирует список шагов (`plan`). +3. **Выполнение** – каждый шаг выполняется последовательно, пользователь может просматривать результаты. +4. **Итог** – после выполнения всех шагов выводится финальный ответ. + +--- + +## 📄 Пример использования + +```text +$ python solution.py +Введите задачу: Напиши план по изучению Python за 3 месяца + +План: +1. Изучить основы синтаксиса +2. Практиковаться с проектами +3. Изучить продвинутые темы +4. Пройти сертификацию + +Выберите шаг для выполнения (1-4): 1 +Результат шага 1: ... +Выберите шаг для выполнения (1-4): 2 +Результат шага 2: ... +... + +Итоговый ответ: +... +``` + +--- + +## 📂 Структура проекта + +``` +. +├── solution.py # Основной скрипт +├── README.md # Это файл +└── requirements.txt # (опционально) список зависимостей +``` + +--- + +## 🔧 Настройка + +* **Параметры модели** – можно изменить в `solution.py` (например, `temperature`, `max_tokens`). +* **Чекпоинтер** – по умолчанию используется `SqliteSaver`. Путь к базе можно задать через `SqliteSaver.from_conn_str("sqlite:///graph_state.db")`. +* **Интерактивность** – `questionary` обеспечивает простое меню выбора. Если нужно убрать интерактивность, замените `select` и `text` на обычный `input()`. + +--- + +## 📜 Лицензия + +MIT © 2026 + +---``` \ No newline at end of file