Files
VDM/settings.yml
T
2025-09-05 03:39:53 -04:00

92 lines
3.9 KiB
YAML

# ==============================================================================
# VDM - VIRTUAL DUNGEON MASTER
#
# Application Settings
#
# This file controls the core behavior of the application.
# For secrets and environment-specific values (API keys, ports), use .env
# ==============================================================================
# === SECTION: Core AI & Narrative =============================================
# Controls the behavior of the Large Language Model (LLM) as the storyteller.
# ------------------------------------------------------------------------------
llm:
# The primary AI service to use for generating story content.
# Make sure the corresponding URL/API Key is set in your .env file.
# Options: "lmstudio", "ollama", "openrouter"
backend: "lmstudio"
# The model identifier for the chosen backend.
# Example for OpenRouter: "google/gemma-2-9b-it"
# Example for LM Studio: "gemma-2-9b-it-gguf" (or whatever you have loaded)
story_model: "gemma-3-12b-it-GGUF"
# The format for sending player actions to the AI.
# "json": (Recommended) More reliable and less ambiguous for modern models.
# "legacy_text": A simpler text format for older or less capable models.
prompting_strategy: "json"
# Set to 'true' if your model is specifically trained to use <thinking> and
# <RESPONSE> tags. For most models, this should be 'false'.
llm_uses_tags: false
# The maximum number of recent messages to include in the context sent to the AI.
# A larger number provides more short-term context but increases processing load.
context_messages: 20
# === SECTION: Audio & Streaming ===============================================
# Configures the text-to-speech (TTS), voice casting, and streaming behavior.
# ------------------------------------------------------------------------------
audio:
# Master switch for the real-time streaming of text and audio.
# true: Responds instantly, but is more CPU-intensive. May cause audio stutter
# on less powerful machines.
# false: Waits for the full response before playing audio. Less demanding.
enable_streaming: false
# Master switch for the Dynamic Voice Casting feature (using RVC).
# If enabled, the AI can use different voices for different characters
# based on the voice casting file below. Requires RVC models.
enable_dynamic_casting: false
# The default Kokoro voice used for narration if dynamic casting is off,
# or as a fallback voice for unassigned characters.
default_voice: "af_heart"
# === SECTION: Memory & Persistence ============================================
# Configures the AI's long-term memory and how game sessions are saved.
# ------------------------------------------------------------------------------
memory:
# The chunking strategy to use for breaking down text for the RAG system.
# Options: "simple" (original method), "chonkie" (advanced library).
chunker: "chonkie"
# The SentenceTransformer model used to create embeddings for the AI's
embedding_model: "google/embeddinggemma-300m"
# UPDATED: Split database paths for better organization.
# The database for saving game room/session states.
sessions_db_file: "./database/vdm_sessions.db"
# The database for saving user accounts and profiles.
users_db_file: "./database/vdm_users.db"
# === SECTION: Resource Paths ==================================================
# Defines where the application should find its configuration and save output.
# ------------------------------------------------------------------------------
paths:
# Path to the YAML file containing all AI system prompts.
prompts_file: "./prompts.yml"
# Path to the YAML file that maps character names to specific voices for
# the Dynamic Voice Casting feature.
voices_file: "./voices.yml"
# Directory where the long-term memory vector database (ChromaDB) is stored.
memory_dir: "./memory"
# Directory where generated TTS audio files are saved.
audio_out_dir: "./audio_out"