From f928981b2e9b2b89b10ff9da35741d1b4181a39a Mon Sep 17 00:00:00 2001 From: lonpatovaadelina Date: Thu, 28 May 2026 10:43:54 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1616946..f607263 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,113 @@ -# tekstovaya-igra-na-osnove-llm-interrupt +# Мини‑игра «Выбери свою историю» +## (Interactive Storytelling with LLM + Interrupt) -Решение: текстовая игра на основе llm + interrupt \ No newline at end of file +--- + +## 📖 Описание + +`solution.py` реализует простую текстовую игру в стиле *«выбери свою историю»*. +Процесс игры выглядит так: + +1. **LLM** генерирует начальную сцену и несколько вариантов действий героя. +2. С помощью `langgraph` выполнение «приостанавливается» (interrupt). +3. Пользователь выбирает один из предложенных вариантов через консольный интерфейс (`questionary`). +4. После выбора LLM дописывает короткую концовку, учитывая выбранное действие. + +Таким образом игрок управляет сюжетом в реальном времени, а модель отвечает на его выборы. + +--- + +## ⚙️ Предварительные требования + +| Компонент | Версия | +|-----------|--------| +| Python | 3.10+ | +| pip | - | + +> **Важно**: Для работы с LLM требуется ключ OpenAI API. +> Установите переменную окружения `OPENAI_API_KEY` перед запуском. + +--- + +## 📦 Установка + +```bash +# Клонируйте репозиторий (или скачайте файлы) +git clone https://github.com/yourname/text-adventure-llm.git +cd text-adventure-llm + +# Создайте виртуальное окружение (рекомендуется) +python -m venv .venv +source .venv/bin/activate # Windows: .\.venv\Scripts\activate + +# Установите зависимости +pip install -r requirements.txt +``` + +`requirements.txt` содержит: + +```text +langgraph>=0.1.0 +langchain>=0.2.0 +questionary>=1.10.0 +openai>=1.0.0 +``` + +--- + +## ▶️ Запуск + +```bash +# Установите ключ OpenAI (пример) +export OPENAI_API_KEY="sk-..." + +# Запустите игру +python solution.py +``` + +После запуска вы увидите: + +``` +LLM: "Ты стоишь на перекрестке в древнем городе. Что ты сделаешь?" +1) Пойти к рынку +2) Исследовать подземелье +3) Вернуться домой + +Выберите действие (1/2/3): +``` + +Введите номер, и модель продолжит историю. + +--- + +## 🎮 Пример игры + +``` +LLM: "Ты стоишь на перекрестке в древнем городе. Что ты сделаешь?" +1) Пойти к рынку +2) Исследовать подземелье +3) Вернуться домой + +Выберите действие (1/2/3): 2 + +LLM: "Твое решение исследовать подземелье заставило тебя спуститься по узкой лестнице, ведущей в мрачные глубины. Внутри ты обнаружил..." +``` + +--- + +## 📚 Как это работает + +- **LangGraph** управляет состоянием и прерываниями. +- **ChatOpenAI** (из `langchain`) отвечает за генерацию текста. +- **questionary** обеспечивает интерактивный выбор в консоли. + +Вы можете расширить игру, добавив больше веток, логики выбора или даже графический интерфейс. + +--- + +## 🤝 Вклад + +Если хотите улучшить проект – создайте *pull request*! +Пожалуйста, придерживайтесь стиля кода и добавляйте тесты при необходимости. + +--- \ No newline at end of file