Skip to main content
The Eval Protocol CLI provides the fastest, most reproducible way to launch RFT jobs. This page covers everything you need to know about using eval-protocol create rft.
Before launching, review Training Prerequisites & Validation for requirements, validation checks, and common errors.
Already familiar with firectl? Use it as an alternative to eval-protocol.

Installation and setup

The following guide will help you:
  • Upload your evaluator to Fireworks. If you don’t have one yet, see Concepts > Evaluators
  • Upload your dataset to Fireworks
  • Create and launch the RFT job
1

Install Eval Protocol CLI

Verify installation:
2

Set up authentication

Configure your Fireworks API key:
Or create a .env file:
3

Test your evaluator locally

Before training, verify your evaluator works. This command discovers and runs your @evaluation_test with pytest. If a Dockerfile is present, it builds an image and runs the test in Docker; otherwise it runs on your host.
If using a Dockerfile, it must use a Debian-based image (no Alpine or CentOS), be single-stage (no multi-stage builds), and only use supported instructions: FROM, RUN, COPY, ADD, WORKDIR, USER, ENV, CMD, ENTRYPOINT, ARG. Instructions like EXPOSE and VOLUME are ignored. See the RFT quickstart guide for details.
4

Create the RFT job

From the directory where your evaluator and dataset (dataset.jsonl) are located,
The CLI will:
  • Upload evaluator code (if changed)
  • Upload dataset (if changed)
  • Create the RFT job
  • Display dashboard links for monitoring
Expected output:
5

Monitor training

Click the RFT Job link to watch training progress in real-time. See Monitor Training for details.

Common CLI options

Customize your RFT job with these flags: Model and output:
Training parameters:
Loss method:
Rollout (sampling) parameters:
Remote environments:
Force re-upload:
See all options:

Advanced options

Track training metrics in W&B for deeper analysis:
Set WANDB_API_KEY in your environment first.
Save intermediate checkpoints during training:
Available in firectl only.
For evaluators that need more time:
Default is 60 seconds. Increase for complex evaluations.
For other tuning parameters — rollout concurrency, chunk size, loss method, and more — see Parameter Tuning.

Examples

Fast experimentation (small model, 1 epoch):
High-quality training (more rollouts, higher temperature):
Remote environment (for multi-turn agents):
Multiple epochs with custom learning rate:

Using firectl CLI (Alternative)

For users already familiar with Fireworks firectl, you can create RFT jobs directly:
Differences from eval-protocol:
  • Requires fully qualified resource names (accounts/…)
  • Must manually upload evaluators and datasets first
  • More verbose but offers finer control
  • Same underlying API as eval-protocol
See firectl documentation for all options.

Next steps

Prerequisites & Validation

Review requirements, validation, and common errors

Monitor training

Track job progress, inspect rollouts, and debug issues

Parameter tuning

Learn how to adjust parameters for better results