Jarvis / config.py
NeuMax's picture
Upload 11 files
6645e8f verified
Raw History Blame Contribute Delete
2.4 kB
# JARVIS HuggingFace Configuration
# All paths driven by environment variables β€” no hardcoded Windows paths
import os
# ── Paths (env-var driven, HF-friendly) ────────────────────────────────────
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
MEMORY_DIR = os.environ.get("JARVIS_MEMORY_DIR", os.path.join(BASE_DIR, "data", "memory"))
DB_PATH = os.environ.get("JARVIS_DB_PATH", os.path.join(MEMORY_DIR, "jarvis.db"))
# ── Model (HuggingFace) ────────────────────────────────────────────────────
# For 16 GB RAM: Phi-3 Mini (3.8B, 4-bit) or Mistral-7B (4-bit)
# phi3:mini fits easily; Mistral-7B-Instruct needs bitsandbytes 4-bit quant
HF_MODEL = os.environ.get("JARVIS_MODEL", "microsoft/Phi-3-mini-4k-instruct")
# Quantisation: set "4bit" to load in 4-bit (saves VRAM/RAM; needs bitsandbytes)
# set "8bit" for 8-bit, leave blank for full-precision (fp16/fp32).
QUANT_MODE = os.environ.get("JARVIS_QUANT", "4bit") # 4bit / 8bit / none
# ── Voice ──────────────────────────────────────────────────────────────────
TTS_VOICE = os.environ.get("JARVIS_TTS_VOICE", "en-US-GuyNeural")
WHISPER_MODEL = os.environ.get("JARVIS_WHISPER_MODEL", "base")
# ── Agent identity ──────────────────────────────────────────────────────────
AGENT_NAME = "JARVIS"
AGENT_TAGLINE = "Just A Rather Very Intelligent System"
# ── Thinking engine ─────────────────────────────────────────────────────────
THINKING_ENABLED = os.environ.get("JARVIS_THINKING", "true").lower() == "true"
THINKING_INTERVAL = int(os.environ.get("JARVIS_THINK_INTERVAL", "3600"))
# ── Memory ──────────────────────────────────────────────────────────────────
MAX_HISTORY = int(os.environ.get("JARVIS_MAX_HISTORY", "20"))