File size: 2,361 Bytes
c463ba3
ac35688
 
 
 
 
ac5a3a1
ac35688
ac5a3a1
40b123c
 
ac5a3a1
 
9f05f25
 
c463ba3
 
9f05f25
 
c463ba3
835e795
40b123c
ac35688
9f05f25
f728ad5
 
ac5a3a1
40b3752
dfce113
92f3987
84c30f1
92f3987
 
 
 
 
 
9f05f25
ac5a3a1
ac35688
92f3987
40b3752
ac5a3a1
 
 
92f3987
40b123c
9470356
 
 
9f05f25
 
ac5a3a1
 
ac35688
ac5a3a1
92f3987
9f05f25
ac5a3a1
 
 
de81947
 
ac5a3a1
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# FILE: modules/config_settings_public.py (HF Demo - v9.0)

import os
import logging
from huggingface_hub import hf_hub_download

logger = logging.getLogger("ZOTHEOS_Config_HF")

# --- βœ… DEFINITIVE & VERIFIED WEB-OPTIMIZED MODEL SOURCES ---
MODEL_DEFINITIONS = {
    "mistral": {
        "repo_id": "TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
        "filename": "mistral-7b-instruct-v0.2.Q2_K.gguf"
    },
    "gemma": {
        "repo_id": "google/gemma-2b-it-gguf",
        "filename": "gemma-2b-it.gguf"
    },
    "qwen": {
        "repo_id": "Qwen/Qwen1.5-1.8B-Chat-GGUF",   # This is the correct, official GGUF repository
        "filename": "qwen1_5-1_8b-chat-q2_k.gguf" # βœ… This is a verified, existing file in that repo
    }
}

MODEL_PATHS = {}

logger.info("βœ…βœ…βœ… RUNNING IN WEB DEMO MODE (True Fusion - CPU Survival) βœ…βœ…βœ…")
N_GPU_LAYERS_FALLBACK = 0  # Force CPU-only mode

for name, model_info in MODEL_DEFINITIONS.items():
    logger.info(f"Downloading demo model: {name} from {model_info['repo_id']}...")
    try:
        MODEL_PATHS[name] = hf_hub_download(repo_id=model_info["repo_id"], filename=model_info["filename"])
        logger.info(f"βœ… Successfully downloaded {name}")
    except Exception as e:
        logger.error(f"❌ FAILED to download {name}: {e}")
        raise e

# --- βœ… CPU-OPTIMIZED MODEL PARAMETERS ---
MODEL_SPECIFIC_PARAMS = {
    "_default": { 
        "n_gpu_layers": N_GPU_LAYERS_FALLBACK,
        "n_ctx": 1024,
        "n_batch": 256,
        "n_threads": 4,
        "verbose": True
    },
    "mistral": { "chat_format": "mistral-instruct" },
    "gemma": { "chat_format": "gemma" },
    "qwen": { "chat_format": "chatml" }
}

# --- TIER INFERENCE & PROMPTS ---
INFERENCE_PRESETS = {"balanced": {"temperature": 0.7, "max_tokens": 256}}
DEFAULT_INFERENCE_PRESET = "balanced"
DEFAULT_SYSTEM_PROMPT = "You are ZOTHEOS, an ethical AI. Respond concisely and only in English."
MODEL_ROLES = {"mistral": "analyst", "gemma": "humanist", "qwen": "skeptic"}
MODEL_ROLE_SYSTEM_PROMPTS = {
    "analyst": "You are an analyst. Be logical. Respond only in English.",
    "humanist": "You are a humanist. Focus on values. Respond only in English.",
    "skeptic": "You are a skeptic. Challenge the premise. Respond only in English.",
}

logger.info("βœ… Hugging Face Demo (CPU Survival Mode) Configuration Loaded.")