adaptive_sdk.input_types

class AdaptRequestConfigInput(typing.TypedDict):
output_name: Required[str]
training_config: Required[TrainingConfigInput]
sample_config: NotRequired[SampleConfigInput]
class BaseTrainingParamsInput(typing.TypedDict):
learning_rate: NotRequired[float]
num_epochs: NotRequired[int]
batch_size: NotRequired[int]
num_validations: NotRequired[int]
class ChatMessage(typing.TypedDict):
role: Required[Literal['system', 'user', 'assistant']]
content: Required[str]
class ComparisonCompletion(typing.TypedDict):
text: Required[str]
model: Required[str]
class CompletionComparisonFilterInput(typing.TypedDict):

Filter for completion preference feedbacks.

Arguments:
  • metric: Feedback key logged against.
metric: Required[str]
class CompletionFeedbackFilterInput(typing.TypedDict):

Filter for completion metric feedbacks.

Arguments:
  • metric: Feedback key logged against.
  • gt: >
  • gte: >=
  • eq: ==
  • neq: !=
  • lt: <
  • lte: <=
  • user: Feedbacks logged by user id.
metric: Required[str]
gt: NotRequired[float]
gte: NotRequired[float]
eq: NotRequired[float]
neq: NotRequired[float]
lt: NotRequired[float]
lte: NotRequired[float]
reasons: NotRequired[List[str]]
user: NotRequired[Any]
class CompletionLabelFilter(typing.TypedDict):

Filter for completion labels.

key: Required[str]
value: NotRequired[List[str]]
CompletionSource = typing.Literal['LIVE', 'OFFLINE', 'AUTOMATION', 'DATASET']
class CursorPageInput(typing.TypedDict):

Paging config.

Arguments:
  • first: Retrieve first n items starting from the after cursor.
  • last: Retrieve last n items starting from the after cursor, limited to before cursor.
  • after: Start cursor.
  • before: End cursor.
first: NotRequired[int]
after: NotRequired[str]
before: NotRequired[str]
last: NotRequired[int]
class CustomRecipe(typing.TypedDict):
guidelines: Required[List[GuidelineInput]]
feedback_key: Required[str]
class DpotrainingParamsInput(typing.TypedDict):
kl_div_coeff: Required[float]
class EvaluationDatasourceCompletions(typing.TypedDict):
Arguments:
  • replay_interactions: If False, logged completions are evaluated. If True, prompts are replayed, and new completions are evaluated.
filter: Required[ListCompletionsFilterInput]
replay_interactions: bool
class GenerateParameters(typing.TypedDict):
stop: NotRequired[List[str]]
max_tokens: NotRequired[int]
temperature: NotRequired[float]
top_p: NotRequired[float]
class GuidelineInput(typing.TypedDict):
name: Required[str]
description: Required[str]
class GuidelinesTrainingParamsInput(typing.TypedDict):
judge_model: Required[str]
judge_model_prompt: Required[List[GuidelineInput]]
class GrpotrainingParamsInput(typing.TypedDict):
kl_div_coeff: NotRequired[float]
steps: NotRequired[int]
class ListCompletionsFilterInput(typing.TypedDict):

Filter for listing interactions.

Arguments:
  • models: Model keys.
  • timerange: A timerange in timestamp format.
  • user_id: User ID that created interaction.
  • feedbacks: TypedDict for metric feedback filtering.
  • comparisons: TypedDict for preference feedback filtering.
  • labels: TypedDict for completion labels filtering.
  • completion_id: Completion id.
  • source: Interaction source filter.
models: NotRequired[List[str]]
timerange: NotRequired[TimeRange]
session_id: NotRequired[Any]
user_id: NotRequired[Any]
feedbacks: NotRequired[List[CompletionFeedbackFilterInput]]
comparisons: NotRequired[List[CompletionComparisonFilterInput]]
labels: NotRequired[List[CompletionLabelFilter]]
prompt_hash: NotRequired[str]
completion_id: NotRequired[Any]
tags: NotRequired[List[str]]
source: NotRequired[List[Literal['LIVE', 'OFFLINE', 'AUTOMATION', 'DATASET']]]
class InteractionFeedbackDict(typing.TypedDict):

Interaction feedback.

Arguments:
  • feedback_key: Feedback key to register feedback against.
  • value: Metric feedback value.
  • details: Optional feedback text details.
feedback_key: Required[str]
value: Required[int | float | bool]
details: NotRequired[str]
class JudgeExampleInput(typing.TypedDict):

Example to guide an AI judge's reasoning when evaluating a completion (few-shot prompting).

Arguments:
  • input: Ordered list of chat messages (role/content) that form the conversation context.
  • output: Assistant completion to be evaluated.
  • passes: Boolean indicating whether the output satisfies the criteria.
  • reasoning: Optional free-text with the rationale behind the decision.
input: Required[List[ChatMessage]]
output: Required[str]
passes: Required[bool]
reasoning: Required[str]
class MetricTrainingParamsInput(typing.TypedDict):
metric_key: Required[str]
metric_metadata: NotRequired[MetricTrainingParamsMetadata]
class MetricTrainingParamsMetadata(typing.TypedDict):
scalar_metric: NotRequired[ScalarMetricConfigInput]
class ModelComputeConfigInput(typing.TypedDict):
tp: NotRequired[int]
kv_cache_len: NotRequired[int]
max_seq_len: NotRequired[int]
class ModelFilter(typing.TypedDict):
in_storage: NotRequired[bool]
available: NotRequired[bool]
trainable: NotRequired[bool]
kind: NotRequired[List[Literal['Embedding', 'Generation']]]
view_all: NotRequired[bool]
online: NotRequired[List[Literal['ONLINE', 'OFFLINE', 'PENDING', 'ERROR']]]
class ModelPlacementInput(typing.TypedDict):
compute_pools: Required[List[str]]
max_ttft_ms: NotRequired[int]
class PpotrainingParamsInput(typing.TypedDict):
kl_div_coeff: NotRequired[float]
steps: NotRequired[int]
class SampleConfigInput(typing.TypedDict):
feedback_type: NotRequired[Literal['DIRECT', 'PREFERENCE']]
datasource: Required[SampleDatasourceInput]
class SampleDatasourceInput(typing.TypedDict):
completions: NotRequired[SampleDatasourceCompletions]
dataset: NotRequired[SampleDatasourceDataset]
class SampleDatasourceCompletions(typing.TypedDict):
selection_type: Required[Literal['ALL', 'RANDOM', 'LAST']]
max_samples: NotRequired[int]
filter: NotRequired[ListCompletionsFilterInput]
replay_interactions: NotRequired[bool]
class SampleDatasourceDataset(typing.TypedDict):
dataset: Required[str]
class ScalarMetricConfigInput(typing.TypedDict):
threshold: NotRequired[float]
class SftTrainingParamsInput(typing.TypedDict):
class TimeRange(typing.TypedDict):

A timerange filter, in Unix timestamp format (ms).

Arguments:
  • from_: The start timestamp.
  • to: The end timestamp.
from_: Required[int | str]
to: Required[int | str]
class TrainingConfigInput(typing.TypedDict):
base_training_params: NotRequired[BaseTrainingParamsInput]
training_metadata: NotRequired[TrainingMetadataInput]
training_objective: Required[TrainingObjectiveInput]
class TrainingMetadataInput(typing.TypedDict):
training_type: Required[Literal['PARAMETER_EFFICIENT', 'FULL_WEIGHTS']]
alignment_method: Required[Literal['PPO', 'DPO', 'SFT', 'GRPO']]
parameters: NotRequired[TrainingMetadataInputParameters]
class TrainingMetadataInputParameters(typing.TypedDict):
dpo: NotRequired[DpotrainingParamsInput]
ppo: NotRequired[PpotrainingParamsInput]
grpo: NotRequired[GrpotrainingParamsInput]
class TrainingObjectiveInput(typing.TypedDict):
metric: NotRequired[MetricTrainingParamsInput]
judges: NotRequired[adaptive_sdk.input_types.typed_dicts.JudgeTrainingParamsInput]
sft: NotRequired[SftTrainingParamsInput]
reward_server: NotRequired[adaptive_sdk.input_types.typed_dicts.RewardServerInput]
class Order(typing.TypedDict):

Ordering of interaction list results.

Arguments:
  • field: On what field to order by.
  • order: Ascending or descending; alphabetical for string fields.
field: Required[str]
order: Required[Literal['ASC', 'DESC']]