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