"""Runtime config. Paths resolve relative to this folder. LOCAL ONLY: set MEDGEMMA_PATH (or edit MODEL_PATH) to a downloaded MedGemma folder; nothing is fetched from the Hub.""" import json import os ROOT = os.path.dirname(os.path.abspath(__file__)) RUN_DIR = ROOT VEC_DIR = ROOT CLAIM_PROBE_PATH = os.path.join(ROOT, "claim_probe.json") # H: false-claim detector GATE_PROBE_PATH = os.path.join(ROOT, "gate_probe.json") # S: pressure detector # Local MedGemma folder. Set the MEDGEMMA_PATH env var, OR replace "" below with your # downloaded folder, e.g. r"C:\path\to\medgemma-1.5-4b-it". Nothing is fetched from the Hub. MODEL_PATH = os.environ.get("MEDGEMMA_PATH", r"") # Steering strengths (overridden by steering_config.json if present). ITI_ALPHA = 12.0 ITI_S_ALPHA = 12.0 _scfg = os.path.join(ROOT, "steering_config.json") if os.path.exists(_scfg): try: _c = json.load(open(_scfg, encoding="utf-8")) ITI_ALPHA = float(_c.get("ITI_ALPHA", ITI_ALPHA)) ITI_S_ALPHA = float(_c.get("ITI_S_ALPHA", ITI_S_ALPHA)) except Exception: pass ITI_NORM_CAP = 4.0 # cap per-token head shift to <= this x the head's own norm CHAT_MAX_NEW = 2048 # thinking-span delimiters (Gemma reserved tokens) used by split_think() THINK_OPEN = "" THINK_CLOSE = "" NO_REPEAT_NGRAM = 0 REPETITION_PENALTY = 1.0 # probe logit -> 0..1 strength (iti.continuous_strength) STRENGTH_TEMP = 1.5 STRENGTH_NEUTRAL = 0.5 STRENGTH_CLAMP = 1.0 # token-decay schedule for the nudge (ITISteerer) SYCO_SCHED_ON = 24 SYCO_SCHED_RAMP = 24