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

# SFT

> Supervised Fine-Tuning: train a model to follow instructions or adopt a new style using labeled conversation data.

Supervised Fine-Tuning (SFT) trains a language model on labeled conversation data so it learns to follow instructions, adopt a persona, or respond in a specific style.

## Prerequisites

* An EigenAI account with available credits.
* A training dataset in JSONL format.

## Create an SFT job

Click **Fine-Tune a Model** on the Fine-tuning page, then select the **SFT** tab to open the 6-step wizard.

### Step 1 — Model

Select a **Base model**.

| Model | Price |
| - | - |
| Qwen3-4B-Instruct-2507 | \$0.4 / M tokens |
| Qwen3-30B-A3B-Instruct-2507 | \$2.8 / M tokens |
| Qwen3-30B-A3B-Thinking-2507 | \$2.8 / M tokens |
| Qwen3-235B-A22B-Instruct-2507 | \$20 / M tokens |

### Step 2 — Dataset

Upload your training data or select a previously uploaded dataset.

| Field | Description |
| - | - |
| Dataset format | The format of your training file. Currently supports **Conversation (chat JSONL)**. |
| Select existing dataset | Reuse a dataset you have already uploaded. |
| File upload | Drag and drop a `.jsonl` file or click to browse. |

Your training file must be a JSONL file where each line is a JSON object containing a `messages` array in OpenAI chat format:

```json theme={null}
{"messages": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"}, {"role": "assistant", "content": "Hi there!"}]}
```

### Step 3 — Evaluation

Choose how to validate the model during training.

| Option | Description |
| - | - |
| Do not use a validation dataset | Skip evaluation for the fastest training run. |
| Automatically split a portion of the training dataset | Reserve part of your training data for evaluation. (Coming soon) |
| Use a custom dataset for evaluation | Provide a separate validation file. (Coming soon) |

### Step 4 — Params

Configure the training hyperparameters.

| Parameter | Auto default | Description |
| - | - | - |
| Number of epochs | 5 | How many times the model trains over the full dataset. |
| Learning rate multiplier | 1.0× (effective rate: 2.00e-5) | Scales the base learning rate. |
| Model output name | `ft-<timestamp>-<random-string>` | The name shown for the resulting fine-tuned model. |

Each parameter has an **Auto** mode that applies sensible defaults and a **Custom** mode for manual entry.

### Step 5 — WandB

Optionally connect [Weights & Biases](https://wandb.ai) to track your experiment.

| Field | Description |
| - | - |
| WandB API key | Your WandB API key. Leave blank to skip tracking. |

### Step 6 — Review

Review the estimated cost before starting training.

| Field | Description |
| - | - |
| Model | The selected base model. |
| Tokens | Estimated number of tokens in your dataset. |
| Epochs | Number of training epochs. |
| Estimated cost | Total credit cost for this training run. |

Check the acknowledgment box and click **Confirm & Create** to submit the job.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.