Skip to content

ThinkingConfig

ThinkingConfig = { effort?: ThinkingLevel; type: "adaptive"; } | { budgetOverrides?: ThinkingBudgets; effort: ThinkingLevel; type?: undefined; }

Defined in: src/config.ts:21

Configuration for reasoning/thinking.

  • Effort-based (cross-provider): Set an effort level, mapped to each provider’s native format by pi-ai’s streamSimple() (e.g., reasoning.effort for OpenAI, thinking for Anthropic/Google).
  • Adaptive (Anthropic 4.6 only): Model decides when/how much to think. Uses pi-ai’s stream() with thinkingEnabled.

Union Members

Type Literal

{ effort?: ThinkingLevel; type: "adaptive"; }

effort?

optional effort?: ThinkingLevel

Optional effort guidance for adaptive mode (defaults to “high” in the Anthropic API).

type

type: "adaptive"

Model decides when/how much to think (Anthropic 4.6 models only). Uses stream().


Type Literal

{ budgetOverrides?: ThinkingBudgets; effort: ThinkingLevel; type?: undefined; }

budgetOverrides?

optional budgetOverrides?: ThinkingBudgets

Custom token budgets per level (for token-based providers like older Claude, Gemini).

effort

effort: ThinkingLevel

Effort level. Mapped to each provider’s native format by streamSimple().

type?

optional type?: undefined