Compare commits
1 Commits
fix/issue-
...
fix/issue-
| Author | SHA1 | Date | |
|---|---|---|---|
| 2f37890f65 |
@@ -15,6 +15,7 @@
|
|||||||
MODEL ?= timmy:v0.1-q4
|
MODEL ?= timmy:v0.1-q4
|
||||||
BASELINE ?= hermes3:latest
|
BASELINE ?= hermes3:latest
|
||||||
OLLAMA_URL ?= http://localhost:11434
|
OLLAMA_URL ?= http://localhost:11434
|
||||||
|
PYTHON ?= python3
|
||||||
OUTPUT ?= output
|
OUTPUT ?= output
|
||||||
|
|
||||||
# ── Training ──────────────────────────────────────────────────────────
|
# ── Training ──────────────────────────────────────────────────────────
|
||||||
@@ -23,7 +24,7 @@ train-cloud: ## QLoRA fine-tune on cloud GPU (Axolotl)
|
|||||||
axolotl train axolotl.yaml
|
axolotl train axolotl.yaml
|
||||||
|
|
||||||
train-local: ## LoRA fine-tune on Apple Silicon (MLX)
|
train-local: ## LoRA fine-tune on Apple Silicon (MLX)
|
||||||
python -m mlx_lm.lora --config mlx-lora.yaml
|
$(PYTHON) -m mlx_lm.lora --config mlx-lora.yaml
|
||||||
|
|
||||||
# ── Evaluation ────────────────────────────────────────────────────────
|
# ── Evaluation ────────────────────────────────────────────────────────
|
||||||
|
|
||||||
@@ -45,7 +46,7 @@ vibes: ## Run vibes check — hand-picked prompts, human review
|
|||||||
@echo "Date: $$(date '+%Y-%m-%d %H:%M')" > $(OUTPUT)/vibes-$(MODEL).md
|
@echo "Date: $$(date '+%Y-%m-%d %H:%M')" > $(OUTPUT)/vibes-$(MODEL).md
|
||||||
@echo "Model: $(MODEL)" >> $(OUTPUT)/vibes-$(MODEL).md
|
@echo "Model: $(MODEL)" >> $(OUTPUT)/vibes-$(MODEL).md
|
||||||
@echo "" >> $(OUTPUT)/vibes-$(MODEL).md
|
@echo "" >> $(OUTPUT)/vibes-$(MODEL).md
|
||||||
@python -c "\
|
@$(PYTHON) -c "\
|
||||||
import yaml, subprocess, sys; \
|
import yaml, subprocess, sys; \
|
||||||
prompts = yaml.safe_load(open('data/prompts_vibes.yaml'))['prompts']; \
|
prompts = yaml.safe_load(open('data/prompts_vibes.yaml'))['prompts']; \
|
||||||
f = open('$(OUTPUT)/vibes-$(MODEL).md', 'a'); \
|
f = open('$(OUTPUT)/vibes-$(MODEL).md', 'a'); \
|
||||||
@@ -69,19 +70,19 @@ vibes: ## Run vibes check — hand-picked prompts, human review
|
|||||||
# ── Data Pipeline ─────────────────────────────────────────────────────
|
# ── Data Pipeline ─────────────────────────────────────────────────────
|
||||||
|
|
||||||
ingest: ## Pull heartbeat trajectories into training data
|
ingest: ## Pull heartbeat trajectories into training data
|
||||||
python ingest_trajectories.py \
|
$(PYTHON) ingest_trajectories.py \
|
||||||
--trajectories ~/.nexus/trajectories/ \
|
--trajectories ~/.nexus/trajectories/ \
|
||||||
--curated data/curated_dataset.jsonl \
|
--curated data/curated_dataset.jsonl \
|
||||||
--output data/merged_training_data.jsonl
|
--output data/merged_training_data.jsonl
|
||||||
@echo "Merged dataset ready. Convert for MLX with: make convert"
|
@echo "Merged dataset ready. Convert for MLX with: make convert"
|
||||||
|
|
||||||
curated: ## Regenerate curated exemplar dataset
|
curated: ## Regenerate curated exemplar dataset
|
||||||
python build_curated.py
|
$(PYTHON) build_curated.py
|
||||||
@echo "Curated dataset regenerated."
|
@echo "Curated dataset regenerated."
|
||||||
|
|
||||||
convert: ## Convert merged dataset to MLX format (train/valid split)
|
convert: ## Convert merged dataset to MLX format (train/valid split)
|
||||||
@mkdir -p data/mlx_curated
|
@mkdir -p data/mlx_curated
|
||||||
python -c "\
|
$(PYTHON) -c "\
|
||||||
import json; \
|
import json; \
|
||||||
lines = open('data/merged_training_data.jsonl').readlines(); \
|
lines = open('data/merged_training_data.jsonl').readlines(); \
|
||||||
sessions = [json.loads(l) for l in lines]; \
|
sessions = [json.loads(l) for l in lines]; \
|
||||||
|
|||||||
Reference in New Issue
Block a user