param([string]$Lora="") # Phase A: base model generation (MATH-500 greedy, train greedy, train samples on wrong items) $ErrorActionPreference="Continue" $py="..\.venv\Scripts\python.exe" $srv=Start-Process C:\AGI\llama.cpp\llama-server.exe -ArgumentList "--port 8096 -m C:\AGI\gguf\q3_8b\Qwen3-8B-Q4_K_M.gguf -ngl 99 -c 32768 -np 8 -fa on -ctk q8_0 -ctv q8_0 -t 8" -PassThru -WindowStyle Hidden -RedirectStandardError logs\srvA.err -RedirectStandardOutput logs\srvA.out do { Start-Sleep 3; try { $ok=(Invoke-RestMethod http://127.0.0.1:8096/health).status -eq "ok" } catch { $ok=$false } } until ($ok) "A start $(Get-Date)" & $py gen.py --items data/math500.jsonl --out out/base_math500.jsonl "A math500 done $(Get-Date)" & $py gen.py --items data/train_subset.jsonl --out out/train_greedy.jsonl "A train greedy done $(Get-Date)" & $py -c "import json,sys;sys.path.insert(0,'.');from grade import load;w=[r for r in load('out/train_greedy.jsonl') if not r['ok']];open('data/train_wrong.jsonl','w',encoding='utf-8').write(''.join(json.dumps({k:r[k] for k in ('item','problem','gold','level','subject')})+'\n' for r in w));print('wrong',len(w))" & $py gen.py --items data/train_wrong.jsonl --out out/train_samples.jsonl --n 4 --temp 0.8 "A samples done $(Get-Date)" Stop-Process -Id $srv.Id -Force "PHASEA_DONE $(Get-Date)"