Skip to content

Commit 16cf576

Browse files
authored
Merge f0ad9f7 into 9573703
2 parents 9573703 + f0ad9f7 commit 16cf576

File tree

2 files changed

+63
-5
lines changed

2 files changed

+63
-5
lines changed

src/guidellm/presentation/data_models.py

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
import random
22
from collections import defaultdict
33
from math import ceil
4-
from typing import TYPE_CHECKING, Optional, Union
4+
from typing import TYPE_CHECKING, Any, Optional, Union
55

6+
import httpx
67
from pydantic import BaseModel, computed_field
78

89
if TYPE_CHECKING:
910
from guidellm.benchmark.benchmark import GenerativeBenchmark
1011

12+
from guidellm.dataset.file import FileDatasetCreator
13+
from guidellm.dataset.hf_datasets import HFDatasetsCreator
14+
from guidellm.dataset.in_memory import InMemoryDatasetCreator
15+
from guidellm.dataset.synthetic import SyntheticDatasetConfig, SyntheticDatasetCreator
1116
from guidellm.objects.statistics import DistributionSummary
1217

1318

@@ -58,6 +63,41 @@ class Model(BaseModel):
5863
class Dataset(BaseModel):
5964
name: str
6065

66+
@classmethod
67+
def from_data(cls, request_loader: Any):
68+
creators = [
69+
InMemoryDatasetCreator,
70+
SyntheticDatasetCreator,
71+
FileDatasetCreator,
72+
HFDatasetsCreator,
73+
]
74+
dataset_name = None
75+
data = request_loader.data
76+
data_args = request_loader.data_args
77+
processor = request_loader.processor
78+
processor_args = request_loader.processor_args
79+
80+
for creator in creators:
81+
if not creator.is_supported(data, None):
82+
continue
83+
random_seed = 42
84+
dataset = creator.handle_create(
85+
data, data_args, processor, processor_args, random_seed
86+
)
87+
dataset_name = creator.extract_dataset_name(dataset)
88+
if dataset_name is None or dataset_name == "":
89+
if creator == SyntheticDatasetCreator:
90+
data_dict = SyntheticDatasetConfig.parse_str(data)
91+
dataset_name = data_dict.source
92+
if creator == FileDatasetCreator or isinstance(
93+
creator, HFDatasetsCreator
94+
):
95+
dataset_name = data
96+
if creator == InMemoryDatasetCreator:
97+
dataset_name = "In-memory"
98+
break
99+
return cls(name=dataset_name or "")
100+
61101

62102
class RunInfo(BaseModel):
63103
model: Model
@@ -71,11 +111,14 @@ def from_benchmarks(cls, benchmarks: list["GenerativeBenchmark"]):
71111
timestamp = max(
72112
bm.run_stats.start_time for bm in benchmarks if bm.start_time is not None
73113
)
114+
response = httpx.get(f"https://huggingface.co/api/models/{model}")
115+
model_json = response.json()
116+
74117
return cls(
75-
model=Model(name=model, size=0),
118+
model=Model(name=model, size=model_json.get("usedStorage", 0)),
76119
task="N/A",
77120
timestamp=timestamp,
78-
dataset=Dataset(name="N/A"),
121+
dataset=Dataset.from_data(benchmarks[0].request_loader),
79122
)
80123

81124

src/ui/lib/components/PageHeader/PageHeader.component.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import { Box, Typography } from '@mui/material';
33

44
import { useGetRunInfoQuery } from '../../store/slices/runInfo';
5-
import { formateDate } from '../../utils/helpers';
5+
import { formateDate, getFileSize } from '../../utils/helpers';
66
import { SpecBadge } from '../SpecBadge';
77
import { HeaderCell, HeaderWrapper } from './PageHeader.styles';
88

99
export const Component = () => {
1010
const { data } = useGetRunInfoQuery();
11+
const modelSize = getFileSize(data?.model?.size || 0);
12+
1113
return (
1214
<Box py={2}>
1315
<Typography variant="subtitle2" color="surface.onSurfaceAccent">
@@ -24,11 +26,24 @@ export const Component = () => {
2426
variant="metric2"
2527
withTooltip
2628
/>
29+
<SpecBadge
30+
label="Model size"
31+
value={data?.model?.size ? `${modelSize?.size} ${modelSize?.units}` : '0B'}
32+
variant="body1"
33+
/>
34+
</HeaderCell>
35+
<HeaderCell item xs={5} withDivider>
36+
<SpecBadge
37+
label="Dataset"
38+
value={data?.dataset?.name || 'N/A'}
39+
variant="caption"
40+
withTooltip
41+
/>
2742
</HeaderCell>
2843
<HeaderCell item xs={2} sx={{ paddingRight: 0 }}>
2944
<SpecBadge
3045
label="Time Stamp"
31-
value={data?.timestamp ? formateDate(data?.timestamp) : 'n/a'}
46+
value={data?.timestamp ? formateDate(data?.timestamp) : 'N/A'}
3247
variant="caption"
3348
/>
3449
</HeaderCell>

0 commit comments

Comments
 (0)