Добавлен README.md

This commit is contained in:
2026-05-28 10:43:54 +00:00
parent 2a385c8819
commit f928981b2e
+112 -2
View File
@@ -1,3 +1,113 @@
# tekstovaya-igra-na-osnove-llm-interrupt
# Мини‑игра «Выбери свою историю»
## (Interactive Storytelling with LLM + Interrupt)
Решение: текстовая игра на основе llm + interrupt
---
## 📖 Описание
`solution.py` реализует простую текстовую игру в стиле *«выбери свою историю»*.
Процесс игры выглядит так:
1. **LLM** генерирует начальную сцену и несколько вариантов действий героя.
2. С помощью `langgraph` выполнение «приостанавливается» (interrupt).
3. Пользователь выбирает один из предложенных вариантов через консольный интерфейс (`questionary`).
4. После выбора LLM дописывает короткую концовку, учитывая выбранное действие.
Таким образом игрок управляет сюжетом в реальном времени, а модель отвечает на его выборы.
---
## ⚙️ Предварительные требования
| Компонент | Версия |
|-----------|--------|
| Python | 3.10+ |
| pip | - |
> **Важно**: Для работы с LLM требуется ключ OpenAI API.
> Установите переменную окружения `OPENAI_API_KEY` перед запуском.
---
## 📦 Установка
```bash
# Клонируйте репозиторий (или скачайте файлы)
git clone https://github.com/yourname/text-adventure-llm.git
cd text-adventure-llm
# Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
# Установите зависимости
pip install -r requirements.txt
```
`requirements.txt` содержит:
```text
langgraph>=0.1.0
langchain>=0.2.0
questionary>=1.10.0
openai>=1.0.0
```
---
## ▶️ Запуск
```bash
# Установите ключ OpenAI (пример)
export OPENAI_API_KEY="sk-..."
# Запустите игру
python solution.py
```
После запуска вы увидите:
```
LLM: "Ты стоишь на перекрестке в древнем городе. Что ты сделаешь?"
1) Пойти к рынку
2) Исследовать подземелье
3) Вернуться домой
Выберите действие (1/2/3):
```
Введите номер, и модель продолжит историю.
---
## 🎮 Пример игры
```
LLM: "Ты стоишь на перекрестке в древнем городе. Что ты сделаешь?"
1) Пойти к рынку
2) Исследовать подземелье
3) Вернуться домой
Выберите действие (1/2/3): 2
LLM: "Твое решение исследовать подземелье заставило тебя спуститься по узкой лестнице, ведущей в мрачные глубины. Внутри ты обнаружил..."
```
---
## 📚 Как это работает
- **LangGraph** управляет состоянием и прерываниями.
- **ChatOpenAI** (из `langchain`) отвечает за генерацию текста.
- **questionary** обеспечивает интерактивный выбор в консоли.
Вы можете расширить игру, добавив больше веток, логики выбора или даже графический интерфейс.
---
## 🤝 Вклад
Если хотите улучшить проект – создайте *pull request*!
Пожалуйста, придерживайтесь стиля кода и добавляйте тесты при необходимости.
---