# tinker_cookbook.completers.TokenCompleter

## _class_ [**tinker_cookbook.completers.TokenCompleter**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/completers.py#L36)()

Abstract interface for generating tokens from a prompt.

### [**__call__**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/completers.py#L39)( _model_input_, _stop_, _max_tokens_)

Generate a token sequence from the given model input.

**Parameters:**

- [**model_input**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/completers.py#L41) ( _tinker. [ModelInput](https://tinker-docs.thinkingmachines.ai/tinker/api-reference/types/modelinput/)_) – The tokenized prompt to complete from.
- [**stop**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/completers.py#L42) ( _StopCondition_) – Stop sequences (strings) or stop token IDs that terminate generation.
- [**max_tokens**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/completers.py#L44) ( _int | None_) – Optional per-call cap on the number of generated tokens. When set, implementations should generate at most this many tokens (combined with any implementation-level limit by taking the minimum). `None` (default) means no per-call override. Rollout runners use this to enforce per-turn token budgets.

**Returns:** _[TokensWithLogprobs](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/completers/tokenswithlogprobs/)_ – The generated tokens with their log-probabilities and stop reason.

## Referenced by

- [tinker_cookbook.completers.TinkerTokenCompleter](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/completers/tinkertokencompleter/)
- [tinker_cookbook.rl.FailFast.execute](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/failfast/#failfast-execute)
- [tinker_cookbook.rl.RetryOnFailure.execute](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/retryonfailure/#retryonfailure-execute)
- [tinker_cookbook.rl.RolloutStrategy.execute](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/rolloutstrategy/#rolloutstrategy-execute)
