diff --git a/src/components/list-input/index.tsx b/src/components/list-input/index.tsx index 37282847..428f01aa 100644 --- a/src/components/list-input/index.tsx +++ b/src/components/list-input/index.tsx @@ -9,7 +9,7 @@ import ListItem from './list-item'; interface ListInputProps { dataList: string[]; label: string; - description?: string; + description?: React.ReactNode; btnText?: string; options?: Global.HintOptions[]; placeholder?: string; diff --git a/src/components/markdown-viewer/index.less b/src/components/markdown-viewer/index.less index 36c6c6f6..736375c7 100644 --- a/src/components/markdown-viewer/index.less +++ b/src/components/markdown-viewer/index.less @@ -46,6 +46,7 @@ table { width: 100%; + margin-bottom: 1.2em; th { font-weight: var(--font-weight-bold); diff --git a/src/locales/en-US/common.ts b/src/locales/en-US/common.ts index 8f47a163..83bbd06f 100644 --- a/src/locales/en-US/common.ts +++ b/src/locales/en-US/common.ts @@ -206,5 +206,6 @@ export default { 'common.title.delete.confirm': 'Confirm delete', 'common.button.addLabel': 'Add Labels', 'common.button.addSelector': 'Add Selectors', - 'common.button.addParams': 'Add Parameter' + 'common.button.addParams': 'Add Parameter', + 'common.text.here': 'here' }; diff --git a/src/locales/en-US/models.ts b/src/locales/en-US/models.ts index 625181f6..1b9b4611 100644 --- a/src/locales/en-US/models.ts +++ b/src/locales/en-US/models.ts @@ -64,5 +64,6 @@ export default { 'models.form.backend_parameters.llamabox.placeholder': 'e.g., --ctx-size=8192', 'models.form.backend_parameters.vllm.placeholder': - 'e.g., --max-model-len=8192' + 'e.g., --max-model-len=8192', + 'models.form.backend_parameters.vllm.tips': 'More {backend} parameter details' }; diff --git a/src/locales/zh-CN/common.ts b/src/locales/zh-CN/common.ts index 4822487c..f0e946e3 100644 --- a/src/locales/zh-CN/common.ts +++ b/src/locales/zh-CN/common.ts @@ -199,5 +199,6 @@ export default { 'common.title.delete.confirm': '确认删除', 'common.button.addLabel': '添加标签', 'common.button.addSelector': '添加选择器', - 'common.button.addParams': '添加参数' + 'common.button.addParams': '添加参数', + 'common.text.here': '这里' }; diff --git a/src/locales/zh-CN/models.ts b/src/locales/zh-CN/models.ts index 5671e50a..6e105571 100644 --- a/src/locales/zh-CN/models.ts +++ b/src/locales/zh-CN/models.ts @@ -63,5 +63,6 @@ export default { 'models.form.backend_parameters.llamabox.placeholder': '例如,--ctx-size=8192', 'models.form.backend_parameters.vllm.placeholder': - '例如,--max-model-len=8192' + '例如,--max-model-len=8192', + 'models.form.backend_parameters.vllm.tips': '更多 {backend} 参数说明查看' }; diff --git a/src/pages/llmodels/components/advance-config.tsx b/src/pages/llmodels/components/advance-config.tsx index 91035ff2..4a0635e9 100644 --- a/src/pages/llmodels/components/advance-config.tsx +++ b/src/pages/llmodels/components/advance-config.tsx @@ -1,5 +1,4 @@ import LabelSelector from '@/components/label-selector'; -import FieldWrapper from '@/components/label-selector/wrapper'; import ListInput from '@/components/list-input'; import SealSelect from '@/components/seal-form/seal-select'; import { PageAction } from '@/config'; @@ -12,14 +11,13 @@ import { Collapse, Form, FormInstance, - Radio, Select, Tooltip, Typography } from 'antd'; import _ from 'lodash'; import React, { useCallback, useMemo } from 'react'; -import { backendOptionsMap } from '../config'; +import { backendOptionsMap, placementStrategyOptions } from '../config'; import llamaConfig from '../config/llama-config'; import { FormData } from '../config/types'; import vllmConfig from '../config/vllm-config'; @@ -79,6 +77,19 @@ const AdvanceConfig: React.FC = (props) => { return backend === backendOptionsMap.llamaBox ? llamaConfig : vllmConfig; }, [backend]); + const backendParamsTips = useMemo(() => { + if (backend === backendOptionsMap.llamaBox) { + return { + backend: 'llama-box', + link: 'https://github.com/gpustack/llama-box?tab=readme-ov-file#usage' + }; + } + return { + backend: 'vLLM', + link: 'https://docs.vllm.ai/en/stable/serving/openai_compatible_server.html#command-line-arguments-for-the-server' + }; + }, [backend]); + const renderSelectTips = (list: Array<{ title: string; tips: string }>) => { return (
@@ -119,7 +130,7 @@ const AdvanceConfig: React.FC = (props) => { const children = ( <> - {/* = (props) => { value: 'manual' } ]} - > */} - - - - {intl.formatMessage({ - id: 'models.form.scheduletype.auto' - })} - - - {intl.formatMessage({ - id: 'models.form.scheduletype.manual' - })} - - - + > {scheduleType === 'auto' && ( <> name="placement_strategy"> - {/* */} - - - Spread - Binpack - - + > name="worker_selector" @@ -250,7 +233,7 @@ const AdvanceConfig: React.FC = (props) => { )} - {/* = (props) => { } ]} disabled={action === PageAction.EDIT} - > */} - - - - llama-box(llama.cpp) - - - vLLM - - - + > name="backend_parameters"> = (props) => { dataList={form.getFieldValue('backend_parameters') || []} onChange={handleBackendParametersChange} options={paramsConfig} + description={ + + {intl.formatMessage( + { id: 'models.form.backend_parameters.vllm.tips' }, + { backend: backendParamsTips.backend } + )}{' '} + + {intl.formatMessage({ id: 'common.text.here' })} + + + } > {isGGUF && ( diff --git a/src/pages/llmodels/components/update-modal.tsx b/src/pages/llmodels/components/update-modal.tsx index d1d85697..a21b89f1 100644 --- a/src/pages/llmodels/components/update-modal.tsx +++ b/src/pages/llmodels/components/update-modal.tsx @@ -382,9 +382,7 @@ const UpdateModal: React.FC = (props) => { form={form} gpuOptions={gpuOptions} action={PageAction.EDIT} - isGGUF={ - form.getFieldValue('backend') === backendOptionsMap.llamaBox - } + isGGUF={props.data?.backend === backendOptionsMap.llamaBox} >