Skip to main content

What is the Cookbook?

The Fireworks Cookbook is a collection of training recipes and utilities built on top of the Training API. It provides config-driven training loops that handle trainer provisioning, data loading, tokenization, gradient accumulation, checkpointing, and cleanup automatically. The cookbook is optional — everything it does can be done with the API directly. Use the cookbook when you want a working training loop quickly; use the API when you need full control.

Installation

Set your credentials:

Available recipes

Each recipe follows the same pattern: import Config and main, set your config, and call main(cfg). Dedicated recipes attach or create trainer and deployment resources from TrainerConfig / DeployConfig. Serverless recipes attach to the shared pool and publish session-scoped sampler snapshots instead of provisioning a deployment. All launch examples below use trainer=TrainerConfig(training_shape_id=...) for explicit shape selection. Cookbook recipes can also auto-select validated shapes when training_shape_id is unset. The main run-level trainer knob you may set alongside a shape is replica_count for replicated HSDP launches; reference shapes can usually be left unset because the cookbook auto-selects or uses a shared-session reference when appropriate. If you want field-level details about what a training shape controls and what stays configurable, see Training shapes and the Cookbook Reference.
InfraConfig and the standalone setup_infra / ResourceCleanup helpers are deprecated and removed from the recipe surface. Recipes now take trainer=TrainerConfig(...) (and deployment=DeployConfig(...) for RL). See Migrating from the deprecated managed infra.

Quick example: SFT

Quick example: GRPO

W&B logging

All cookbook recipes accept a WandBConfig to stream metrics to Weights & Biases:

Vision-language model support

All cookbook recipes support VLM fine-tuning. Use a VLM training shape and tokenizer, and provide multimodal datasets with image_url content. See Vision Inputs for dataset format and examples.

Embedding loop

The embedding_loop recipe fine-tunes embedding models with contrastive or supervised embedding objectives. Use it when your base model is an embedding endpoint rather than a chat completion model.

Next steps