Files
tekstovaya-igra-na-osnove-l…/README.md
T

109 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Interactive Text Adventure with LLM & Interrupts
**Solution:** `solution.py`
---
## 📖 Описание
`solution.py` реализует мини‑игру «Выбери свою историю» на основе больших языковых моделей (LLM).
1. **Генерация начала** – LLM создаёт завязку и несколько вариантов действий.
2. **Пауза (interrupt)** граф LangGraph ставит паузу, ожидая выбора игрока.
3. **Выбор пользователя** – через консольный интерфейс `questionary` пользователь выбирает вариант.
4. **Продолжение истории** – после выбора 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` на соответствующий провайдер.
---
## 🚀 Установка
```bash
# 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`:
```text
langchain>=0.2.0
langgraph>=0.1.0
questionary>=1.10.0
rich>=13.0.0
openai>=1.0.0 # если используете OpenAI
```
---
## ▶️ Запуск
```bash
# Установите переменную окружения с ключом API (пример для Linux/macOS)
export OPENAI_API_KEY="sk-..."
# Для Windows:
set OPENAI_API_KEY=sk-...
python solution.py
```
После запуска вы увидите интерактивный диалог в терминале. Выбирайте варианты, и история будет развиваться.
---
## 📋 Пример работы
```text
> Начало истории:
Вы просыпаетесь в таинственном лесу. Вокруг слышен шорох ветра.
Варианты действий:
1) Исследовать ближайший домик
2) Пойти к озеру
3) Остановиться и послушать тишину
Выберите номер: 2
> Вы выбрали: "Пойти к озеру"
LLM продолжает историю...
```
---
## 📚 Что дальше?
- Добавьте более сложные ветки и условия.
- Сохраните состояние в файл, чтобы игрок мог возобновить игру позже (`langgraph.checkpoint.file`).
- Интегрируйте голосовой ввод/вывод для более «живого» опыта.
---
## 📄 Лицензия
MIT © 2026
---