diff --git a/src/layouts/sider-menu.tsx b/src/layouts/sider-menu.tsx index 5b8b36a8..c11d8b46 100644 --- a/src/layouts/sider-menu.tsx +++ b/src/layouts/sider-menu.tsx @@ -70,7 +70,7 @@ const useStyles = createStyles(({ css, token }) => { } `, menuItemContent: css` - margin: 2px; + margin: 2px 0; border-radius: 4px; overflow: hidden; `, diff --git a/src/locales/en-US/models.ts b/src/locales/en-US/models.ts index 4669ae6a..6753c874 100644 --- a/src/locales/en-US/models.ts +++ b/src/locales/en-US/models.ts @@ -73,7 +73,7 @@ export default { 'models.form.backend_parameters.vllm.placeholder': 'e.g., --max-model-len=8192 (use = to separate name and value)', 'models.form.backend_parameters.sglang.placeholder': - 'e.g., --max-total-tokens=8192 (use = to separate name and value)', + 'e.g., --context-length=8192 (use = to separate name and value)', 'models.form.backend_parameters.vllm.tips': 'More {backend} parameter details', 'models.logs.pagination.prev': 'Previous {lines} Lines', @@ -88,9 +88,12 @@ export default { 'models.form.gpuselector': 'GPU Selector', 'models.form.backend.llamabox': 'For GGUF format models, supports Linux, macOS, and Windows.', - 'models.form.backend.vllm': 'Supported only on Linux.', - 'models.form.backend.voxbox': 'Supported only on NVIDIA GPUs and CPUs.', - 'models.form.backend.mindie': 'Supported only on Ascend 910B and 310P.', + 'models.form.backend.vllm': + 'Built-in support for NVIDIA, AMD, Ascend, Hygon, Iluvatar, and MetaX devices.', + 'models.form.backend.voxbox': 'Only supports NVIDIA GPUs and CPUs.', + 'models.form.backend.mindie': 'Only supports Ascend NPUs.', + 'models.form.backend.sglang': + 'Built-in support for NVIDIA/AMD GPUs and Ascend NPUs.', 'models.form.search.gguftips': 'If using macOS or Windows as a worker, check GGUF (uncheck for audio models).', 'models.form.button.addlabel': 'Add Label', @@ -226,13 +229,13 @@ export default { 'models.form.numDraftTokens': 'Number of Draft Tokens', 'models.form.ngramMinMatchLength': 'N-gram Minimum Match Length', 'models.form.ngramMaxMatchLength': 'N-gram Maximum Match Length', - 'models.form.mode.throughput': 'High-Throughput', - 'models.form.mode.latency': 'Low-Latency', + 'models.form.mode.throughput': 'Throughput', + 'models.form.mode.latency': 'Latency', 'models.form.mode.baseline': 'Standard', 'models.form.mode.throughput.tips': - 'optimized for high throughput under high request concurrency.', + 'Optimized for high throughput under high request concurrency.', 'models.form.mode.latency.tips': - 'optimized for low latency under low request concurrency.', + 'Optimized for low latency under low request concurrency.', 'models.form.mode.baseline.tips': 'Runs at full (original) precision and prioritizes compatibility.', 'models.form.draftModel.placeholder': 'Please select or enter a draft model', diff --git a/src/locales/ja-JP/models.ts b/src/locales/ja-JP/models.ts index 66241973..fede5e91 100644 --- a/src/locales/ja-JP/models.ts +++ b/src/locales/ja-JP/models.ts @@ -75,7 +75,7 @@ export default { 'models.form.backend_parameters.vllm.placeholder': '例: --max-model-len=8192(=で名前と値を分ける)', 'models.form.backend_parameters.sglang.placeholder': - '例: --max-total-tokens=8192(=で名前と値を分ける)', + '例: --context-length=8192(=で名前と値を分ける)', 'models.form.backend_parameters.vllm.tips': '詳細な{backend}パラメータ情報', 'models.logs.pagination.prev': '前の{lines}行', 'models.logs.pagination.next': '次の{lines}行', @@ -89,9 +89,12 @@ export default { 'models.form.gpuselector': 'GPUセレクター', 'models.form.backend.llamabox': 'GGUF形式のモデル用(Linux、macOS、Windowsをサポート)。', - 'models.form.backend.vllm': 'Linux のみ対応。', - 'models.form.backend.voxbox': 'NVIDIA GPUおよびCPUのみ対応。', - 'models.form.backend.mindie': 'Ascend 910Bおよび310Pのみ対応。', + 'models.form.backend.vllm': + 'Built-in support for NVIDIA, AMD, Ascend, Hygon, Iluvatar, and MetaX devices.', + 'models.form.backend.voxbox': 'Only supports NVIDIA GPUs and CPUs.', + 'models.form.backend.mindie': 'Only supports Ascend NPUs.', + 'models.form.backend.sglang': + 'Built-in support for NVIDIA/AMD GPUs and Ascend NPUs.', 'models.form.search.gguftips': 'macOSまたはWindowsをワーカーとして使用する場合、GGUFをチェックしてください(音声モデルの場合はオフにしてください)。', 'models.form.button.addlabel': 'ラベルを追加', @@ -230,11 +233,11 @@ export default { 'models.form.mode.latency': 'Latency', 'models.form.mode.baseline': 'Standard', 'models.form.mode.throughput.tips': - 'optimized for high throughput under high request concurrency.', + 'Optimized for high throughput under high request concurrency.', 'models.form.mode.latency.tips': - 'optimized for low latency under low request concurrency.', + 'Optimized for low latency under low request concurrency.', 'models.form.mode.baseline.tips': - 'the most compatible option with full precision.', + 'The most compatible option with full precision.', 'models.form.draftModel.placeholder': 'Please select or enter a draft model', 'models.form.draftModel.tips': 'You can enter a local path (e.g., /path/to/model) or select a model from Hugging Face or ModelScope (e.g., Tengyunw/qwen3_8b_eagle3). The system will automatically match based on the primary model source.', @@ -329,5 +332,8 @@ export default { // 55. 'models.form.generic_proxy.button': 'Generic Proxy', // 56. 'models.accessControlModal.includeusers': 'Include Users', // 57. 'models.table.genericProxy': 'Refer to the curl example below. The proxy forwards requests with the /model/proxy prefix to the corresponding model. You need to specify the model name either in the X-GPUStack-Model request header or in the "model" property of the JSON body.' - +// 58. 'models.form.backend.vllm': 'Built-in support for NVIDIA, AMD, Ascend, Hygon, Iluvatar, and MetaX devices.', +// 59. 'models.form.backend.voxbox': 'Only supports NVIDIA GPUs and CPUs.', +// 60. models.form.backend.mindie': 'Only supports Ascend NPUs.', +// 61. 'models.form.backend.sglang': 'Built-in support for NVIDIA/AMD GPUs and Ascend NPUs.', // ========== End of To-Do List ========== diff --git a/src/locales/ru-RU/models.ts b/src/locales/ru-RU/models.ts index e7f5e74d..37ded119 100644 --- a/src/locales/ru-RU/models.ts +++ b/src/locales/ru-RU/models.ts @@ -73,7 +73,7 @@ export default { 'models.form.backend_parameters.vllm.placeholder': 'например: --max-model-len=8192(параметр и значение разделены знаком =)', 'models.form.backend_parameters.sglang.placeholder': - 'например: --max-total-tokens=8192(параметр и значение разделены знаком =)', + 'например: --context-length=8192(параметр и значение разделены знаком =)', 'models.form.backend_parameters.vllm.tips': 'Подробнее о параметрах {backend}', 'models.logs.pagination.prev': 'Предыдущие {lines} строк', @@ -88,9 +88,12 @@ export default { 'models.form.gpuselector': 'Селектор GPU', 'models.form.backend.llamabox': 'Для моделей формата GGUF. Поддержка Linux, macOS и Windows.', - 'models.form.backend.vllm': 'Поддерживается только в Linux.', - 'models.form.backend.voxbox': 'Поддерживается только на GPU NVIDIA и CPU.', - 'models.form.backend.mindie': 'Поддерживается только на Ascend 910B и 310P.', + 'models.form.backend.vllm': + 'Built-in support for NVIDIA, AMD, Ascend, Hygon, Iluvatar, and MetaX devices.', + 'models.form.backend.voxbox': 'Only supports NVIDIA GPUs and CPUs.', + 'models.form.backend.mindie': 'Only supports Ascend NPUs.', + 'models.form.backend.sglang': + 'Built-in support for NVIDIA/AMD GPUs and Ascend NPUs.', 'models.form.search.gguftips': 'Для воркеров на macOS/Windows отметьте GGUF (для аудиомоделей снимите).', 'models.form.button.addlabel': 'Добавить метку', @@ -256,5 +259,9 @@ export default { // ========== To-Do: Translate Keys (Remove After Translation) ========== // 1. 'models.catalog.button.explore': 'Explore More Models', -// 2. 'models.table.genericProxy': 'Refer to the curl example below. The proxy forwards requests with the /model/proxy prefix to the corresponding model. You need to specify the model name either in the X-GPUStack-Model request header or in the "model" property of the JSON body.' +// 2. 'models.table.genericProxy': 'Refer to the curl example below. The proxy forwards requests with the /model/proxy prefix to the corresponding model. You need to specify the model name either in the X-GPUStack-Model request header or in the "model" property of the JSON body.', +// 3. 'models.form.backend.vllm': 'Built-in support for NVIDIA, AMD, Ascend, Hygon, Iluvatar, and MetaX devices.', +// 4. 'models.form.backend.voxbox': 'Only supports NVIDIA GPUs and CPUs.', +// 5. 'models.form.backend.mindie': 'Only supports Ascend NPUs.', +// 6. 'models.form.backend.sglang': 'Built-in support for NVIDIA/AMD GPUs and Ascend NPUs.', // ========== End of To-Do List ========== diff --git a/src/locales/zh-CN/models.ts b/src/locales/zh-CN/models.ts index 8a3af60a..21fbe108 100644 --- a/src/locales/zh-CN/models.ts +++ b/src/locales/zh-CN/models.ts @@ -72,7 +72,7 @@ export default { 'models.form.backend_parameters.vllm.placeholder': '例如,--max-model-len=8192(参数名和值用 = 号分隔)', 'models.form.backend_parameters.sglang.placeholder': - '例如,--max-total-tokens=8192(参数名和值用 = 号分隔)', + '例如,--context-length=8192(参数名和值用 = 号分隔)', 'models.form.backend_parameters.vllm.tips': '更多 {backend} 参数说明查看', 'models.logs.pagination.prev': '上一 {lines} 行', 'models.logs.pagination.next': '下一 {lines} 行', @@ -86,9 +86,11 @@ export default { 'models.form.gpuselector': 'GPU 选择器', 'models.form.backend.llamabox': '用于 GGUF 格式模型,支持 Linux, macOS 和 Windows。', - 'models.form.backend.vllm': '仅支持 Linux。', - 'models.form.backend.voxbox': '仅支持 NVIDIA GPU 与 CPU。', - 'models.form.backend.mindie': '仅支持昇腾 910B 和 310P。', + 'models.form.backend.vllm': + '内置支持 NVIDIA、AMD、昇腾、海光、亦来云(Iluvatar)和沐曦(MetaX)设备。', + 'models.form.backend.voxbox': '仅支持 NVIDIA GPU 和 CPU。', + 'models.form.backend.mindie': '仅支持昇腾 NPU。', + 'models.form.backend.sglang': '内置支持 NVIDIA/AMD GPU 和昇腾 NPU。', 'models.form.search.gguftips': '当 macOS 或 Windows 作节点时勾选 GGUF(搜索语音模型时取消勾选)', 'models.form.button.addlabel': '添加标签', diff --git a/src/pages/cluster-management/hooks/use-cluster-columns.tsx b/src/pages/cluster-management/hooks/use-cluster-columns.tsx index 45a186ca..87f3768b 100644 --- a/src/pages/cluster-management/hooks/use-cluster-columns.tsx +++ b/src/pages/cluster-management/hooks/use-cluster-columns.tsx @@ -3,7 +3,7 @@ import AutoTooltip from '@/components/auto-tooltip'; import DropdownButtons from '@/components/drop-down-buttons'; import { SealColumnProps } from '@/components/seal-table/types'; import StatusTag from '@/components/status-tag'; -import { Link, useIntl } from '@umijs/max'; +import { useIntl } from '@umijs/max'; import dayjs from 'dayjs'; import { useMemo } from 'react'; import { @@ -35,13 +35,7 @@ const useClusterColumns = ( dataIndex: 'name', span: 3, render: (text: string, record: ClusterListItem) => ( - - - {text} - - + {text} ) }, { diff --git a/src/pages/llmodels/components/access-control-modal/form.tsx b/src/pages/llmodels/components/access-control-modal/form.tsx index 39eedca9..47351841 100644 --- a/src/pages/llmodels/components/access-control-modal/form.tsx +++ b/src/pages/llmodels/components/access-control-modal/form.tsx @@ -212,7 +212,7 @@ const AccessControlForm = forwardRef((props: AccessControlFormProps, ref) => { id: 'models.accessControlModal.includeusers' })} - + ); diff --git a/src/pages/llmodels/config/index.ts b/src/pages/llmodels/config/index.ts index 5582d0e0..85b79083 100644 --- a/src/pages/llmodels/config/index.ts +++ b/src/pages/llmodels/config/index.ts @@ -7,6 +7,10 @@ export const backendTipsList = [ title: 'vLLM', tips: 'models.form.backend.vllm' }, + { + title: 'SGLang', + tips: 'models.form.backend.sglang' + }, { title: 'Ascend MindIE', tips: 'models.form.backend.mindie' diff --git a/src/pages/llmodels/forms/index.tsx b/src/pages/llmodels/forms/index.tsx index e3ce2186..551f9712 100644 --- a/src/pages/llmodels/forms/index.tsx +++ b/src/pages/llmodels/forms/index.tsx @@ -125,18 +125,18 @@ const DataForm: React.FC = forwardRef((props, ref) => { icon: , field: 'name' }, - { - value: TABKeysMap.SCHEDULING, - label: intl.formatMessage({ id: 'models.form.scheduling' }), - icon: , - field: 'scheduleType' - }, { value: TABKeysMap.PERFORMANCE, label: intl.formatMessage({ id: 'models.form.performance' }), icon: , field: 'extended_kv_cache.enabled' }, + { + value: TABKeysMap.SCHEDULING, + label: intl.formatMessage({ id: 'models.form.scheduling' }), + icon: , + field: 'scheduleType' + }, { value: TABKeysMap.ADVANCED, label: intl.formatMessage({ id: 'resources.form.advanced' }), @@ -476,18 +476,18 @@ const DataForm: React.FC = forwardRef((props, ref) => { accordion={false} onChange={handleOnCollapseChange} items={[ - { - key: TABKeysMap.SCHEDULING, - label: intl.formatMessage({ id: 'models.form.scheduling' }), - forceRender: true, - children: - }, { key: TABKeysMap.PERFORMANCE, label: intl.formatMessage({ id: 'models.form.performance' }), forceRender: true, children: }, + { + key: TABKeysMap.SCHEDULING, + label: intl.formatMessage({ id: 'models.form.scheduling' }), + forceRender: true, + children: + }, { key: TABKeysMap.ADVANCED, label: intl.formatMessage({ id: 'resources.form.advanced' }),