From 7eede83b915cecd762ad7c74c1a077bad459ea6c Mon Sep 17 00:00:00 2001 From: lonpatovaadelina Date: Tue, 2 Jun 2026 06:07:24 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=8D=D0=BA=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD:=20?= =?UTF-8?q?=D0=98=D1=81=D1=81=D0=BB=D0=B5=D0=B4=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D1=81=D0=BA=D0=B8=D0=B9=20=D0=B1=D1=80=D0=B8?= =?UTF-8?q?=D1=84=20(=D0=BF=D0=BB=D0=B0=D0=BD=20=E2=86=92=20=D1=88=D0=B0?= =?UTF-8?q?=D0=B3=D0=B8=20=E2=86=92=20=D1=81=D0=B2=D0=BE=D0=B4=D0=BA=D0=B0?= =?UTF-8?q?):=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 138 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b186671..4cf7661 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,139 @@ -# task-6a1d75db-povtornyy-ekzamen-issledo +# Повторный экзамен: Исследовательский бриф (plan → steps → summary) -Решения домашних заданий \ No newline at end of file +## 📖 Описание + +`solution.py` реализует LangGraph‑агента, который по заданной теме генерирует **короткий исследовательский бриф** (½–1 страница). +Поток работы: + +1. **Outline** – LLM создаёт план из 4–5 пунктов по теме. +2. **Research step** – по каждому пункту выполняется один запрос в веб‑поиск (Tavily) и формируется краткая заметка (5–8 предложений). +3. **Synthesize** – все заметки объединяются в связный бриф с заголовками. + +Итоговый бриф сохраняется в поле `final_brief` и выводится в консоль. + +> ⚠️ Для работы требуется ключ Tavily и доступ к OpenAI (или Ollama). + +## 🛠️ Установка зависимостей + +```bash +# Создайте виртуальное окружение (рекомендуется) +python -m venv .venv +source .venv/bin/activate # Windows: .venv\Scripts\activate + +# Установите зависимости +pip install langgraph langchain-openai langchain-tavily tavily-python python-dotenv +``` + +## ⚙️ Конфигурация + +Создайте файл `.env` в корне проекта и добавьте: + +```dotenv +TAVILY_API_KEY=YOUR_TAVILY_KEY +OPENAI_API_KEY=YOUR_OPENAI_KEY # если используете OpenAI +# или +OLLAMA_BASE_URL=http://localhost:11434 # если используете Ollama +``` + +> **Важно**: ключи не должны попадать в репозиторий. Добавьте `.env` в `.gitignore`. + +## ▶️ Запуск + +```bash +python solution.py +``` + +После запуска скрипт запросит у вас тему исследования, затем последовательно выполнит все шаги и выведет финальный бриф. + +### Запуск отдельных частей + +Если вы хотите протестировать отдельный узел вручную, можно импортировать его из `solution.py` и вызвать напрямую: + +```python +from solution import outline_node, research_step, synthesize, BriefState + +state = BriefState( + topic="Artificial Intelligence in Healthcare", + outline=None, + step_index=0, + notes=[], + final_brief=None +) + +# 1. Outline +state = outline_node(state) +print(state["outline"]) + +# 2. Research step (первый пункт) +state = research_step(state) +print(state["notes"][-1]) + +# 3. Synthesize +state = synthesize(state) +print(state["final_brief"]) +``` + +## 📄 Пример использования + +```bash +$ python solution.py +Введите тему исследования: Искусственный интеллект в здравоохранении + +=== План исследования === +1. История и развитие ИИ в медицине +2. Текущие применения: диагностика, лечение, управление данными +3. Этические и юридические вопросы +4. Будущие перспективы и вызовы + +=== Шаг 1/4: История и развитие ИИ в медицине === +Заметка: ИИ в медицине появился в 1950‑х годах, когда... +... + +=== Финальный бриф === +# Искусственный интеллект в здравоохранении + +## 1. История и развитие ИИ в медицине +ИИ в медицине появился в 1950‑х годах, когда... + +## 2. Текущие применения +... + +## 3. Этические и юридические вопросы +... + +## 4. Будущие перспективы и вызовы +... +``` + +> В реальном запуске каждая заметка будет содержать 5–8 предложений, а финальный бриф – около ½–1 страницы текста. + +## 📦 Структура проекта + +``` +. +├── solution.py # Основной скрипт с реализацией LangGraph +├── .env # Переменные окружения (не коммитить) +├── README.md # Это файл +└── requirements.txt # (опционально) список зависимостей +``` + +## 🧪 Тестирование + +Для быстрой проверки можно использовать `pytest`: + +```bash +pip install pytest +pytest +``` + +> В проекте пока нет тестов, но вы можете добавить их, проверяя корректность выходных данных узлов. + +## 📚 Полезные ссылки + +- [LangGraph documentation](https://langgraph.org/) +- [LangChain Tavily integration](https://github.com/langchain-ai/langchain/tree/main/libs/langchain-tavily) +- [Tavily API docs](https://tavily.com/docs) + +--- + +**Happy coding!** \ No newline at end of file