Tracking
- exception openwebui_token_tracking.tracking.TokenLimitExceededError[source]
Bases:
Exception
Raised when a token limit was exceeded
- exception openwebui_token_tracking.tracking.DailyTokenLimitExceededError[source]
Bases:
TokenLimitExceededError
Raised when a daily token limit was exceeded
- exception openwebui_token_tracking.tracking.TotalTokenLimitExceededError[source]
Bases:
TokenLimitExceededError
Raised when a total token limit was exceeded
- class openwebui_token_tracking.tracking.TokenTracker(db_url)[source]
Bases:
object
A class for tracking token usage and managing credit limits for users.
The TokenTracker connects to the Open WebUI database to track token consumption by users, calculate remaining credits, and enforce token usage limits across different models and providers.
- Parameters:
db_url (str) – Database connection URL
- Variables:
db_engine – SQLAlchemy database engine
db_url – Database connection URL
- Raises:
TokenLimitExceededError – When a token limit is exceeded
DailyTokenLimitExceededError – When a daily token limit is exceeded
TotalTokenLimitExceededError – When a total token limit is exceeded
- get_models(provider=None, id=None)[source]
Get all available models.
- Parameters:
- Returns:
A description of the models’ pricing schema
- Return type:
- max_credits(user, sponsored_allowance_name=None, sponsored_allowance_id=None)[source]
Get a user’s maximum daily credits.
- remaining_credits(user, sponsored_allowance_name=None)[source]
Get remaining credits for the specified user and sponsored allowance.
- log_token_usage(provider, model_id, user, prompt_tokens, response_tokens, sponsored_allowance_name=None)[source]
Log the used tokens in the database
- Parameters:
provider (str) – Provider of the model used with these tokens
model_id (str) – ID of the model used with these tokens
user (dict) – User
prompt_tokens (int) – Number of tokens used in the prompt (input tokens)
response_tokens (int) – Number of tokens in the response (output tokens)
sponsored_allowance_name (str, optional) – Name of the sponsored allowance to apply