-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.env.example
More file actions
108 lines (95 loc) · 6.03 KB
/
Copy path.env.example
File metadata and controls
108 lines (95 loc) · 6.03 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
# ─────────────────────────────────────────────────────────────────────────────
# Nexisgen v2 — environment template
# Copy to `.env` and fill in the blanks for the role(s) you run:
# miner → R2_* + sources.txt
# validator → NEXIS_MINER_READ_* (+ optional record-info)
# trainer → any validator; needs NEXIS_MINER_WRITE_* and trainer asset paths
# API server → NEXIS_MINER_WRITE_* + NEXIS_VALIDATION_API_POSTGRES_DSN
# ─────────────────────────────────────────────────────────────────────────────
# ── Bittensor / chain ───────────────────────────────────────────────────────
NEXIS_NETUID=70
NEXIS_LOG_LEVEL=INFO
BT_NETWORK=finney
BT_WALLET_NAME=default
BT_WALLET_HOTKEY=default
BT_WALLET_PATH=~/.bittensor/wallets
NEXIS_BLOCK_POLL_SEC=6
# ── Miner R2 (per-hotkey bucket; bucket name = lowercase hotkey) ────────────
R2_ACCOUNT_ID=
R2_REGION=auto
R2_READ_ACCESS_KEY=
R2_READ_SECRET_KEY=
R2_WRITE_ACCESS_KEY=
R2_WRITE_SECRET_KEY=
# ── Miner pipeline ──────────────────────────────────────────────────────────
NEXIS_SOURCES_FILE=sources.txt
NEXIS_WORKDIR=.nexis
NEXIS_MINER_LOOP_SLEEP_SEC=60
# ── Miner captioning (per-clip prompt for the trainer) ──────────────────────
# If neither key is set, captions are empty and the trainer uses
# NEXIS_TRAINER_DEFAULT_PROMPT for every row. OpenAI is preferred over Gemini
# when both are set.
OPENAI_API_KEY=
GEMINI_API_KEY=
NEXIS_CAPTION_MODEL=gpt-4o-mini
NEXIS_CAPTION_TIMEOUT_SEC=30
# ── Shared `nexis_miner` bucket (training outputs + scores) ─────────────────
# READ keys are enough to validate/score; any validator that also runs the
# trainer (and the API server) needs WRITE keys to publish under its hotkey.
NEXIS_MINER_BUCKET=nexis-miner
NEXIS_MINER_ACCOUNT_ID=cce499ad4f3a4703b069771d8ff4215a
NEXIS_MINER_READ_ACCESS_KEY=c7df3d75bcf89b19e9fccd2866957922
NEXIS_MINER_READ_SECRET_KEY=d04e506a8a155a5e729ada81d2c54f5397f29e061672f2c78bf7b5a2731eda69
NEXIS_MINER_WRITE_ACCESS_KEY=
NEXIS_MINER_WRITE_SECRET_KEY=
# ── Global overlap snapshot bucket (legacy `record-info`) ───────────────────
# Read-only on the trainer side; defaults work for most operators.
NEXIS_RECORD_INFO_BUCKET=nexis-record-info
NEXIS_RECORD_INFO_ACCOUNT_ID=cce499ad4f3a4703b069771d8ff4215a
NEXIS_RECORD_INFO_READ_ACCESS_KEY=0fa291e03819c60474fed86a4932e652
NEXIS_RECORD_INFO_READ_SECRET_KEY=7bfbc213f3295c0a7f88db3f069490ce474e82520b4455b6a7bc7aa5e66224ee
NEXIS_RECORD_INFO_WRITE_ACCESS_KEY=
NEXIS_RECORD_INFO_WRITE_SECRET_KEY=
NEXIS_RECORD_INFO_OBJECT_KEY=record_info.json
# ── Validator API client ────────────────────────────────────────────────────
NEXIS_VALIDATION_API_URL=https://api.nexisgen.ai/v1/training-scores
NEXIS_VALIDATION_API_TIMEOUT_SEC=120
NEXIS_TRAIN_POLL_SEC=30
NEXIS_SCORE_POLL_SEC=30
# ── R2 batch concurrency ────────────────────────────────────────────────────
# Effective concurrent GETs against R2 ≈ MINER_GATHER_CONCURRENCY × DOWNLOAD_CONCURRENCY.
NEXIS_DOWNLOAD_CONCURRENCY=16
NEXIS_UPLOAD_CONCURRENCY=8
NEXIS_MINER_GATHER_CONCURRENCY=4
# ── Owner / trainer ─────────────────────────────────────────────────────────
# `nexis train` is reserved for this hotkey.
NEXIS_OWNER_VALIDATOR_HOTKEY=5EJGfSvRcEGVQtqDuU7YYwuZRHmaktf6JEZDeFPyeXksiHrm
# Trainer host paths default to repo-root assets (./models, ./config.json).
# Override only if you keep the model/config outside the repo.
# NEXIS_TRAINER_MODELS_DIR=./models
# NEXIS_TRAINER_CONFIG_JSON=./config.json
NEXIS_TRAINER_NUM_GPUS=8
NEXIS_TRAINER_DOCKER_IMAGE=rendixnetwork/train:latest
NEXIS_TRAINER_SHM_SIZE=16g
NEXIS_TRAINER_TIMEOUT_SEC=86400
# ── VBench scorer ───────────────────────────────────────────────────────────
NEXIS_VBENCH_DOCKER_IMAGE=rendixnetwork/vbench:latest
NEXIS_VBENCH_RESULTS_DIR=/workspace/VBench/results
NEXIS_VBENCH_DIMENSIONS=i2v_subject,i2v_background,subject_consistency,background_consistency,motion_smoothness,dynamic_degree,aesthetic_quality,imaging_quality
NEXIS_VBENCH_TIMEOUT_SEC=21600
# ── Eval-data bucket (read-only) ────────────────────────────────────────────
# Defaults are baked into the code so validators work out of the box; override
# only if the network rotates keys or moves the bucket.
NEXIS_EVAL_BUCKET=nexis-eval
NEXIS_EVAL_ACCOUNT_ID=cce499ad4f3a4703b069771d8ff4215a
NEXIS_EVAL_READ_ACCESS_KEY=168d66ba8c6cacf91c6374b408a5d593
NEXIS_EVAL_READ_SECRET_KEY=3aa4440df9db6f77e8cba83d8d1252666775f282e2c65dcc0ce62b08dba4a8c4
NEXIS_EVAL_PREFIX=eval_data/
# ── Validator API server (only the API host fills these) ────────────────────
NEXIS_VALIDATION_API_POSTGRES_DSN=postgresql://nexis:nexis@localhost:5432/nexis_validation
NEXIS_VALIDATION_API_ALLOWLIST_REFRESH_SEC=300
NEXIS_VALIDATION_API_MIN_VALIDATOR_STAKE=5000
NEXIS_VALIDATION_API_AUTH_MAX_SKEW_SEC=300
NEXIS_VALIDATION_API_NONCE_MAX_AGE_SEC=86400
# Required for `DELETE /v1/invalid-hotkeys` admin reset.
NEXIS_VALIDATION_API_ADMIN_TOKEN=