# 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/index.md)*) – 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.thinkingmachines.ai/cookbook/api-reference/completers/tokenswithlogprobs/index.md)* – The generated tokens with their log-probabilities and stop reason. ## Referenced by - [tinker_cookbook.completers.TinkerTokenCompleter](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/completers/tinkertokencompleter/index.md) - [tinker_cookbook.rl.FailFast.execute](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/failfast/#failfast-execute) - [tinker_cookbook.rl.RetryOnFailure.execute](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/retryonfailure/#retryonfailure-execute) - [tinker_cookbook.rl.RolloutStrategy.execute](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/rolloutstrategy/#rolloutstrategy-execute)