95 lines
3.6 KiB
Markdown
95 lines
3.6 KiB
Markdown
# Мини‑игра «Выбери свою историю»
|
||
|
||
## Описание
|
||
|
||
Проект реализует интерактивную текстовую игру на основе больших языковых моделей (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* |