-
Notifications
You must be signed in to change notification settings - Fork 187
Expand file tree
/
Copy path.env.example
More file actions
58 lines (51 loc) · 3.25 KB
/
Copy path.env.example
File metadata and controls
58 lines (51 loc) · 3.25 KB
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
# ───────────────────── PYTHIA ORACLE CONFIG ─────────────────────
# Osiris world data -> local LLM -> predictions. No API keys, no cost.
# Copy to .env. Defaults work out of the box if Ollama + Osiris are running.
OSIRIS_URL=http://localhost:3000
ENGINE_HOST=0.0.0.0
ENGINE_PORT=8088
# ── Oracle brain ──
# Leave the three LLM_* lines blank to reuse MiroFish's configured local model
# (read from ~/MiroFish/.env). Uncomment to override (any OpenAI-compatible API).
# LLM_BASE_URL=http://localhost:11434/v1
# LLM_API_KEY=ollama
# LLM_MODEL=llama3.1
ORACLE_TEMPERATURE=0.5 # 0=cautious, 1=imaginative
ORACLE_TIMEOUT_SEC=180
# ── Predictions ──
HORIZONS=24h,week,month,year # time horizons to forecast
PREDICTIONS_PER_HORIZON=3
LOOP_INTERVAL_SEC=900 # auto-refresh cadence when the loop is ON (15 min)
EVENT_CAP=500 # max events kept per sensing pass (salience-ranked).
# raise it if quiet domains (space weather, Green alerts)
# keep getting squeezed off the board; lower to trim memory.
# ── Swarm ──
# Give each persona its own brain (any installed Ollama model). Unset personas
# use the main oracle model. Picks made in the UI (deck → hexagon) are saved to
# runs/swarm_models.json and win over these seeds.
# SWARM_MODELS=Strategist=llama3.1:70b,Skeptic=qwen3:8b
SWARM_MAX_TOKENS=2400 # per-persona vote budget — keep generous or reasoning
# models truncate their votes (see JUDGE_MAX_TOKENS)
SWARM_CONCURRENCY=1 # personas hitting the local model at once. 1 = safe
# default for one heavyweight model; set 4 with a small
# council model (e.g. ministral-3:3b) + Ollama's
# OLLAMA_NUM_PARALLEL=4 for one-shot deliberation
# ── What-if / Hypothetical field ──
# "What if X happens?" — the oracle forecasts knock-on effects, then the personas
# you check deliberate on them (POST /whatif). Ephemeral: never enters the record.
WHATIF_MAX_TOKENS=2400 # narrative + knock-on predictions budget
# ── Track record ──
# Every forecast is persisted (runs/ledger.jsonl) and graded by an LLM judge
# when its horizon expires — Brier score + calibration at GET /scorecard.
TRACK_RECORD_ENABLED=true
RESOLVE_INTERVAL_SEC=3600 # how often to grade expired forecasts (1 h)
RESOLVE_MAX_PER_PASS=12 # forecasts LLM-judged per pass (voids are unlimited)
JUDGE_MAX_TOKENS=700 # judge's token budget — keep generous: reasoning
# models spend tokens on hidden chain-of-thought
# first, so a tight cap yields an empty (unresolved)
# verdict and the track record never fills in.
# ── Signal rules & Morning Brief ──
ALERT_INTERVAL_SEC=60 # how often to evaluate your alert rules
MORNING_BRIEF_ENABLED=true # write the daily digest automatically
MORNING_BRIEF_TIME=07:30 # local time; also settable from the deck
BRIEF_MAX_TOKENS=2600 # digest budget (reasoning models need headroom)