Prerequisites
- Python 3.11 or newer
uv(orpipx) so you can runuvx- Synth account (https://usesynth.ai) with organization access
- Modal account (https://modal.com) if you will deploy task apps remotely
- Git checkout of your task app or one of the bundled demos
1. Install the CLI
uvx synth-ai always executes the latest published CLI without touching your global environment. To pin a specific version use uv tool install synth-ai or pip install synth-ai.
2. Pair the CLI with the dashboard
- Navigate to your project directory.
- Run
uvx synth-ai setup. - Complete the browser pairing flow (it reuses your dashboard session).
.env file alongside your project containing:
SYNTH_API_KEY– authorizes CLI and SDK calls to Synth.ENVIRONMENT_API_KEY– authenticates requests to your task apps.
.env in your repo root so downstream commands discover it automatically.
Note: the CLI caches this path and auto-loads the .env for every command. Use --env-file only when you want to override the defaults.
3. Validate access from your shell
401 re-run uvx synth-ai setup to refresh your .env.
4. Bootstrap the math demo
The SDK ships a ready-to-run math environment that exercises the full Synth pipeline:.env path, so subsequent demo commands run from the same workspace automatically.
5. Run the task app locally
Launch the math task app onhttp://127.0.0.1:8080:
traces/v3/ inside the demo directory. When you are ready for a remote deployment, re-run uvx synth-ai demo deploy --name synth-math-demo to package the same app for Modal.
6. Collect your first rollouts
Open a second terminal in the demo directory and run:traces/v3/synth_ai.db, ready for either SFT filtering or RL training.
Want to see the full RL loop? Kick off the curated math run:
7. Choose your workflow
- Supervised Fine-Tuning – generate or clean datasets, validate JSONL, upload, and train.
- Reinforcement Learning – configure the trainer topology, deploy the task app, and launch RL jobs.