Skip to content

Thinking Levels

chimera.providers.thinking provides a portable abstraction over extended reasoning / thinking budgets so callers do not need to know provider-specific parameters.

ValueToken budget
OFF0 (disabled)
MINIMAL1 024
LOW2 048
MEDIUM8 192
HIGH16 384
MAX32 768

ThinkingLevel extends str, so values compare equal to their string form (ThinkingLevel.HIGH == "high").

from chimera.providers.thinking import budget_for_level, ThinkingLevel
tokens = budget_for_level(ThinkingLevel.MEDIUM) # 8192

Returns 0 for any level not in THINKING_BUDGETS (safe default).

Providers that support extended reasoning translate the budget to their native parameters. For Anthropic this maps to:

{"type": "thinking", "budget_tokens": 16384}
from chimera.providers.thinking import ThinkingLevel
from chimera.providers.factory import create_provider
provider = create_provider("anthropic", model="claude-opus-4-5")
response = provider.complete(
messages=messages,
thinking=ThinkingLevel.HIGH,
)

Pass ThinkingLevel.OFF (the default) to disable extended reasoning entirely and avoid the additional latency and token cost.