- Run an RL job with tracing enabled on your hosted task app.
- Convert the resulting trace database into a curated JSONL dataset.
- Submit a fine-tuning job through
uvx synth-ai train --type sft. - Evaluate the produced checkpoint back on the same task app.
Prerequisites
- You have followed the Get Started guide and deployed the Crafter task app to Modal.
- Tracing is enabled on the deployment (set
TASKAPP_TRACING_ENABLED=1when deploying or mount a trace volume for the task app). - Your
.envcontainsSYNTH_API_KEY,ENVIRONMENT_API_KEY, andTASK_APP_URL.
1. Run a traced RL job
SQLD_DB_PATH in Modal). After the job completes, download the SQLite trace database from your trace volume.
2. Filter traces into JSONL
--require-achievement for each outcome you want to retain. The JSONL output follows Synth’s SFT schema and is ready for upload.
3. Launch the SFT job
ft:Qwen/Qwen3-4B:ftjob-….
4. Evaluate the tuned checkpoint
Copyexamples/warming_up_to_rl/configs/eval_groq_qwen32b.toml, replace the model entry with your fine-tuned model ID, and run:
Tips
- Maintain a versioned
datasets/directory—uvx synth-ai train --type sftwill auto-suggest recent files. - Use
--dry-runon both SFT and RL commands to inspect payloads before launching production jobs. - Once satisfied with the tuned checkpoint, set
[model].sourcein your RL configs so future runs resume from it.