Skip to documentation
Documentation navigation

Documentation navigation

Documentation / guides

Context limits

Describe known model context capacity and validate its relationships.

developer

ContextLimits records capacity known to the caller. Zero fields are explicitly unknown; the type does not guess provider defaults.

API surface

type ContextLimits struct {
	WindowTokens    content.TokenCount
	MaxInputTokens  content.TokenCount
	MaxOutputTokens content.TokenCount
}

func (l ContextLimits) Validate() error
FieldMeaning
WindowTokensShared context window; zero means unknown
MaxInputTokensOptional input cap; zero means unknown
MaxOutputTokensOptional output cap; zero means unknown

When WindowTokens is known, each known max must be less than or equal to it. Independent maxima need not sum below the window because actual request admission accounts for combined use. A contradiction returns *ContextLimitsValidationError with Field, Reason, Value, and WindowTokens.

limits := model.ContextLimits{
	WindowTokens: 128_000,
	MaxInputTokens: 100_000,
	MaxOutputTokens: 8_000,
}
if err := limits.Validate(); err != nil {
	panic(err)
}

Use WithContextLimits(limits) when constructing a custom model.

Proof

Related: Model, Model validation.

← back to documentation