mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-30 01:52:18 +00:00
Merge a7a3621425 into c0fc4c4234
This commit is contained in:
commit
8f7053d54d
6 changed files with 52 additions and 6 deletions
|
|
@ -86,6 +86,7 @@ model LiteLLM_OrganizationTable {
|
|||
metadata Json @default("{}")
|
||||
models String[]
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
model_spend Json @default("{}")
|
||||
object_permission_id String?
|
||||
created_at DateTime @default(now()) @map("created_at")
|
||||
|
|
@ -125,6 +126,7 @@ model LiteLLM_TeamTable {
|
|||
max_budget Float?
|
||||
soft_budget Float?
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
models String[]
|
||||
max_parallel_requests Int?
|
||||
tpm_limit BigInt?
|
||||
|
|
@ -239,6 +241,7 @@ model LiteLLM_UserTable {
|
|||
user_role String?
|
||||
max_budget Float?
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
user_email String?
|
||||
models String[]
|
||||
metadata Json @default("{}")
|
||||
|
|
@ -363,6 +366,7 @@ model LiteLLM_VerificationToken {
|
|||
key_alias String?
|
||||
soft_budget_cooldown Boolean @default(false) // key-level state on if budget alerts need to be cooled down
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
expires DateTime?
|
||||
models String[]
|
||||
aliases Json @default("{}")
|
||||
|
|
@ -513,6 +517,7 @@ model LiteLLM_EndUserTable {
|
|||
user_id String @id
|
||||
alias String? // admin-facing alias
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
allowed_model_region String? // require all user requests to use models in this specific region
|
||||
default_model String? // use along with 'allowed_model_region'. if no available model in region, default to this model.
|
||||
budget_id String?
|
||||
|
|
@ -611,6 +616,7 @@ model LiteLLM_TeamMembership {
|
|||
user_id String
|
||||
team_id String
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
budget_id String?
|
||||
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id])
|
||||
@@id([user_id, team_id])
|
||||
|
|
@ -622,6 +628,7 @@ model LiteLLM_OrganizationMembership {
|
|||
organization_id String
|
||||
user_role String?
|
||||
spend Float? @default(0.0)
|
||||
total_spend Float? @default(0.0)
|
||||
budget_id String?
|
||||
created_at DateTime? @default(now()) @map("created_at")
|
||||
updated_at DateTime? @default(now()) @updatedAt @map("updated_at")
|
||||
|
|
|
|||
|
|
@ -1888,6 +1888,7 @@ class LiteLLM_ObjectPermissionTable(LiteLLMPydanticObjectBase):
|
|||
class LiteLLM_TeamTable(TeamBase):
|
||||
team_id: str # type: ignore
|
||||
spend: Optional[float] = None
|
||||
total_spend: Optional[float] = None
|
||||
max_parallel_requests: Optional[int] = None
|
||||
budget_duration: Optional[str] = None
|
||||
budget_reset_at: Optional[datetime] = None
|
||||
|
|
@ -2359,6 +2360,7 @@ class LiteLLM_VerificationToken(LiteLLMPydanticObjectBase):
|
|||
key_name: Optional[str] = None
|
||||
key_alias: Optional[str] = None
|
||||
spend: float = 0.0
|
||||
total_spend: float = 0.0
|
||||
max_budget: Optional[float] = None
|
||||
expires: Optional[Union[str, datetime]] = None
|
||||
models: List = []
|
||||
|
|
@ -2697,6 +2699,7 @@ class LiteLLM_UserTable(LiteLLMPydanticObjectBase):
|
|||
user_id: str
|
||||
max_budget: Optional[float] = None
|
||||
spend: float = 0.0
|
||||
total_spend: float = 0.0
|
||||
model_max_budget: Optional[Dict] = {}
|
||||
model_spend: Optional[Dict] = {}
|
||||
user_email: Optional[str] = None
|
||||
|
|
@ -2736,6 +2739,7 @@ class LiteLLM_OrganizationTable(LiteLLMPydanticObjectBase):
|
|||
organization_alias: Optional[str] = None
|
||||
budget_id: str
|
||||
spend: float = 0.0
|
||||
total_spend: float = 0.0
|
||||
metadata: Optional[dict] = None
|
||||
models: List[str]
|
||||
created_by: str
|
||||
|
|
@ -2908,6 +2912,7 @@ class LiteLLM_EndUserTable(LiteLLMPydanticObjectBase):
|
|||
blocked: bool
|
||||
alias: Optional[str] = None
|
||||
spend: float = 0.0
|
||||
total_spend: float = 0.0
|
||||
allowed_model_region: Optional[AllowedModelRegion] = None
|
||||
default_model: Optional[str] = None
|
||||
litellm_budget_table: Optional[LiteLLM_BudgetTable] = None
|
||||
|
|
|
|||
|
|
@ -1134,7 +1134,10 @@ class DBSpendUpdateWriter:
|
|||
) in user_list_transactions.items():
|
||||
batcher.litellm_usertable.update_many(
|
||||
where={"user_id": user_id},
|
||||
data={"spend": {"increment": response_cost}},
|
||||
data={
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
},
|
||||
)
|
||||
break
|
||||
except DB_CONNECTION_ERROR_TYPES as e:
|
||||
|
|
@ -1191,6 +1194,7 @@ class DBSpendUpdateWriter:
|
|||
where={"token": token},
|
||||
data={
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
"last_active": datetime.now(timezone.utc),
|
||||
},
|
||||
)
|
||||
|
|
@ -1238,7 +1242,10 @@ class DBSpendUpdateWriter:
|
|||
)
|
||||
batcher.litellm_teamtable.update_many( # 'update_many' prevents error from being raised if no row exists
|
||||
where={"team_id": team_id},
|
||||
data={"spend": {"increment": response_cost}},
|
||||
data={
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
},
|
||||
)
|
||||
break
|
||||
except DB_CONNECTION_ERROR_TYPES as e:
|
||||
|
|
@ -1295,7 +1302,10 @@ class DBSpendUpdateWriter:
|
|||
|
||||
batcher.litellm_teammembership.update_many( # 'update_many' prevents error from being raised if no row exists
|
||||
where={"team_id": team_id, "user_id": user_id},
|
||||
data={"spend": {"increment": response_cost}},
|
||||
data={
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
},
|
||||
)
|
||||
# Transaction succeeded, break out of retry loop
|
||||
break
|
||||
|
|
@ -1348,7 +1358,10 @@ class DBSpendUpdateWriter:
|
|||
) in org_list_transactions.items():
|
||||
batcher.litellm_organizationtable.update_many( # 'update_many' prevents error from being raised if no row exists
|
||||
where={"organization_id": org_id},
|
||||
data={"spend": {"increment": response_cost}},
|
||||
data={
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
},
|
||||
)
|
||||
break
|
||||
except DB_CONNECTION_ERROR_TYPES as e:
|
||||
|
|
@ -1439,7 +1452,10 @@ class DBSpendUpdateWriter:
|
|||
)
|
||||
getattr(batcher, table_accessor).update_many(
|
||||
where={where_field: entity_id},
|
||||
data={"spend": {"increment": response_cost}},
|
||||
data={
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
},
|
||||
)
|
||||
break
|
||||
except DB_CONNECTION_ERROR_TYPES as e:
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ model LiteLLM_OrganizationTable {
|
|||
metadata Json @default("{}")
|
||||
models String[]
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
model_spend Json @default("{}")
|
||||
object_permission_id String?
|
||||
created_at DateTime @default(now()) @map("created_at")
|
||||
|
|
@ -125,6 +126,7 @@ model LiteLLM_TeamTable {
|
|||
max_budget Float?
|
||||
soft_budget Float?
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
models String[]
|
||||
max_parallel_requests Int?
|
||||
tpm_limit BigInt?
|
||||
|
|
@ -239,6 +241,7 @@ model LiteLLM_UserTable {
|
|||
user_role String?
|
||||
max_budget Float?
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
user_email String?
|
||||
models String[]
|
||||
metadata Json @default("{}")
|
||||
|
|
@ -363,6 +366,7 @@ model LiteLLM_VerificationToken {
|
|||
key_alias String?
|
||||
soft_budget_cooldown Boolean @default(false) // key-level state on if budget alerts need to be cooled down
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
expires DateTime?
|
||||
models String[]
|
||||
aliases Json @default("{}")
|
||||
|
|
@ -513,6 +517,7 @@ model LiteLLM_EndUserTable {
|
|||
user_id String @id
|
||||
alias String? // admin-facing alias
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
allowed_model_region String? // require all user requests to use models in this specific region
|
||||
default_model String? // use along with 'allowed_model_region'. if no available model in region, default to this model.
|
||||
budget_id String?
|
||||
|
|
@ -611,6 +616,7 @@ model LiteLLM_TeamMembership {
|
|||
user_id String
|
||||
team_id String
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
budget_id String?
|
||||
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id])
|
||||
@@id([user_id, team_id])
|
||||
|
|
@ -622,6 +628,7 @@ model LiteLLM_OrganizationMembership {
|
|||
organization_id String
|
||||
user_role String?
|
||||
spend Float? @default(0.0)
|
||||
total_spend Float? @default(0.0)
|
||||
budget_id String?
|
||||
created_at DateTime? @default(now()) @map("created_at")
|
||||
updated_at DateTime? @default(now()) @updatedAt @map("updated_at")
|
||||
|
|
|
|||
|
|
@ -4764,9 +4764,13 @@ class ProxyUpdateSpend:
|
|||
"create": {
|
||||
"user_id": end_user_id,
|
||||
"spend": response_cost,
|
||||
"total_spend": response_cost,
|
||||
"blocked": False,
|
||||
},
|
||||
"update": {"spend": {"increment": response_cost}},
|
||||
"update": {
|
||||
"spend": {"increment": response_cost},
|
||||
"total_spend": {"increment": response_cost},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ model LiteLLM_OrganizationTable {
|
|||
metadata Json @default("{}")
|
||||
models String[]
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
model_spend Json @default("{}")
|
||||
object_permission_id String?
|
||||
created_at DateTime @default(now()) @map("created_at")
|
||||
|
|
@ -125,6 +126,7 @@ model LiteLLM_TeamTable {
|
|||
max_budget Float?
|
||||
soft_budget Float?
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
models String[]
|
||||
max_parallel_requests Int?
|
||||
tpm_limit BigInt?
|
||||
|
|
@ -239,6 +241,7 @@ model LiteLLM_UserTable {
|
|||
user_role String?
|
||||
max_budget Float?
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
user_email String?
|
||||
models String[]
|
||||
metadata Json @default("{}")
|
||||
|
|
@ -363,6 +366,7 @@ model LiteLLM_VerificationToken {
|
|||
key_alias String?
|
||||
soft_budget_cooldown Boolean @default(false) // key-level state on if budget alerts need to be cooled down
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
expires DateTime?
|
||||
models String[]
|
||||
aliases Json @default("{}")
|
||||
|
|
@ -513,6 +517,7 @@ model LiteLLM_EndUserTable {
|
|||
user_id String @id
|
||||
alias String? // admin-facing alias
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
allowed_model_region String? // require all user requests to use models in this specific region
|
||||
default_model String? // use along with 'allowed_model_region'. if no available model in region, default to this model.
|
||||
budget_id String?
|
||||
|
|
@ -611,6 +616,7 @@ model LiteLLM_TeamMembership {
|
|||
user_id String
|
||||
team_id String
|
||||
spend Float @default(0.0)
|
||||
total_spend Float @default(0.0)
|
||||
budget_id String?
|
||||
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id])
|
||||
@@id([user_id, team_id])
|
||||
|
|
@ -622,6 +628,7 @@ model LiteLLM_OrganizationMembership {
|
|||
organization_id String
|
||||
user_role String?
|
||||
spend Float? @default(0.0)
|
||||
total_spend Float? @default(0.0)
|
||||
budget_id String?
|
||||
created_at DateTime? @default(now()) @map("created_at")
|
||||
updated_at DateTime? @default(now()) @updatedAt @map("updated_at")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue