# Мини‑игра «Выбери свою историю» ## Описание Проект реализует интерактивную текстовую игру на основе больших языковых моделей (LLM). Сценарий игры строится следующим образом: 1. **LLM** генерирует начальную завязку и несколько вариантов действий для главного героя. 2. С помощью **LangGraph** выполнение модели ставится в состояние *прерывания* – пользователь получает список вариантов через консольный интерфейс. 3. Пользователь выбирает один из вариантов при помощи `questionary`. 4. После выбора LLM дописывает короткую концовку, учитывая выбранный путь. Таким образом игрок участвует в создании истории в реальном времени, а модель реагирует на его решения. ## Предварительные требования | Пакет | Версия | |-------|--------| | Python | 3.10+ | | pip | любой актуальный | Для работы с OpenAI API понадобится ключ `OPENAI_API_KEY`. Установите переменную окружения: ```bash export OPENAI_API_KEY="sk-..." ``` ## Установка 1. Клонируйте репозиторий (или скачайте файлы): ```bash git clone https://github.com/yourname/text-adventure.git cd text-adventure ``` 2. Создайте и активируйте виртуальное окружение: ```bash python -m venv .venv source .venv/bin/activate # Linux/macOS .\.venv\Scripts\activate # Windows ``` 3. Установите зависимости из `requirements.txt` (или вручную): ```bash pip install -r requirements.txt ``` Если файла нет, установите пакеты по отдельности: ```bash pip install langgraph langchain langchain-openai questionary rich ``` ## Запуск После установки и настройки переменной окружения просто запустите скрипт: ```bash python solution.py ``` Вы увидите в консоли начальную историю, список вариантов действий и сможете выбрать один из них. После выбора LLM сгенерирует короткую концовку. ## Пример работы ``` > Запуск игры... Начальная сцена: Вы просыпаетесь в темном лесу. Вокруг слышен шорох ветвей. Что вы будете делать? 1) Пойти к свету 2) Остановиться и послушать шумы 3) Спрятаться за деревом Выберите номер варианта: 1 Вы выбрали: "Пойти к свету" Концовка: Вы идёте по тропинке, пока не видите маленькую хижину. Внутри вы находите старую книгу... ``` > **Важно** > Если при запуске возникнет ошибка `openai.error.AuthenticationError`, проверьте корректность переменной `OPENAI_API_KEY`. --- *Автор: [Ваше имя]* *Дата: 2026‑05‑28*