Skip to main content
The ep command-line interface can inspect evaluation runs locally, upload evaluators, and create reinforcement fine-tuning jobs on Fireworks.
ep [global options] <command> [command options]

Global Options

These options can be used with any command:
--verbose
boolean
default:"false"
Enable verbose logging (Aliases: -v)
--server
Fireworks API server hostname or URL (e.g., dev.api.fireworks.ai or https://dev.api.fireworks.ai)

Commands

ep logs

Serve logs with file watching and real-time updates
--port
number
default:"8000"
Port to bind to (default: 8000)
--debug
boolean
default:"false"
Enable debug mode
--disable-elasticsearch-setup
boolean
default:"false"
Disable Elasticsearch setup
--use-env-elasticsearch-config
boolean
default:"false"
Use env vars for Elasticsearch config (requires ELASTICSEARCH_URL, ELASTICSEARCH_API_KEY, ELASTICSEARCH_INDEX_NAME)
--use-fireworks
boolean
default:"false"
Force Fireworks tracing backend for logs UI (overrides env auto-detection)
--use-elasticsearch
boolean
default:"false"
Force Elasticsearch backend for logs UI (overrides env auto-detection)

ep upload

Scan for evaluation tests, select, and upload as Fireworks evaluators
--path
string
default:"."
Path to search for evaluation tests (default: current directory)
--entry
Entrypoint of evaluation test to upload (module:function or path::function). For multiple, separate by commas.
--yes
boolean
default:"false"
Non-interactive: upload all discovered evaluation tests (Aliases: -y)
--env-file
Path to .env file containing secrets to upload (default: .env in current directory)
--force
boolean
default:"false"
Overwrite existing evaluator with the same ID
--evaluator-default-dataset
string
Default dataset to use with this evaluator (Aliases: --default-dataset)
--evaluator-description
string
Description for evaluator (Aliases: --description)
--evaluator-display-name
string
Display name for evaluator (defaults to ID) (Aliases: --name, --display-name)
--evaluator-entry-point
string
Pytest-style entrypoint (e.g., test_file.py::test_func). Auto-detected if not provided. (Aliases: --entry-point)
--evaluator-requirements
string
Requirements for evaluator (auto-detected from requirements.txt if not provided) (Aliases: --requirements)
--evaluator-id
string
Evaluator ID to use (if multiple selections, a numeric suffix is appended) (Aliases: --id)

ep create rft

Create a Reinforcement Fine-tuning Job on Fireworks
--yes
boolean
default:"false"
Non-interactive mode (Aliases: -y)
--dry-run
boolean
default:"false"
Print planned SDK call without sending
--force
boolean
default:"false"
Overwrite existing evaluator with the same ID
--skip-validation
boolean
default:"false"
Skip local dataset/evaluator validation
--ignore-docker
boolean
default:"false"
Ignore Dockerfile even if present; run pytest on host during evaluator validation
--docker-build-extra
string
default:""
Extra flags to pass to ‘docker build’ when validating evaluator (quoted string, e.g. “—no-cache —pull —progress=plain”)
--docker-run-extra
string
default:""
Extra flags to pass to ‘docker run’ when validating evaluator (quoted string, e.g. “—env-file .env —memory=8g”)
--env-file
Path to .env file containing secrets to upload to Fireworks (default: .env in project root)
--source-job
The source reinforcement fine-tuning job to copy configuration from. If other flags are set, they will override the source job’s configuration.
--quiet
boolean
default:"false"
If set, only errors will be printed.
--dataset
string
The name of the dataset used for training.
--evaluator
string
The evaluator resource name to use for RLOR fine-tuning job.
--reinforcement-fine-tuning-job-id
string
ID of the reinforcement fine-tuning job, a random UUID will be generated if not specified. (Aliases: --job-id)
--chunk-size
number
Data chunking for rollout, default size 200, enabled when dataset > 300. Valid range is 1-10,000.
--eval-auto-carveout
boolean
default:"false"
Whether to auto-carve the dataset for eval.
--evaluation-dataset
string
The name of a separate dataset to use for evaluation.
--inference-parameters-extra-body
string
Additional parameters for the inference request as a JSON string. For example: ”{“stop”: [“\n”]}”. (Aliases: --extra-body)
--inference-parameters-max-output-tokens
number
Maximum number of tokens to generate per response. (Aliases: --max-output-tokens)
--inference-parameters-response-candidates-count
number
Number of response candidates to generate per input. (Aliases: --response-candidates-count)
--inference-parameters-temperature
number
Sampling temperature, typically between 0 and 2. (Aliases: --temperature)
--inference-parameters-top-k
number
Top-k sampling parameter, limits the token selection to the top k tokens. (Aliases: --top-k)
--inference-parameters-top-p
number
Top-p sampling parameter, typically between 0 and 1. (Aliases: --top-p)
--loss-config-kl-beta
number
KL coefficient (beta) override for GRPO-like methods. If unset, the trainer default is used. (Aliases: --rl-kl-beta, --kl-beta)
--loss-config-method
Literal
RL loss method for underlying trainers. One of {grpo,dapo}. (Aliases: --rl-loss-method, --method)
--mcp-server
string
The MCP server resource name to use for the reinforcement fine-tuning job. (Optional)
--node-count
number
The number of nodes to use for the fine-tuning job. If not specified, the default is 1. (Aliases: --nodes)
--training-config-base-model
string
The name of the base model to be fine-tuned Only one of ‘base_model’ or ‘warm_start_from’ should be specified. (Aliases: --base-model)
--training-config-batch-size
number
The maximum packed number of tokens per batch for training in sequence packing. (Aliases: --batch-size)
--training-config-epochs
number
The number of epochs to train for. (Aliases: --epochs)
--training-config-gradient-accumulation-steps
number
The number of batches to accumulate gradients before updating the model parameters. The effective batch size will be batch-size multiplied by this value. (Aliases: --gradient-accumulation-steps)
--training-config-learning-rate
number
The learning rate used for training. (Aliases: --learning-rate)
--training-config-learning-rate-warmup-steps
number
The number of learning rate warmup steps for the reinforcement fine-tuning job. (Aliases: --learning-rate-warmup-steps)
--training-config-lora-rank
number
The rank of the LoRA layers. (Aliases: --lora-rank)
--training-config-max-context-length
number
The maximum context length to use with the model. (Aliases: --max-context-length)
--training-config-output-model
string
The model ID to be assigned to the resulting fine-tuned model.If not specified, the job ID will be used. (Aliases: --output-model)
--training-config-warm-start-from
string
The PEFT addon model in Fireworks format to be fine-tuned from Only one of ‘base_model’ or ‘warm_start_from’ should be specified. (Aliases: --warm-start-from)
--wandb-config-api-key
string
The API key for the wandb service. (Aliases: --wandb-api-key, --api-key)
--wandb-config-enabled
boolean
default:"false"
Whether to enable wandb logging. (Aliases: --wandb, --enabled)
--wandb-config-entity
string
The entity name for the wandb service. (Aliases: --wandb-entity, --entity)
--wandb-config-project
string
The project name for the wandb service. (Aliases: --wandb-project, --project)

ep local-test

Select an evaluation test and run it locally. If a Dockerfile exists, build and run via Docker; otherwise run on host.
--entry
Entrypoint to run (path::function or path). If not provided, a selector will be shown (unless —yes).
--ignore-docker
boolean
default:"false"
Ignore Dockerfile even if present; run pytest on host
--yes
boolean
default:"false"
Non-interactive: if multiple tests exist and no —entry, fails with guidance (Aliases: -y)
--docker-build-extra
string
default:""
Extra flags to pass to ‘docker build’ (quoted string, e.g. “—no-cache —pull —progress=plain”)
--docker-run-extra
string
default:""
Extra flags to pass to ‘docker run’ (quoted string, e.g. “—env-file .env —memory=8g”)