37 lines
761 B
Python
37 lines
761 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class ApiUsageLogResponse(BaseModel):
|
|
"""API 使用日志响应。"""
|
|
|
|
id: str
|
|
api_key_id: str
|
|
api_generation_task_id: str | None
|
|
request_type: str
|
|
model_name: str
|
|
gen_type: str
|
|
credits_cost: float
|
|
tokens_used: int
|
|
request_duration_ms: int
|
|
status: str
|
|
error_message: str | None
|
|
error_code: str | None
|
|
created_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class ApiUsageSummaryResponse(BaseModel):
|
|
"""API 使用汇总响应。"""
|
|
|
|
total_requests: int
|
|
total_credits_cost: float
|
|
total_tokens_used: int
|
|
success_count: int
|
|
failed_count: int
|
|
avg_duration_ms: int
|
|
items: list[ApiUsageLogResponse]
|