Spaces:
Sleeping
Sleeping
File size: 3,369 Bytes
11a8951 ac35688 44b65e5 ac35688 11a8951 ac35688 11a8951 0990d08 ac35688 0990d08 ac35688 dfce113 08ef0df dfce113 ac35688 08ef0df ac35688 dfce113 44b65e5 ac35688 0990d08 ac35688 0990d08 ac35688 0990d08 08ef0df 44b65e5 08ef0df 44b65e5 11a8951 0990d08 |
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# FILE: modules/config_settings_public.py (Definitive Final Version 3 - Corrected Gemma Repo ID)
import os
import sys
import logging
from huggingface_hub import hf_hub_download
logger = logging.getLogger("ZOTHEOS_Config")
if not logger.handlers:
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - [%(funcName)s] - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)
IS_WEB_MODE = os.path.exists("/home/user/app")
# --- β
β
β
CORRECTED GEMMA REPO ID (2B, not 2b) β
β
β
---
MODEL_DEFINITIONS = {
"mistral": {
"repo_id": "TheBloke/Mistral-7B-Instruct-v0.2-GGUF",
"filename": "mistral-7b-instruct-v0.2.Q4_K_M.gguf"
},
"gemma": {
"repo_id": "TheBloke/gemma-2B-it-GGUF", # Corrected from 2b to 2B
"filename": "gemma-2b-it.Q4_K_M.gguf"
},
"qwen": {
"repo_id": "Qwen/Qwen1.5-1.8B-Chat-GGUF",
"filename": "qwen1.5-1.8b-chat.Q4_K_M.gguf"
}
}
MODEL_PATHS = {}
if IS_WEB_MODE:
logger.info("β
β
β
RUNNING IN WEB MODE (Hugging Face Space) β
β
β
")
N_GPU_LAYERS_FALLBACK = 0
for name, model_info in MODEL_DEFINITIONS.items():
logger.info(f"Downloading model: {name} from repo: {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 model {name}. Error: {e}")
raise e
else: # LOCAL MODE
logger.info("β
β
β
RUNNING IN LOCAL MODE (Desktop/PC) β
β
β
")
APP_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_MODELS_DIR = os.path.join(APP_DIR, "models")
for name, model_info in MODEL_DEFINITIONS.items():
MODEL_PATHS[name] = os.path.join(BASE_MODELS_DIR, model_info["filename"])
N_GPU_LAYERS_FALLBACK = -1
# --- Shared Configurations ---
MAX_CONCURRENT_MODELS = 3
N_CTX_FALLBACK = 2048
VERBOSE_LLAMA_CPP = True
MODEL_SPECIFIC_PARAMS = {
"_default": {
"n_gpu_layers": N_GPU_LAYERS_FALLBACK, "n_ctx": N_CTX_FALLBACK, "f16_kv": True,
"use_mmap": True, "verbose": VERBOSE_LLAMA_CPP
},
"mistral": {"chat_format": "mistral-instruct"}, "gemma": {"chat_format": "gemma"},
"qwen": {"chat_format": "chatml"}
}
INFERENCE_PRESETS = {
"balanced": {"temperature": 0.7, "top_p": 0.9, "top_k": 40, "repeat_penalty": 1.1, "max_tokens": 1024},
"precise": {"temperature": 0.2, "top_p": 0.7, "top_k": 20, "repeat_penalty": 1.05, "max_tokens": 1536},
"creative": {"temperature": 0.9, "top_p": 0.95, "top_k": 60, "repeat_penalty": 1.15, "max_tokens": 1024}
}
DEFAULT_INFERENCE_PRESET = "balanced"
DEFAULT_SYSTEM_PROMPT = "You are ZOTHEOS, an ethical AI developed to help humanity."
MODEL_ROLES = {"mistral": "analyst", "gemma": "humanist", "qwen": "skeptic"}
MODEL_ROLE_SYSTEM_PROMPTS = {
"analyst": "You are an impartial analyst.", "humanist": "You are a human-centered assistant.",
"skeptic": "You are a critical evaluator and a respectful skeptic.", "general": DEFAULT_SYSTEM_PROMPT
}
ZOTHEOS_VERSION = "2.1 (Live)"
logger.info(f"Config loaded. Version: {ZOTHEOS_VERSION}, Web Mode: {IS_WEB_MODE}") |