# tinker.types.ModelInput

## _class_ [**tinker.types.ModelInput**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L8)( _[StrictBase](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/_models.py#L76)_)

**Fields:**

- [**chunks**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L9) ( _List[ [ModelInputChunk](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/model_input_chunk.py#L13)]_) – Sequence of input chunks (formerly TokenSequence)

### [**from
tokens**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L13)( _tokens_)

Create a ModelInput from a list of ints (tokens).

**Parameters:**

- [**tokens**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L13) ( _List[int]_)

**Returns:** _[ModelInput](https://tinker-docs.thinking-machines.ai/tinker/api-reference/types/modelinput/)_

### [**to
tokens**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L19)()

Convert the ModelInput to a list of ints (tokens)
Throws exception if there are any non-token chunks

**Returns:** _List[int]_

### _property_ [**length**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L31)

Return the total context length used by this ModelInput.

**Returns:** _int_

### [**empty**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L38)()

Create an empty ModelInput.

**Returns:** _[ModelInput](https://tinker-docs.thinking-machines.ai/tinker/api-reference/types/modelinput/)_

### [**append**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L44)( _chunk_)

Add a new chunk, return a new ModelInput.

**Parameters:**

- [**chunk**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L44) ( _[ModelInputChunk](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/model_input_chunk.py#L13)_)

**Returns:** _[ModelInput](https://tinker-docs.thinking-machines.ai/tinker/api-reference/types/modelinput/)_

### [**append
token**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L50)( _token_)

Add a new token, return a new ModelInput.

**Parameters:**

- [**token**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/_pydantic_types/model_input.py#L50) ( _int_)

**Returns:** _[ModelInput](https://tinker-docs.thinking-machines-lab/tinker/api-reference/types/modelinput/)_

## Referenced by

- [SamplingClient.compute
tokens](https://tinker-docs.thinking-machines.ai/tinker/api-reference/samplingclient/#compute_logprobs)
- [SamplingClient.sample](https://tinker-docs.thinking-machines-lab/tinker/api-reference/samplingclient/#sample)
- [tinker.types.Datum](https://tinker-docs.thinking-machines-lab/tinker/api-reference/types/datum/)
- [tinker_cookbook.completers.TinkerTokenCompleter.__call__](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/completers/tinkertokencompleter/#tinkertokencompleter-call)
- [tinker_cookbook.completers.TokenCompleter.__call__](https://tinker-docs.thinking-machines-lab/tinker/api-reference/completers/tokencompleter/#tokencompleter-call)
- [tinker_cookbook.preference.ComparisonRenderer.build_generation_prompt](https://tinker-docs.thinking-machines-lab/tinker/api-reference/preference/comparisonrenderer/#comparisonrenderer-build_generation_prompt)
- [tinker_cookbook.preference.ComparisonRendererFromChatRenderer.build_generation_prompt](https://tinker-docs.thinking-machines-lab/tinker/api-reference/preference/comparisonrendererfromchatrenderer/#comparisonrendererfromchatrenderer-build_generation_prompt)
- [tinker_cookbook.renderers.Renderer.build_generation_prompt](https://tinker-docs.thinking-machines-lab/tinker/api-reference/renderers/renderer/#renderer-build_generation_prompt)
- [tinker_cookbook.renderers.Renderer.build_supervised_example](https://tinker-docs.thinking-machines-lab/tinker/api-reference/renderers/renderer/#renderer-build_supervised_example)
- [tinker_cookbook.renderers.Renderer.build_supervised_examples](https://tinker-docs.thinking-machines-lab/tinker/api-reference/renderers/renderer/#renderer-build_supervised_examples)
- [tinker_cookbook.rl.EnvFromMessageEnv.inject_messages](https://tinker-docs.thinking-machines-lab/tinker/api-reference/rl/envfrommessageenv/#envfrommessageenv-inject_messages)
