b9443e6737746e98bdbafa81d8aa03889653c8e4
Interactive Text Adventure with LLM & Interrupts
Solution: solution.py
📖 Описание
solution.py реализует мини‑игру «Выбери свою историю» на основе больших языковых моделей (LLM).
- Генерация начала – LLM создаёт завязку и несколько вариантов действий.
- Пауза (interrupt) – граф LangGraph ставит паузу, ожидая выбора игрока.
- Выбор пользователя – через консольный интерфейс
questionaryпользователь выбирает вариант. - Продолжение истории – после выбора LLM дописывает дальнейший сюжет.
Граф построен с помощью langgraph, а состояние сохраняется в памяти (InMemorySaver). Для вывода текста используется rich.
⚙️ Предварительные требования
| Пакет | Версия |
|---|---|
| Python | 3.10+ |
| langchain | ≥0.2.0 |
| langgraph | ≥0.1.0 |
| questionary | ≥1.10.0 |
| rich | ≥13.0.0 |
| openai (или любая LLM‑провайдер) | – |
Важно:
- Для работы с OpenAI понадобится переменная окружения
OPENAI_API_KEY.- Если используете другую модель, замените импорт
ChatOpenAIна соответствующий провайдер.
🚀 Установка
# 1. Клонируйте репозиторий (или скопируйте файл solution.py)
git clone https://github.com/yourusername/interactive-adventure.git
cd interactive-adventure
# 2. Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
# 3. Установите зависимости
pip install -r requirements.txt
requirements.txt:
langchain>=0.2.0
langgraph>=0.1.0
questionary>=1.10.0
rich>=13.0.0
openai>=1.0.0 # если используете OpenAI
▶️ Запуск
# Установите переменную окружения с ключом API (пример для Linux/macOS)
export OPENAI_API_KEY="sk-..."
# Для Windows:
set OPENAI_API_KEY=sk-...
python solution.py
После запуска вы увидите интерактивный диалог в терминале. Выбирайте варианты, и история будет развиваться.
📋 Пример работы
> Начало истории:
Вы просыпаетесь в таинственном лесу. Вокруг слышен шорох ветра.
Варианты действий:
1) Исследовать ближайший домик
2) Пойти к озеру
3) Остановиться и послушать тишину
Выберите номер: 2
> Вы выбрали: "Пойти к озеру"
LLM продолжает историю...
📚 Что дальше?
- Добавьте более сложные ветки и условия.
- Сохраните состояние в файл, чтобы игрок мог возобновить игру позже (
langgraph.checkpoint.file). - Интегрируйте голосовой ввод/вывод для более «живого» опыта.
📄 Лицензия
MIT © 2026
Description
Languages
Python
100%