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

# Types

> Training inputs, configuration, and result handles passed to and from the Loops clients.

Shared data types passed to and returned from the [ServiceClient](/reference/sdk/loops/service-client), [TrainingClient](/reference/sdk/loops/training-client), and [SamplingClient](/reference/sdk/loops/sampling-client).

## Training inputs

<ParamField body="Datum">
  A single training example: a `ModelInput` paired with a dict of `TensorData` loss function inputs.
</ParamField>

<ParamField body="ModelInput">
  A tokenized prompt, represented as a list of `ModelInputChunk` objects. Construct with `ModelInput.from_ints(token_ids)` for the common case.
</ParamField>

<ParamField body="ModelInputChunk">
  A discriminated union of `EncodedTextChunk` (a list of token IDs) and `ImageChunk` (a base64-encoded image with an expected token count).
</ParamField>

<ParamField body="TensorData">
  A serializable tensor with a flat data list, a dtype string, and a shape. Convert to and from `torch.Tensor` with `TensorData.to_torch()` and `TensorData.from_torch(tensor)`.
</ParamField>

## Configuration

<ParamField body="SamplingParams">
  Controls for text generation: `temperature`, `top_p`, `top_k`, `max_tokens`, `seed`, and `stop`.
</ParamField>

<ParamField body="AdamParams">
  Optimizer hyperparameters: `learning_rate`, `beta1`, `beta2`, `eps`, `weight_decay`, and `grad_clip_norm`.
</ParamField>

<ParamField body="WandbConfig">
  Optional Weights & Biases settings (`project` and an optional run `name`) passed to `create_lora_training_client` to stream training metrics.
</ParamField>

## Results and handles

<ParamField body="SampleResult">
  The full response from `sample()`: a list of `SampledSequence` objects in `sequences`, the `policy_version` the sampler replica was running, and `prompt_logprobs` / `topk_prompt_logprobs` populated when the matching `sample()` flags are set.
</ParamField>

<ParamField body="SampledSequence">
  A single generated sequence: a list of output token IDs, optional per-token log-probabilities, and a stop reason.
</ParamField>

<ParamField body="Checkpoint">
  Metadata for a saved checkpoint, populated by `list_checkpoints()`.
</ParamField>

<ParamField body="CheckpointFilesResponse">
  A paginated list of presigned file URLs for a checkpoint, populated by `get_checkpoint_archive_url()`.
</ParamField>

<ParamField body="CheckpointFile">
  One entry in a `CheckpointFilesResponse.presigned_urls` list: a presigned URL plus `relative_file_name`, `node_rank`, `size_bytes`, and `last_modified` metadata.
</ParamField>

<ParamField body="ServerCapabilities, SupportedModel">
  Returned by `ServiceClient.get_server_capabilities()`; describe which base models the control plane can provision and on which GPU classes.
</ParamField>

<ParamField body="OperationFuture[T]">
  A handle to a long-running training operation. Call `.result()` or `.result(timeout=seconds)` to block until the operation completes and return the result. The `forward` and `forward_backward` methods return a `ForwardBackwardFuture` subclass, and `save_weights_and_get_sampling_client` returns a composed future; both expose the same `.result()` contract.
</ParamField>

<ParamField body="ForwardBackwardOutput, OptimStepResponse, SaveWeightsResponse, SaveWeightsForSamplerResponse, LoadWeightsResponse, InitTrainerServerResponse, SampleResponse">
  Response payloads returned by the matching `TrainingClient` and `SamplingClient` methods.
</ParamField>
