Skip to content

ccproxy.plugins.max_tokens.models

ccproxy.plugins.max_tokens.models

Pydantic models for max_tokens plugin.

ModelTokenLimits

Bases: BaseModel

Token limits for a specific model.

TokenLimitsData

Bases: BaseModel

Complete token limits data for all models.

get_max_output_tokens

get_max_output_tokens(model_name)

Get maximum output tokens for a model.

Source code in ccproxy/plugins/max_tokens/models.py
def get_max_output_tokens(self, model_name: str) -> int | None:
    """Get maximum output tokens for a model."""
    model_limits = self.models.get(model_name)
    return model_limits.max_output_tokens if model_limits else None

get_max_input_tokens

get_max_input_tokens(model_name)

Get maximum input tokens for a model.

Source code in ccproxy/plugins/max_tokens/models.py
def get_max_input_tokens(self, model_name: str) -> int | None:
    """Get maximum input tokens for a model."""
    model_limits = self.models.get(model_name)
    return model_limits.max_input_tokens if model_limits else None

has_model

has_model(model_name)

Check if model limits exist for the given model.

Source code in ccproxy/plugins/max_tokens/models.py
def has_model(self, model_name: str) -> bool:
    """Check if model limits exist for the given model."""
    return model_name in self.models

MaxTokensModification

Bases: BaseModel

Information about max_tokens modification made by the plugin.

was_modified

was_modified()

Check if max_tokens was modified.

Source code in ccproxy/plugins/max_tokens/models.py
def was_modified(self) -> bool:
    """Check if max_tokens was modified."""
    return self.original_max_tokens != self.new_max_tokens