|
datasource client { |
|
provider = "postgresql" |
|
url = env("DATABASE_URL") |
|
} |
|
|
|
generator client { |
|
provider = "prisma-client-py" |
|
} |
|
|
|
|
|
model LiteLLM_BudgetTable { |
|
budget_id String @id @default(uuid()) |
|
max_budget Float? |
|
soft_budget Float? |
|
max_parallel_requests Int? |
|
tpm_limit BigInt? |
|
rpm_limit BigInt? |
|
model_max_budget Json? |
|
budget_duration String? |
|
budget_reset_at DateTime? |
|
created_at DateTime @default(now()) @map("created_at") |
|
created_by String |
|
updated_at DateTime @default(now()) @updatedAt @map("updated_at") |
|
updated_by String |
|
organization LiteLLM_OrganizationTable[] |
|
keys LiteLLM_VerificationToken[] |
|
end_users LiteLLM_EndUserTable[] |
|
team_membership LiteLLM_TeamMembership[] |
|
organization_membership LiteLLM_OrganizationMembership[] |
|
} |
|
|
|
|
|
model LiteLLM_ProxyModelTable { |
|
model_id String @id @default(uuid()) |
|
model_name String |
|
litellm_params Json |
|
model_info Json? |
|
created_at DateTime @default(now()) @map("created_at") |
|
created_by String |
|
updated_at DateTime @default(now()) @updatedAt @map("updated_at") |
|
updated_by String |
|
} |
|
|
|
model LiteLLM_OrganizationTable { |
|
organization_id String @id @default(uuid()) |
|
organization_alias String |
|
budget_id String |
|
metadata Json @default("{}") |
|
models String[] |
|
spend Float @default(0.0) |
|
model_spend Json @default("{}") |
|
created_at DateTime @default(now()) @map("created_at") |
|
created_by String |
|
updated_at DateTime @default(now()) @updatedAt @map("updated_at") |
|
updated_by String |
|
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id]) |
|
teams LiteLLM_TeamTable[] |
|
users LiteLLM_UserTable[] |
|
members LiteLLM_OrganizationMembership[] @relation("OrganizationToMembership") |
|
} |
|
|
|
|
|
model LiteLLM_ModelTable { |
|
id Int @id @default(autoincrement()) |
|
model_aliases Json? @map("aliases") |
|
created_at DateTime @default(now()) @map("created_at") |
|
created_by String |
|
updated_at DateTime @default(now()) @updatedAt @map("updated_at") |
|
updated_by String |
|
team LiteLLM_TeamTable? |
|
} |
|
|
|
|
|
|
|
model LiteLLM_TeamTable { |
|
team_id String @id @default(uuid()) |
|
team_alias String? |
|
organization_id String? |
|
admins String[] |
|
members String[] |
|
members_with_roles Json @default("{}") |
|
metadata Json @default("{}") |
|
max_budget Float? |
|
spend Float @default(0.0) |
|
models String[] |
|
max_parallel_requests Int? |
|
tpm_limit BigInt? |
|
rpm_limit BigInt? |
|
budget_duration String? |
|
budget_reset_at DateTime? |
|
blocked Boolean @default(false) |
|
created_at DateTime @default(now()) @map("created_at") |
|
updated_at DateTime @default(now()) @updatedAt @map("updated_at") |
|
model_spend Json @default("{}") |
|
model_max_budget Json @default("{}") |
|
model_id Int? @unique |
|
litellm_organization_table LiteLLM_OrganizationTable? @relation(fields: [organization_id], references: [organization_id]) |
|
litellm_model_table LiteLLM_ModelTable? @relation(fields: [model_id], references: [id]) |
|
} |
|
|
|
|
|
model LiteLLM_UserTable { |
|
user_id String @id |
|
user_alias String? |
|
team_id String? |
|
sso_user_id String? @unique |
|
organization_id String? |
|
password String? |
|
teams String[] @default([]) |
|
user_role String? |
|
max_budget Float? |
|
spend Float @default(0.0) |
|
user_email String? |
|
models String[] |
|
metadata Json @default("{}") |
|
max_parallel_requests Int? |
|
tpm_limit BigInt? |
|
rpm_limit BigInt? |
|
budget_duration String? |
|
budget_reset_at DateTime? |
|
allowed_cache_controls String[] @default([]) |
|
model_spend Json @default("{}") |
|
model_max_budget Json @default("{}") |
|
created_at DateTime? @default(now()) @map("created_at") |
|
updated_at DateTime? @default(now()) @updatedAt @map("updated_at") |
|
|
|
|
|
litellm_organization_table LiteLLM_OrganizationTable? @relation(fields: [organization_id], references: [organization_id]) |
|
organization_memberships LiteLLM_OrganizationMembership[] |
|
invitations_created LiteLLM_InvitationLink[] @relation("CreatedBy") |
|
invitations_updated LiteLLM_InvitationLink[] @relation("UpdatedBy") |
|
invitations_user LiteLLM_InvitationLink[] @relation("UserId") |
|
} |
|
|
|
|
|
model LiteLLM_VerificationToken { |
|
token String @id |
|
key_name String? |
|
key_alias String? |
|
soft_budget_cooldown Boolean @default(false) |
|
spend Float @default(0.0) |
|
expires DateTime? |
|
models String[] |
|
aliases Json @default("{}") |
|
config Json @default("{}") |
|
user_id String? |
|
team_id String? |
|
permissions Json @default("{}") |
|
max_parallel_requests Int? |
|
metadata Json @default("{}") |
|
blocked Boolean? |
|
tpm_limit BigInt? |
|
rpm_limit BigInt? |
|
max_budget Float? |
|
budget_duration String? |
|
budget_reset_at DateTime? |
|
allowed_cache_controls String[] @default([]) |
|
model_spend Json @default("{}") |
|
model_max_budget Json @default("{}") |
|
budget_id String? |
|
created_at DateTime? @default(now()) @map("created_at") |
|
updated_at DateTime? @default(now()) @updatedAt @map("updated_at") |
|
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id]) |
|
} |
|
|
|
model LiteLLM_EndUserTable { |
|
user_id String @id |
|
alias String? |
|
spend Float @default(0.0) |
|
allowed_model_region String? |
|
default_model String? |
|
budget_id String? |
|
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id]) |
|
blocked Boolean @default(false) |
|
} |
|
|
|
|
|
model LiteLLM_Config { |
|
param_name String @id |
|
param_value Json? |
|
} |
|
|
|
|
|
model LiteLLM_SpendLogs { |
|
request_id String @id |
|
call_type String |
|
api_key String @default ("") |
|
spend Float @default(0.0) |
|
total_tokens Int @default(0) |
|
prompt_tokens Int @default(0) |
|
completion_tokens Int @default(0) |
|
startTime DateTime |
|
endTime DateTime |
|
completionStartTime DateTime? |
|
model String @default("") |
|
model_id String? @default("") |
|
model_group String? @default("") |
|
custom_llm_provider String? @default("") |
|
api_base String? @default("") |
|
user String? @default("") |
|
metadata Json? @default("{}") |
|
cache_hit String? @default("") |
|
cache_key String? @default("") |
|
request_tags Json? @default("[]") |
|
team_id String? |
|
end_user String? |
|
requester_ip_address String? |
|
messages Json? @default("{}") |
|
response Json? @default("{}") |
|
@@index([startTime]) |
|
@@index([end_user]) |
|
} |
|
|
|
|
|
model LiteLLM_ErrorLogs { |
|
request_id String @id @default(uuid()) |
|
startTime DateTime |
|
endTime DateTime |
|
api_base String @default("") |
|
model_group String @default("") |
|
litellm_model_name String @default("") |
|
model_id String @default("") |
|
request_kwargs Json @default("{}") |
|
exception_type String @default("") |
|
exception_string String @default("") |
|
status_code String @default("") |
|
} |
|
|
|
|
|
model LiteLLM_UserNotifications { |
|
request_id String @id |
|
user_id String |
|
models String[] |
|
justification String |
|
status String |
|
} |
|
|
|
model LiteLLM_TeamMembership { |
|
|
|
user_id String |
|
team_id String |
|
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]) |
|
} |
|
|
|
model LiteLLM_OrganizationMembership { |
|
|
|
user_id String |
|
organization_id String |
|
user_role String? |
|
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") |
|
|
|
|
|
user LiteLLM_UserTable @relation(fields: [user_id], references: [user_id]) |
|
organization LiteLLM_OrganizationTable @relation("OrganizationToMembership", fields: [organization_id], references: [organization_id]) |
|
litellm_budget_table LiteLLM_BudgetTable? @relation(fields: [budget_id], references: [budget_id]) |
|
|
|
|
|
|
|
@@id([user_id, organization_id]) |
|
@@unique([user_id, organization_id]) |
|
} |
|
|
|
model LiteLLM_InvitationLink { |
|
|
|
id String @id @default(uuid()) |
|
user_id String |
|
is_accepted Boolean @default(false) |
|
accepted_at DateTime? |
|
expires_at DateTime |
|
created_at DateTime |
|
created_by String |
|
updated_at DateTime |
|
updated_by String |
|
|
|
|
|
liteLLM_user_table_user LiteLLM_UserTable @relation("UserId", fields: [user_id], references: [user_id]) |
|
liteLLM_user_table_created LiteLLM_UserTable @relation("CreatedBy", fields: [created_by], references: [user_id]) |
|
liteLLM_user_table_updated LiteLLM_UserTable @relation("UpdatedBy", fields: [updated_by], references: [user_id]) |
|
} |
|
|
|
|
|
model LiteLLM_AuditLog { |
|
id String @id @default(uuid()) |
|
updated_at DateTime @default(now()) |
|
changed_by String @default("") |
|
changed_by_api_key String @default("") |
|
action String |
|
table_name String |
|
object_id String |
|
before_value Json? |
|
updated_values Json? |
|
} |
|
|