Files
Mortdecai 9c2c9a2310 1200+ distilled gold examples, journal system, redstone mastery, safety awareness
Distilled Training Data (1,203 examples):
- 341 initial gold (plugins, enchantments, builds, effects, god, errors)
- 165 buildings + pipeline (100 structures built on dev, 65 request→query→act)
- 24 safety-aware (worldborder, safe tp, intentional harm, gamemode checks)
- 17 advanced logic (decanonized items, redstone gates, iterative builds)
- 12 redstone mastery (NOT/OR/AND/XOR/RS-latch/T-flip-flop/comparator/clock)
- 7 circuit verification and diagnosis
- 1 compact comparator gates
- 10 redstone methodology (build→test→save→recall→learn from mistakes)
- 8 player journal usage
- 29 creative+uncommon+pipeline+god with full tool chains

Player Journal System:
- agent/tools/player_journal.py — per-player text files (1-10 lines)
- journal.read + journal.write tool schemas added
- Cross-contaminated: God and Sudo share same journal per player
- Includes sentiment, relationship, builds, preferences, skill level

Redstone Engineering:
- agent/prompts/redstone_rules.md — baked-in wall torch, dedicated lead, repeater rules
- Learned from 4 iterations of 8-switch circuit: wall_torch on back face, not top
- T-junction bypass prevention: dedicated lead wire between merge and NOT block
- RCON limitation: can build circuits but cannot test them (lever toggle doesn't propagate)

Training Data Cleaning:
- 466 @s→@p fixes, 10 template commands removed
- 12 outdated refusals replaced with correct plugin commands
- Data de-duped across all sources

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 20:50:52 -04:00

49 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# Toggle GPU mode on steel141 between pooled (F16) and split (Q8+Q6)
#
# Usage:
# ./gpu_mode.sh pooled # Both GPUs -> one Ollama, F16 model
# ./gpu_mode.sh split # Separate Ollama per GPU, Q8 on 3090, Q6 on 2080
# ./gpu_mode.sh status # Show current state
HOST="steel141"
case "${1:-status}" in
pooled)
echo "Switching to POOLED mode (both GPUs, F16)..."
ssh $HOST "sudo systemctl stop ollama-gpu0.service 2>/dev/null; \
sudo systemctl stop ollama.service; \
sudo systemctl start ollama.service"
sleep 3
echo "Loading mortdecai:0.5.0-f16..."
ssh $HOST "curl -s http://localhost:11434/api/chat -d '{\"model\":\"mortdecai:0.5.0-f16\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false,\"options\":{\"num_predict\":1}}' > /dev/null 2>&1"
echo "Done. F16 on port 11434 (both GPUs)."
;;
split)
echo "Switching to SPLIT mode (separate GPUs)..."
ssh $HOST "sudo systemctl stop ollama.service; \
sudo systemctl start ollama.service; \
sudo systemctl start ollama-gpu0.service"
sleep 3
echo "Loading models..."
ssh $HOST "curl -s http://localhost:11434/api/chat -d '{\"model\":\"mortdecai:0.5.0-q8\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false,\"options\":{\"num_predict\":1}}' > /dev/null 2>&1"
ssh $HOST "curl -s http://localhost:11435/api/chat -d '{\"model\":\"mortdecai:0.5.0-q6\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false,\"options\":{\"num_predict\":1}}' > /dev/null 2>&1"
echo "Done. Q8 on :11434 (3090), Q6 on :11435 (2080)."
;;
status)
echo "=== Ollama Services ==="
ssh $HOST "systemctl is-active ollama.service && echo ' ollama.service (port 11434): ACTIVE' || echo ' ollama.service: INACTIVE'"
ssh $HOST "systemctl is-active ollama-gpu0.service 2>/dev/null && echo ' ollama-gpu0 (port 11435): ACTIVE' || echo ' ollama-gpu0 (port 11435): INACTIVE'"
echo ""
echo "=== GPU Usage ==="
ssh $HOST "nvidia-smi --query-compute-apps=pid,gpu_name,used_memory --format=csv,noheader 2>/dev/null || echo 'No GPU processes'"
echo ""
echo "=== Loaded Models (port 11434) ==="
ssh $HOST "curl -s http://localhost:11434/api/ps 2>/dev/null | python3 -c \"import sys,json; r=json.loads(sys.stdin.read()); [print(f' {m[\\\"name\\\"]:30s} {m[\\\"size\\\"]/1e9:.1f}GB') for m in r.get('models',[])]\" 2>/dev/null || echo ' none'"
;;
*)
echo "Usage: $0 {pooled|split|status}"
exit 1
;;
esac