-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.env.validator.example
More file actions
128 lines (110 loc) · 5.86 KB
/
Copy path.env.validator.example
File metadata and controls
128 lines (110 loc) · 5.86 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# =============================================================================
# EIREL subnet — validator-side template (.env.validator)
# Copy to .env.validator and fill in values for your validator deployment.
# =============================================================================
# --- Operator owner-api (public URL the subnet operator exposes) ---
# Ask the subnet operator for the canonical public URL, e.g.
# OWNER_API_URL=https://api.eirel.ai
OWNER_API_URL=
# --- Bittensor chain target ---
BITTENSOR_NETWORK=finney
BITTENSOR_NETUID=36
# --- Validator wallet ---
# Expected at ${BITTENSOR_WALLETS_PATH}/<NAME>/hotkeys/<HOTKEY>.
# Default wallet path is ~/.bittensor/wallets on the host.
BITTENSOR_WALLETS_PATH=/root/.bittensor/wallets
EIREL_VALIDATOR_WALLET_NAME=
EIREL_VALIDATOR_HOTKEY_NAME=
# --- Active families ---
EIREL_VALIDATOR_ACTIVE_FAMILIES=general_chat
# =============================================================================
# Eiretes judge (Chutes-hosted GLM-5.1-TEE — runs in the eiretes-judge sidecar)
# =============================================================================
# Each validator runs its own eiretes-judge sidecar and pays its own LLM bill.
# All three internal judge roles (pairwise / multi / eval) share ONE
# Chutes-hosted GLM-5.1-TEE deployment — single TEE-attestable model covers
# the entire scoring path; validators can verify which model+weights produced
# the score.
#
# Cost ballpark: ~$0.05/judge call × 100 tasks × N miners = ~$5N/run.
# Eiretes-side judge config — read by eiretes/eval/config.py.
# Falls back to EIREL_JUDGE_* below when blank (one-release compat).
EIREL_EVAL_JUDGE_BASE_URL=https://llm.chutes.ai/v1
EIREL_EVAL_JUDGE_API_KEY=
EIREL_EVAL_JUDGE_MODEL=zai-org/GLM-5.1-TEE
EIREL_EVAL_JUDGE_TIMEOUT_SECONDS=300
EIREL_EVAL_JUDGE_MAX_TOKENS=8192
# Where the validator-engine reaches the eiretes-judge sidecar.
EIREL_JUDGE_SERVICE_URL=http://eiretes-judge:8095
# =============================================================================
# Validator-side 3-oracle layer (OpenAI + Gemini + Grok)
# =============================================================================
# At task-claim time, items tagged ``oracle_source: three_oracle`` get
# enriched by the validator's 3-oracle fanout: OpenAI + Gemini + Grok in
# parallel, then the Chutes reconciler synthesizes the consensus claim
# set. ``expected_claims`` are cached in-process per task and reused
# across every miner that judges that task within the batch.
#
# Each validator independently produces ground truth — decentralized
# verification, no single-point oracle bottleneck. Cost per validator
# per cycle: ~100 tasks × 4 LLM calls = ~400 calls (cached across
# miners). With M validators, total = 400M.
#
# Layer activation: ALL THREE oracles + reconciler must have BASE_URL +
# API_KEY + MODEL configured. Below that, three_oracle items fall back
# to ``oracle_status="disputed"`` with the template-floor must_not_claim
# preserved (graceful degradation; not a crash).
# OpenAI oracle
EIREL_VALIDATOR_ORACLE_OPENAI_BASE_URL=https://api.openai.com/v1
EIREL_VALIDATOR_ORACLE_OPENAI_API_KEY=
EIREL_VALIDATOR_ORACLE_OPENAI_MODEL=gpt-5.4
# Gemini oracle (Google Generative Language API; different request shape)
EIREL_VALIDATOR_ORACLE_GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta
EIREL_VALIDATOR_ORACLE_GEMINI_API_KEY=
EIREL_VALIDATOR_ORACLE_GEMINI_MODEL=gemini-3.1-pro-preview
# Grok oracle (xAI's OpenAI-compatible endpoint)
EIREL_VALIDATOR_ORACLE_GROK_BASE_URL=https://api.x.ai/v1
EIREL_VALIDATOR_ORACLE_GROK_API_KEY=
EIREL_VALIDATOR_ORACLE_GROK_MODEL=grok-4.3
# Optional knobs (defaults shown).
EIREL_VALIDATOR_ORACLE_TIMEOUT_S=120
EIREL_VALIDATOR_ORACLE_PARALLEL=1
# Pairwise comparator vendor — which of the 3 oracles' answers the
# pairwise judge sees as the reference. Eliminates the per-task
# OpenAI baseline call (~$0.05/task × ~30 tasks/cycle ≈ $1.50/cycle
# saved) by reusing the already-cached oracle answer. Choices:
# openai | gemini | grok. Default openai. Falls back through the
# other vendors then to expected_claims[0] when the chosen vendor
# errored.
EIREL_VALIDATOR_PAIRWISE_REFERENCE_VENDOR=openai
# =============================================================================
# Validator-side reconciler (Chutes-hosted zai-org/GLM-5.1-TEE)
# =============================================================================
# Synthesizes the 3 oracle answers into ``expected_claims`` +
# ``must_not_claim_extras``. Same TEE-attestable model the eiretes-judge
# uses — single deployment covers the entire scoring path.
#
# Set to your Chutes API key — same account as the judge above, or a
# different one if you want the reconciler funded from a separate ledger.
EIREL_VALIDATOR_RECONCILER_BASE_URL=https://llm.chutes.ai/v1
EIREL_VALIDATOR_RECONCILER_API_KEY=
EIREL_VALIDATOR_RECONCILER_MODEL=zai-org/GLM-5.1-TEE
# --- Optional: host-side port overrides ---
VALIDATOR_ENGINE_HOST_PORT=18010
EIRETES_JUDGE_HOST_PORT=18095
EIREL_VALIDATOR_BATCH_SIZE=1
# How many tasks the validator processes concurrently per claim batch.
# Default is 2; raise for high-throughput operators with adequate
# upstream LLM rate limits.
EIREL_VALIDATOR_MAX_PARALLEL=2
# =============================================================================
# Miner latency SLA (scored at the validator, not invocation)
# =============================================================================
# Mode-specific completion-time gate. A `completed` response that overruns
# its mode's budget is stamped verdict=`latency_violation` (counts as a
# loss regardless of content match). Tasks without a recognized mode skip
# the gate. Network-level errors are not double-penalized.
# instant: miners pick a fast/non-thinking model.
# thinking: full reasoning + tool use allowed, 10-minute hard ceiling.
EIREL_MINER_INSTANT_LATENCY_BUDGET_SECONDS=120
EIREL_MINER_THINKING_LATENCY_BUDGET_SECONDS=600