chore: detail api

This commit is contained in:
jialin
2026-01-30 18:48:55 +08:00
parent 358df925e7
commit 8f2eea70f6
43 changed files with 1938 additions and 97 deletions
+3 -1
View File
@@ -1,7 +1,9 @@
import { createContext, useContext } from 'react';
import { BenchmarkDetail } from './detail-types';
interface DetailContextProps {
detailData: any;
detailData: BenchmarkDetail;
clusterList?: Global.BaseOption<number>[];
id: number;
loading?: boolean;
}
+117
View File
@@ -0,0 +1,117 @@
export interface ComputedResourceClaim {
is_unified_memory: boolean;
offload_layers: any;
total_layers: any;
ram: any;
vram: Record<string, number>;
tensor_split: any;
vram_utilization: any;
}
export interface InstancesData {
computed_resource_claim: ComputedResourceClaim;
ports: number[];
worker_id: number;
worker_name: string;
worker_ip: string;
gpu_type: string;
gpu_indexes: number[];
gpu_ids: string[];
id: number;
name: string;
resolved_path: string;
state: string;
state_message: string;
backend: any;
backend_version: any;
api_detected_backend_version: any;
backend_parameters: any;
image_name: any;
run_command: any;
env: any;
extended_kv_cache: any;
speculative_config: any;
subordinate_workers: any;
}
export interface WorkerData {
id: number;
name: string;
cpu_total: number;
memory_total: number;
os: {
name: string;
version: string;
};
}
export interface GPUData {
vendor: string;
type: string;
index: number;
device_index: number;
device_chip_index: number;
arch_family: string;
name: string;
uuid: string;
driver_version: string;
runtime_version: string;
compute_capability: string;
id: string;
worker_id: number;
worker_name: string;
memory_total: number;
core_total: number;
}
export interface BenchmarkDetail {
requests_per_second_mean: number;
request_latency_mean: number;
time_per_output_token_mean: number;
inter_token_latency_mean: number;
time_to_first_token_mean: number;
tokens_per_second_mean: number;
output_tokens_per_second_mean: number;
prompt_tokens_per_second_mean: number;
name: string;
description: string;
labels: Record<string, any>;
dataset_id: number;
dataset_name: string;
dataset_source: string;
dataset_prompt_tokens: number;
dataset_output_tokens: number;
cluster_id: number;
model_id: number;
model_name: string;
model_instance_name: string;
request_rate: number;
total_requests: number;
state: string;
state_message: any;
progress: any;
worker_id: number;
pid: number;
snapshot: {
instances: Record<string, InstancesData>;
workers: Record<string, WorkerData>;
gpus: Record<string, GPUData>;
};
gpu_summary: string;
gpu_vendor_summary: string;
id: number;
created_at: string;
updated_at: string;
}
export interface BenchmarkMetricsFormData {
requests_per_second_mean: number;
request_latency_mean: number;
time_per_output_token_mean: number;
inter_token_latency_mean: number;
time_to_first_token_mean: number;
tokens_per_second_mean: number;
output_tokens_per_second_mean: number;
prompt_tokens_per_second_mean: number;
raw_metrics: Record<string, any>;
}
+3 -3
View File
@@ -3,9 +3,9 @@ import { createContext, useContext } from 'react';
interface FormContextProps {
action: PageActionType;
clusterList: Global.BaseOption<number>[];
modelList: Global.BaseOption<number>[];
modelInstanceList: Global.BaseOption<number>[];
open?: boolean;
clusterList?: Global.BaseOption<number>[];
modelList?: Global.BaseOption<number>[];
}
const FormContext = createContext<FormContextProps>({} as FormContextProps);
+1
View File
@@ -67,6 +67,7 @@ export interface GPUSnapshot {
export interface FormData {
name: string;
profile: string;
description: string;
labels: Record<string, string>;
cluster_id: number;