2. Link the CLI to your Synth account
Run setup once per project directory:.env
file:
SYNTH_API_KEY
– authorizes calls to Synth’s backend (training, datasets, tracing).ENVIRONMENT_API_KEY
– grants the backend access to your hosted task apps.
setup
in each one so the CLI discovers the right .env
automatically.
3. Bootstrap the hosted demo
The SDK ships a “Crafter” task app and RL workflow that you can deploy immediately. From any empty directory:4. Deploy the task app (Modal)
- Encrypts
ENVIRONMENT_API_KEY
so Synth’s backend can call your app securely. - Builds a Modal image that bundles the Crafter dependencies.
- Prints the hosted URL and stores it in your
.env
for later commands.
5. Launch the curated RL run
demo run
submits an RL job using the deployed task app and polls until it finishes. While the job runs you will see:
- Verification of your hosted task app via Synth’s backend (
/rl/verify_task_app
). - Live status updates as rollouts complete and metrics stream back.
- The final checkpoint identifier you can continue fine-tuning or evaluating.
6. Inspect results
Open the Synth dashboard to explore traces, reward summaries, and checkpoints produced by the demo run. Because everything is hosted, teammates can review the same data without reproducing the environment locally.7. Take it further
- Customize the task app: wrap your own environment with the FastAPI harness described in Configure Your Task App, then redeploy with
uvx synth-ai deploy
. - Manage datasets: describe evaluation seeds and upload supervised JSONL files using the patterns in Configure Your Task Datasets.
- Submit RL and SFT jobs directly: use
uvx synth-ai train --type rl
or--type sft
with your TOML configs as documented in About Reinforcement Learning. - Automate rollouts: the
CLI Commands
section breaks down advanced flags such as--dry-run
,--idempotency
, and Modal deploy options.