> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adaptive-ml.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Recipes

> Run training and evaluation workflows

Recipes are pre-built workflows for training and evaluating models. Run them on Adaptive's compute infrastructure.

<Tabs>
  <Tab title="SDK" icon="code">
    ## Run a recipe

    ```python theme={null}
    job = adaptive.jobs.run(
        recipe_key="sft",
        num_gpus=1,
        args={
            "model_to_train": "llama-3.1-8b-instruct",
            "output_model_key": "my-model-v1",
            "dataset": "my-training-data",
            "epochs": 3,
        },
    )
    ```

    | Parameter    | Type | Required | Description                                   |
    | ------------ | ---- | -------- | --------------------------------------------- |
    | `recipe_key` | str  | Yes      | Recipe identifier (see below)                 |
    | `num_gpus`   | int  | Yes      | Number of GPUs to use                         |
    | `args`       | dict | No       | Recipe-specific arguments (defaults to empty) |

    ## Built-in recipes

    **Training:**

    | Recipe                 | Key               | Use when                                      |
    | ---------------------- | ----------------- | --------------------------------------------- |
    | Supervised fine-tuning | `sft`             | You have high-quality completions             |
    | RL on preferences      | `preference_rlhf` | You have preferred/rejected pairs             |
    | RL on metrics          | `metric_rlhf`     | You have completion-level scores              |
    | RL with grader         | `rl`              | Criteria can be expressed in natural language |

    **Evaluation:**

    | Recipe               | Key    | Use when                    |
    | -------------------- | ------ | --------------------------- |
    | Evaluate with grader | `eval` | Comparing model performance |

    ## Run an evaluation

    ```python theme={null}
    adaptive.jobs.run(
        recipe_key="eval",
        num_gpus=2,
        args={
            "dataset": "eval-prompts",
            "models_to_evaluate": ["model-a", "model-b"],
            "graders": ["quality-judge"],
        },
    )
    ```

    Results appear as evaluation artifacts with score tables and per-sample interactions. Evaluations use [Graders](/v0.12/core/graders) to score completions.

    For custom recipes, see [Custom Recipes](/v0.12/harmony/overview).

    See [SDK Reference](/v0.12/reference/sdk) for all job methods.
  </Tab>

  <Tab title="UI" icon="mouse-pointer">
    ## Run a recipe

    Navigate to your use case and open the **Recipes** tab. Select a recipe and configure its parameters.

    <Frame caption="Configure recipe parameters in the UI">
      <img src="https://mintcdn.com/adaptiveml/R5QotOduSKbjj2fS/static/recipe-run-ui.png?fit=max&auto=format&n=R5QotOduSKbjj2fS&q=85&s=0ade1307597eed292c594f2cca1552f4" width="3390" height="1896" data-path="static/recipe-run-ui.png" />
    </Frame>

    Click **Run** to launch. Monitor progress in the **Runs** tab.

    ## View evaluation results

    After an evaluation completes, click the run to see the score table.

    <Frame caption="Evaluation results show scores across models and graders">
      <img src="https://mintcdn.com/adaptiveml/nxrXfjE5HXjTB4Su/static/score_card.png?fit=max&auto=format&n=nxrXfjE5HXjTB4Su&q=85&s=81193d66c98ead2b94e64e8e541a1415" width="2070" height="878" data-path="static/score_card.png" />
    </Frame>

    Click any row to drill down into individual interactions and compare model outputs side-by-side.
  </Tab>
</Tabs>
