File size: 2,395 Bytes
6645e8f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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"))