Skip to content

Commit e9fa3e3

Browse files
committed
fix: gpus_per_replica appears null
1 parent b77f796 commit e9fa3e3

File tree

6 files changed

+24
-29
lines changed

6 files changed

+24
-29
lines changed

src/locales/en-US/models.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ export default {
7171
'e.g., --ctx-size=8192 (use = to separate name and value)',
7272
'models.form.backend_parameters.vllm.placeholder':
7373
'e.g., --max-model-len=8192 (use = to separate name and value)',
74+
'models.form.backend_parameters.sglang.placeholder':
75+
'e.g., --max-total-tokens=8192 (use = to separate name and value)',
7476
'models.form.backend_parameters.vllm.tips':
7577
'More {backend} parameter details',
7678
'models.logs.pagination.prev': 'Previous {lines} Lines',

src/locales/ja-JP/models.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ export default {
7373
'例: --ctx-size=8192(=で名前と値を分ける)',
7474
'models.form.backend_parameters.vllm.placeholder':
7575
'例: --max-model-len=8192(=で名前と値を分ける)',
76+
'models.form.backend_parameters.sglang.placeholder':
77+
'例: --max-total-tokens=8192(=で名前と値を分ける)',
7678
'models.form.backend_parameters.vllm.tips': '詳細な{backend}パラメータ情報',
7779
'models.logs.pagination.prev': '前の{lines}行',
7880
'models.logs.pagination.next': '次の{lines}行',

src/locales/ru-RU/models.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ export default {
7171
'например: --ctx-size=8192(параметр и значение разделены знаком =)',
7272
'models.form.backend_parameters.vllm.placeholder':
7373
'например: --max-model-len=8192(параметр и значение разделены знаком =)',
74+
'models.form.backend_parameters.sglang.placeholder':
75+
'например: --max-total-tokens=8192(параметр и значение разделены знаком =)',
7476
'models.form.backend_parameters.vllm.tips':
7577
'Подробнее о параметрах {backend}',
7678
'models.logs.pagination.prev': 'Предыдущие {lines} строк',

src/locales/zh-CN/models.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ export default {
7070
'例如,--ctx-size=8192(参数名和值用 = 号分隔)',
7171
'models.form.backend_parameters.vllm.placeholder':
7272
'例如,--max-model-len=8192(参数名和值用 = 号分隔)',
73+
'models.form.backend_parameters.sglang.placeholder':
74+
'例如,--max-total-tokens=8192(参数名和值用 = 号分隔)',
7375
'models.form.backend_parameters.vllm.tips': '更多 {backend} 参数说明查看',
7476
'models.logs.pagination.prev': '上一 {lines} 行',
7577
'models.logs.pagination.next': '下一 {lines} 行',

src/pages/llmodels/config/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ export const backendParamsHolderTips = {
5959
holder: 'models.form.backend_parameters.vllm.placeholder',
6060
tooltip: 'models.form.backend_parameters.vllm.tips'
6161
},
62+
[backendOptionsMap.SGLang]: {
63+
holder: 'models.form.backend_parameters.sglang.placeholder',
64+
tooltip: ''
65+
},
6266
[backendOptionsMap.voxBox]: null
6367
};
6468

src/pages/llmodels/forms/schedule-type.tsx

Lines changed: 12 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,13 @@ const scheduleTypeTips = [
5151
}
5252
];
5353

54-
const gpuAllocateTypeTips = [
54+
const GPUsPerReplicaTips = [
5555
{
5656
title: {
57-
text: 'models.form.gpusAllocationType.auto',
57+
text: 'common.options.auto',
5858
locale: true
5959
},
6060
tips: 'models.form.gpusAllocationType.auto.tips'
61-
},
62-
{
63-
title: {
64-
text: 'models.form.gpusAllocationType.custom',
65-
locale: true
66-
},
67-
tips: 'models.form.gpusAllocationType.custom.tips'
6861
}
6962
];
7063

@@ -98,7 +91,11 @@ const ScheduleTypeForm: React.FC = () => {
9891
};
9992

10093
const handleGpusPerReplicasChange = (val: string | number | null) => {
101-
form.setFieldValue(['gpu_selector', 'gpus_per_replica'], val);
94+
if (val === null) {
95+
form.setFieldValue(['gpu_selector', 'gpus_per_replica'], -1);
96+
} else {
97+
form.setFieldValue(['gpu_selector', 'gpus_per_replica'], val);
98+
}
10299

103100
onValuesChange?.({}, form.getFieldsValue());
104101
};
@@ -128,23 +125,6 @@ const ScheduleTypeForm: React.FC = () => {
128125
onValuesChange?.({}, form.getFieldsValue());
129126
};
130127

131-
const handleOnStepReplica = async (value: number | string | null) => {
132-
if (value === null) {
133-
await new Promise((resolve) => {
134-
setTimeout(resolve, 200);
135-
});
136-
form.setFieldValue(['gpu_selector', 'gpus_per_replica'], 1);
137-
return;
138-
}
139-
140-
const isPowerOfTwo = (n: number) => (n & (n - 1)) === 0 && n !== 0; // check power of two
141-
if (!isPowerOfTwo(value as number)) {
142-
const newValue = Math.pow(2, Math.round(Math.log2(value as number)));
143-
form.setFieldValue(['gpu_selector', 'gpus_per_replica'], newValue);
144-
onValuesChange?.({}, form.getFieldsValue());
145-
}
146-
};
147-
148128
const onSelectorChange = (field: string, allowEmpty?: boolean) => {
149129
const workerSelector = form.getFieldValue(field);
150130
// check if all keys have values
@@ -246,15 +226,19 @@ const ScheduleTypeForm: React.FC = () => {
246226
{ label: '4', value: 4 },
247227
{ label: '8', value: 8 }
248228
]}
229+
description={
230+
<TooltipList list={GPUsPerReplicaTips}></TooltipList>
231+
}
249232
popupRender={(originNode) => (
250233
<div>
251234
{originNode}
252235
<InputWrapper>
253236
<InputNumber
237+
min={1}
254238
step={1}
255239
style={{ width: '100%' }}
256240
defaultValue={
257-
GPUsPerReplicas === null ? -1 : GPUsPerReplicas
241+
GPUsPerReplicas === -1 ? null : GPUsPerReplicas
258242
}
259243
value={GPUsPerReplicas === -1 ? null : GPUsPerReplicas}
260244
onChange={handleGpusPerReplicasChange}
@@ -263,7 +247,6 @@ const ScheduleTypeForm: React.FC = () => {
263247
</InputWrapper>
264248
</div>
265249
)}
266-
onChange={handleOnStepReplica}
267250
/>
268251
</Form.Item>
269252
</>

0 commit comments

Comments
 (0)