datasource client { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-py" } // Track spend, rate limit, budget Users model LiteLLM_UserTable { user_id String @unique team_id String? max_budget Float? spend Float @default(0.0) user_email String? models String[] max_parallel_requests Int? tpm_limit BigInt? rpm_limit BigInt? budget_duration String? budget_reset_at DateTime? allowed_cache_controls String[] @default([]) } // Generate Tokens for Proxy model LiteLLM_VerificationToken { token String @unique key_name String? key_alias String? spend Float @default(0.0) expires DateTime? models String[] aliases Json @default("{}") config Json @default("{}") user_id String? team_id String? max_parallel_requests Int? metadata Json @default("{}") tpm_limit BigInt? rpm_limit BigInt? max_budget Float? budget_duration String? budget_reset_at DateTime? allowed_cache_controls String[] @default([]) } // store proxy config.yaml model LiteLLM_Config { param_name String @id param_value Json? } // View spend, model, api_key per request model LiteLLM_SpendLogs { request_id String @unique 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 // Assuming start_time is a DateTime field endTime DateTime // Assuming end_time is a DateTime field model String @default("") user String @default("") metadata Json @default("{}") cache_hit String @default("") cache_key String @default("") }