mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 01:40:21 +08:00
feat(usage): 修复缓存命中率计算并新增用户端 API 格式统计
- 新增 input_context_expr() 按 api_format 区分 input_tokens 语义 (OpenAI/Gemini input_tokens 已含 cache_read,Claude 需额外加上) - 缓存命中率统一改为基于归一化后的 total_input_context 计算 - 用户 /me/usage 接口新增 summary_by_api_format 后端聚合字段 - 前端 API 格式统计改用后端聚合数据,移除前端逐条记录手动统计 - 提取 formatHitRate 到 utils/format.ts 消除三处重复定义 - 移除 PoolManager 中未使用的 select_key 方法 Co-Authored-By: AAEE86 <ppk0227@hotmail.com>
This commit is contained in:
@@ -79,6 +79,8 @@ export interface ModelSummary {
|
||||
input_tokens: number
|
||||
output_tokens: number
|
||||
total_tokens: number
|
||||
cache_read_tokens?: number
|
||||
cache_hit_rate?: number
|
||||
total_cost_usd: number
|
||||
actual_total_cost_usd?: number // 倍率消耗(仅管理员可见)
|
||||
}
|
||||
@@ -88,11 +90,24 @@ export interface ProviderSummary {
|
||||
provider: string
|
||||
requests: number
|
||||
total_tokens: number
|
||||
cache_read_tokens?: number
|
||||
cache_hit_rate?: number
|
||||
total_cost_usd: number
|
||||
success_rate: number | null
|
||||
avg_response_time_ms: number | null
|
||||
}
|
||||
|
||||
// API 格式统计接口
|
||||
export interface ApiFormatSummary {
|
||||
api_format: string
|
||||
request_count: number
|
||||
total_tokens: number
|
||||
cache_read_tokens: number
|
||||
cache_hit_rate: number
|
||||
total_cost_usd: number
|
||||
avg_response_time_ms: number
|
||||
}
|
||||
|
||||
// 使用统计响应接口
|
||||
export interface UsageResponse {
|
||||
total_requests: number
|
||||
@@ -105,6 +120,7 @@ export interface UsageResponse {
|
||||
billing: BillingSummary
|
||||
summary_by_model: ModelSummary[]
|
||||
summary_by_provider?: ProviderSummary[]
|
||||
summary_by_api_format?: ApiFormatSummary[]
|
||||
pagination?: {
|
||||
total: number
|
||||
limit: number
|
||||
|
||||
@@ -40,6 +40,8 @@ export interface UsageByModel {
|
||||
total_tokens: number
|
||||
total_cost: number
|
||||
avg_response_time?: number
|
||||
cache_read_tokens?: number
|
||||
cache_hit_rate?: number
|
||||
}
|
||||
|
||||
export interface UsageByUser {
|
||||
@@ -61,6 +63,8 @@ export interface UsageByProvider {
|
||||
avg_response_time_ms: number
|
||||
success_rate: number
|
||||
error_count: number
|
||||
cache_read_tokens?: number
|
||||
cache_hit_rate?: number
|
||||
}
|
||||
|
||||
export interface UsageByApiFormat {
|
||||
@@ -70,6 +74,8 @@ export interface UsageByApiFormat {
|
||||
total_cost: number
|
||||
actual_cost: number
|
||||
avg_response_time_ms: number
|
||||
cache_read_tokens?: number
|
||||
cache_hit_rate?: number
|
||||
}
|
||||
|
||||
export interface UsageFilters {
|
||||
|
||||
Reference in New Issue
Block a user