LLMPrices Model
Account LLMPrices Model
This module defines the LLMPrices model for managing provider/model-specific markup factors
used in account billing. It enables proportional billing across all accounts based on their usage
of different LLM providers and models.
Classes
LLMPrices: Stores markup prices for each (charge_type, provider, model) combination.
Key Features
Tracks markup factors for each provider/model/charge type.
Enforces uniqueness for (charge_type, provider, model) combinations.
Supports flexible billing and cost allocation for LLM usage.
Example
from smarter.apps.account.models import LLMPrices
markup = LLMPrices.objects.get(provider="openai", model="gpt-4").price
account_charge = provider_cost * markup * account_usage_ratio
- class smarter.apps.account.models.llm_prices.LLMPrices(*args, **kwargs)[source]
Bases:
TimestampedModelLLMPrices model for managing markup factors in account billing.
Stores provider/model-specific price markups, enabling proportional billing across all accounts based on their usage.
- Parameters:
charge_type – String. The type of charge (e.g., completion, plugin, tool).
provider – String. The LLM provider (e.g., OpenAI, Meta AI).
model – String. The model name.
price – Decimal. The markup price to apply.
Note
Markup factors are used to calculate each account’s share of provider costs.
Example usage:
# Calculate account charge for provider/model usage markup = LLMPrices.objects.get(provider="openai", model="gpt-4").price account_charge = provider_cost * markup * account_usage_ratio
- TODO:
create a Choice or FK to charge_type field.
- TODO:
create some form of referential integrity for model and provider fields.
- TODO:
establish reasonable boundaries on price field.
See also
Account,Charge- Parameters:
id (Unknown) – Primary key: ID
created_at (Unknown) – Created at
updated_at (Unknown) – Updated at
- exception DoesNotExist
Bases:
ObjectDoesNotExist
- exception MultipleObjectsReturned
Bases:
MultipleObjectsReturned
- exception NotUpdated
Bases:
ObjectNotUpdated,DatabaseError
- created_at
-
Created at
Timestamp indicating when the model instance was created.
This field is automatically set to the current date and time when the instance is first created. It is indexed in the database for efficient querying.
- Type:
Type
- id
-
Primary key: ID
- Type:
Type
- objects = <django.db.models.Manager object>
- price
-
Price
- Type:
Type
- updated_at
-
Updated at
Timestamp indicating when the model instance was last updated.
This field is automatically updated to the current date and time whenever the instance is saved. It is indexed in the database for efficient querying.
- Type:
Type