Skip to content
SupportLogin
Retrieve an AutoScientist run

Retrieve an AutoScientist run

autoscientist.get(strexperiment_id) -> AutoscientistRun
GET/api/v1/autoscientist/{experiment_id}

Retrieve an AutoScientist run

ParametersExpand Collapse
experiment_id: str
ReturnsExpand Collapse
class AutoscientistRun: …
id: str

AutoScientist run id.

dataset_id: Optional[str]

Public id of the dataset the run trained on.

model: Optional[str]

Resolved base model id used, including an automatically selected model.

status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"cancelled"
created_at: datetime
formatdate-time
completed_at: Optional[datetime]

When the run reached a terminal state. Null while it is still running.

formatdate-time
iterations_completed: float

Number of completed iterations.

max_iterations: float

Resolved maximum number of iterations, including the model-specific default.

target_win_rate: float

Resolved target win rate for the AutoScientist loop, including the model-specific default.

best_win_rate: Optional[float]

Best win rate achieved so far.

training_method: Literal["instruction", "alignment"]

The objective this run is training. Resolved at creation — a requested alignment is downgraded to instruction when the dataset is not preference pairs, so read this back to confirm what actually runs.

One of the following:
"instruction"
"alignment"
best_hyperparams: Optional[BestHyperparams]

Hyperparameters that produced the best iteration so far, and the ones the downloadable artifact was trained with. Null until an iteration completes.

training_type: Optional[Literal["lora", "full"]]

Training strategy override. AutoScientist optimizes this by default; set it only when strictly necessary.

One of the following:
"lora"
"full"
n_epochs: Optional[float]
minimum1
maximum20
learning_rate: Optional[float]
minimum1e-8
maximum0.01
batch_size: Optional[Union[Literal["max"], int, null]]

Either the literal ‘max’ or an integer of 1 or more. No fixed upper bound: the ceiling depends on the model and hardware, and a larger value is rejected at launch. Defaults to ‘max’.

One of the following:
Literal["max"]
int
lora_r: Optional[float]
minimum1
maximum64
lora_alpha: Optional[float]

Must be 1× or 2× lora_r. Only checked when you supply lora_r in the same request; otherwise it is validated against the platform default.

lora_dropout: Optional[float]

Dropout applied to the LoRA layers. Defaults to 0.

minimum0
maximum1
lora_trainable_modules: Optional[str]

‘all-linear’ or comma-separated module list (e.g. ‘q_proj,v_proj’).

lr_scheduler_type: Optional[Literal["linear", "cosine", "constant"]]
One of the following:
"linear"
"cosine"
"constant"
min_lr_ratio: Optional[float]
minimum0
maximum1
scheduler_num_cycles: Optional[float]

Number of cosine decay cycles across training. Defaults to 0.5, a single half-cycle decay from the peak learning rate down to the floor.

minimum0
maximum4
warmup_ratio: Optional[float]
minimum0
maximum1
max_grad_norm: Optional[float]
minimum0
weight_decay: Optional[float]

L2 penalty applied to the weights. Defaults to 0.

minimum0
train_on_inputs: Optional[bool]

Whether training loss is computed over the prompt tokens as well as the completion. true trains on the full sequence, false trains only on the completion. Omit to let the platform decide per example, which is the default.

dpo_beta: Optional[float]

Controls how much the model can deviate from the reference model. Lower = more aggressive updates toward preferred responses; higher = stays closer to reference behavior.

minimum0.05
maximum0.9
dpo_normalize_logratios_by_length: Optional[bool]

Normalizes log ratios by sample length during DPO loss calculation. Automatically set to true when simpo_gamma > 0.

rpo_alpha: Optional[float]

RPO loss modifier: incorporates the NLL loss on selected samples with this weight. Defaults to 0.0 (standard DPO loss). Mutually exclusive with simpo_gamma — both above 0 is rejected.

formatfloat
minimum0
simpo_gamma: Optional[float]

SimPO loss modifier: adds a margin to the loss, force-enables length normalization, and excludes reference logits. Defaults to 0.0 (off). Raise dpo_beta alongside it. Mutually exclusive with rpo_alpha — both above 0 is rejected.

formatfloat
minimum0
column_mapping: Optional[ColumnMapping]

Column mapping the run trained with, echoing what was sent on create. Null when the mapping was left to the platform to infer.

prompt: Optional[str]

Source column holding the prompt/instruction text.

completion: Optional[str]

Source column holding the target completion/response. Used for supervised (sft) training.

reasoning_trace: Optional[str]

Optional source column holding a reasoning trace to train on.

chosen: Optional[str]

Source column holding the preferred response. Used for preference (dpo) training, where a row carries two completions rather than one. Pair it with rejected.

rejected: Optional[str]

Source column holding the rejected response. Pair it with chosen.

download_available: bool

True when the best trained artifact can be downloaded.

error: Optional[str]

Why the run failed. Null unless status is failed.

Retrieve an AutoScientist run

import os
from adaption import Adaption

client = Adaption(
    api_key=os.environ.get("ADAPTION_API_KEY"),  # This is the default and can be omitted
)
autoscientist_run = client.autoscientist.get(
    "experiment_id",
)
print(autoscientist_run.id)
{
  "id": "id",
  "dataset_id": "dataset_id",
  "model": "model",
  "status": "pending",
  "created_at": "2019-12-27T18:11:19.117Z",
  "completed_at": "2019-12-27T18:11:19.117Z",
  "iterations_completed": 0,
  "max_iterations": 0,
  "target_win_rate": 0,
  "best_win_rate": 0,
  "training_method": "instruction",
  "best_hyperparams": {
    "training_type": "lora",
    "n_epochs": 1,
    "learning_rate": 0.00005,
    "batch_size": "max",
    "lora_r": 8,
    "lora_alpha": 0,
    "lora_dropout": 0,
    "lora_trainable_modules": "q_proj,v_proj",
    "lr_scheduler_type": "linear",
    "min_lr_ratio": 0.1,
    "scheduler_num_cycles": 0.5,
    "warmup_ratio": 0.03,
    "max_grad_norm": 2,
    "weight_decay": 0,
    "train_on_inputs": false,
    "dpo_beta": 0.1,
    "dpo_normalize_logratios_by_length": true,
    "rpo_alpha": 0,
    "simpo_gamma": 0
  },
  "column_mapping": {
    "prompt": "prompt",
    "completion": "completion",
    "reasoning_trace": "reasoning_trace",
    "chosen": "chosen",
    "rejected": "rejected"
  },
  "download_available": true,
  "error": "error"
}
Returns Examples
{
  "id": "id",
  "dataset_id": "dataset_id",
  "model": "model",
  "status": "pending",
  "created_at": "2019-12-27T18:11:19.117Z",
  "completed_at": "2019-12-27T18:11:19.117Z",
  "iterations_completed": 0,
  "max_iterations": 0,
  "target_win_rate": 0,
  "best_win_rate": 0,
  "training_method": "instruction",
  "best_hyperparams": {
    "training_type": "lora",
    "n_epochs": 1,
    "learning_rate": 0.00005,
    "batch_size": "max",
    "lora_r": 8,
    "lora_alpha": 0,
    "lora_dropout": 0,
    "lora_trainable_modules": "q_proj,v_proj",
    "lr_scheduler_type": "linear",
    "min_lr_ratio": 0.1,
    "scheduler_num_cycles": 0.5,
    "warmup_ratio": 0.03,
    "max_grad_norm": 2,
    "weight_decay": 0,
    "train_on_inputs": false,
    "dpo_beta": 0.1,
    "dpo_normalize_logratios_by_length": true,
    "rpo_alpha": 0,
    "simpo_gamma": 0
  },
  "column_mapping": {
    "prompt": "prompt",
    "completion": "completion",
    "reasoning_trace": "reasoning_trace",
    "chosen": "chosen",
    "rejected": "rejected"
  },
  "download_available": true,
  "error": "error"
}