How to use from
llama.cpp
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf Illaitar/aidnd-narrator:Q4_K_M
# Run inference directly in the terminal:
llama cli -hf Illaitar/aidnd-narrator:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf Illaitar/aidnd-narrator:Q4_K_M
# Run inference directly in the terminal:
llama cli -hf Illaitar/aidnd-narrator:Q4_K_M
Use pre-built binary
# Download pre-built binary from:
# https://github.com/ggerganov/llama.cpp/releases
# Start a local OpenAI-compatible server with a web UI:
./llama-server -hf Illaitar/aidnd-narrator:Q4_K_M
# Run inference directly in the terminal:
./llama-cli -hf Illaitar/aidnd-narrator:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-server llama-cli
# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama-server -hf Illaitar/aidnd-narrator:Q4_K_M
# Run inference directly in the terminal:
./build/bin/llama-cli -hf Illaitar/aidnd-narrator:Q4_K_M
Use Docker
docker model run hf.co/Illaitar/aidnd-narrator:Q4_K_M
Quick Links

aidnd-narrator — нарратор сцен и реплик (Qwen3.5-9B + LoRA)

Озвучивает происходящее в движке AI-DnD: реплики NPC, приветствия, исходы действий, бой и описания мест — живой, простой, разговорный русский, без фэнтезийного пафоса. Вывод — проза (не JSON).

Вход параметризован (один общий промпт, режим задаёт форму):

mode что генерит
dialogue реакция NPC + одна реплика в кавычках
greeting короткое приветствие NPC
outcome исход действия игрока от 2-го лица
combat удар/промах строго по механическому исходу
ambient атмосфера места, без событий

Плюс к mode на вход идут: вид NPC (профессия/раса/голос/черты/эпитет), сцена (сезон/время/погода/место), отношение, тон игрока, факты — нарратор на них заземляется.

Чему научен (и чего НЕ делает)

  • Сухой живой стиль, короткие + длинные описательные фразы; без «о, путник», «добро пожаловать, странник», без олицетворений («клинок поёт», «поместье дышит»).
  • Имена собственные — дословно, без перевода (база коверкала: «Stonehill» → «Каменный Холм»/«Стейнхилл»; адаптер сохраняет как есть).
  • Не говорит за игрока: не описывает его мысли/чувства/решения и не даёт советов («лучше иди…», «ты понимаешь, что…») — только наблюдаемое.

Как получился

  • База: unsloth/Qwen3.5-9B (Apache-2.0).

  • Метод: QLoRA SFT (4-bit), 618 примеров прозы (43 вида NPC, 35+ сцен, баланс по mode), 3 эпохи; учили только ответ ассистента. Затем мердж в базу и квантизация в Q4_K_M GGUF.

  • Before/after (отложенные промпты, тот же контекст; think:false):

    перевод канон-имён реплика NPC в диалоге пафосные клише
    база Qwen3.5-9B есть часто пустой ответ есть («Добро пожаловать…»)
    aidnd-narrator нет есть, в голосе нет

    Регистр заметно суше базы; имена не коверкаются; советы/мысли-за-игрока убраны на уровне данных и валидатора.

Запуск локально через Ollama

hf download Illaitar/aidnd-narrator aidnd-narrator-q4_k_m.gguf Modelfile --local-dir aidnd-narrator
cd aidnd-narrator && ollama create aidnd-narrator -f Modelfile
ollama run aidnd-narrator

Требуется Ollama 0.17.1+ (Modelfile использует RENDERER/PARSER qwen3.5). Запросы слать с think:false — иначе Qwen3.5 уходит в размышление и возвращает пустой content. В движке AI-DnD клиент Ollama уже шлёт think=false по умолчанию.

В движке роль narrator указывает на aidnd-narrator (AIDND_NARRATOR_MODEL, с откатом на базовую модель, если адаптера нет на сервере).

Downloads last month
24
GGUF
Model size
9B params
Architecture
qwen35
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Illaitar/aidnd-narrator

Finetuned
Qwen/Qwen3.5-9B
Adapter
(85)
this model