diff --git a/src/locales/en-US/models.ts b/src/locales/en-US/models.ts index 8fd7c2ef..c7063a59 100644 --- a/src/locales/en-US/models.ts +++ b/src/locales/en-US/models.ts @@ -255,8 +255,8 @@ export default { 'models.catalog.precision': 'Precision', 'models.form.gpuPerReplica.tips': 'Enter a custom number', 'models.form.generic_proxy': 'Enable Generic Proxy', - 'models.form.enable_model_access': 'Enable Model Access', - 'models.form.enable_model_access.tips': 'Enable Model Access', + 'models.form.enableModelRoute': 'Enable Model Route', + 'models.form.enableModelRoute.tips': 'Enable Model Route', 'models.form.generic_proxy.tips': 'After enabling the generic proxy, you can access URI paths that do not follow the OpenAI API standard.', 'models.form.generic_proxy.button': 'Generic Proxy', diff --git a/src/locales/ja-JP/models.ts b/src/locales/ja-JP/models.ts index 1adb80c6..decd24e2 100644 --- a/src/locales/ja-JP/models.ts +++ b/src/locales/ja-JP/models.ts @@ -255,8 +255,8 @@ export default { 'models.catalog.precision': 'Precision', 'models.form.gpuPerReplica.tips': 'Enter a custom number', 'models.form.generic_proxy': 'Enable Generic Proxy', - 'models.form.enable_model_access': 'Enable Model Access', - 'models.form.enable_model_access.tips': 'Enable Model Access', + 'models.form.enableModelRoute': 'Enable Model Route', + 'models.form.enableModelRoute.tips': 'Enable Model Route', 'models.form.generic_proxy.tips': 'After enabling the generic proxy, you can access URI paths that do not follow the OpenAI API standard.', 'models.form.generic_proxy.button': 'Generic Proxy', @@ -377,6 +377,6 @@ export default { // 76. 'models.form.maxContextLength': 'Maximum Context Length', // 77. 'models.form.backend.helperText': 'Not enabled yet. Will be enabled after deployment. ', // 78. 'models.table.instance.benchmark': 'Run Benchmark' -// 77. 'models.form.enable_model_access': 'Enable Model Access', -// 78. 'models.form.enable_model_access.tips': 'Enable Model Access', +// 77. 'models.form.enableModelRoute': 'Enable Model Route', +// 78. 'models.form.enableModelRoute.tips': 'Enable Model Route', // ========== End of To-Do List ========== diff --git a/src/locales/ru-RU/models.ts b/src/locales/ru-RU/models.ts index 538c026b..2640d0c8 100644 --- a/src/locales/ru-RU/models.ts +++ b/src/locales/ru-RU/models.ts @@ -260,8 +260,8 @@ export default { 'models.catalog.precision': 'Точность', 'models.form.gpuPerReplica.tips': 'Введите произвольное число', 'models.form.generic_proxy': 'Включить универсальный прокси', - 'models.form.enable_model_access': 'Enable Model Access', - 'models.form.enable_model_access.tips': 'Enable Model Access', + 'models.form.enableModelRoute': 'Enable Model Route', + 'models.form.enableModelRoute.tips': 'Enable Model Route', 'models.form.generic_proxy.tips': 'После включения универсального прокси вы можете получать доступ к URI-путям, которые не следуют стандарту OpenAI API.', 'models.form.generic_proxy.button': 'Универсальный прокси', @@ -289,6 +289,6 @@ export default { // 1. 'models.form.maxContextLength': 'Maximum Context Length', // 2. 'models.form.backend.helperText': 'Not enabled yet. Will be enabled after deployment. ', // 3. 'models.table.instance.benchmark': 'Run Benchmark' -// 2. 'models.form.enable_model_access': 'Enable Model Access', -// 3. 'models.form.enable_model_access.tips': 'Enable Model Access', +// 2. 'models.form.enableModelRoute': 'Enable Model Route', +// 3. 'models.form.enableModelRoute.tips': 'Enable Model Route', // ========== End of To-Do List ========== diff --git a/src/locales/zh-CN/models.ts b/src/locales/zh-CN/models.ts index 203f08fb..e30b9c03 100644 --- a/src/locales/zh-CN/models.ts +++ b/src/locales/zh-CN/models.ts @@ -242,8 +242,8 @@ export default { 'models.catalog.precision': '精度', 'models.form.gpuPerReplica.tips': '输入自定义数值', 'models.form.generic_proxy': '启用通用代理', - 'models.form.enable_model_access': '启用模型接入', - 'models.form.enable_model_access.tips': '启用模型接入', + 'models.form.enableModelRoute': '启用模型路由', + 'models.form.enableModelRoute.tips': '启用模型路由', 'models.form.generic_proxy.tips': '启用通用代理后可支持访问非 OpenAI-API 标准的 URI 路径。', 'models.form.generic_proxy.button': '通用代理', diff --git a/src/pages/llmodels/forms/advance-config.tsx b/src/pages/llmodels/forms/advance-config.tsx index 181dfeea..62220619 100644 --- a/src/pages/llmodels/forms/advance-config.tsx +++ b/src/pages/llmodels/forms/advance-config.tsx @@ -16,7 +16,7 @@ const AdvanceConfig = () => { const form = Form.useFormInstance(); const EnviromentVars = Form.useWatch('env', form); const backend = Form.useWatch('backend', form); - const modelAccessEnable = Form.useWatch('enable_model_route', form); + const modelRouteEnable = Form.useWatch('enable_model_route', form); const { onValuesChange, backendOptions, @@ -139,15 +139,12 @@ const AdvanceConfig = () => { style={{ marginBottom: 8 }} > - {modelAccessEnable && ( + {modelRouteEnable && ( name="generic_proxy" valuePropName="checked" diff --git a/src/pages/maas-provider/forms/index.tsx b/src/pages/maas-provider/forms/index.tsx index cb3a0e79..eac9e7eb 100644 --- a/src/pages/maas-provider/forms/index.tsx +++ b/src/pages/maas-provider/forms/index.tsx @@ -4,6 +4,7 @@ import { PageActionType } from '@/config/types'; import CollapsePanel from '@/pages/_components/collapse-panel'; import { useWrapperContext } from '@/pages/_components/column-wrapper/use-wrapper-context'; import ScrollSpyTabs from '@/pages/_components/scroll-spy-tabs'; +import { json2Yaml, yaml2Json } from '@/pages/backends/config'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; import _ from 'lodash'; @@ -41,6 +42,7 @@ const ProviderForm: React.FC = forwardRef((props, ref) => { const { getScrollElementScrollableHeight } = useWrapperContext(); const [activeKey, setActiveKey] = useState([TABKeysMap.BASIC]); const scrollTabsRef = useRef(null); + const advanceRef = useRef(null); const segmentOptions = [ { @@ -69,7 +71,11 @@ const ProviderForm: React.FC = forwardRef((props, ref) => { ); const data = { ..._.omit(values, ['api_key']), - api_tokens: _.concat([], values.api_key, apiTokens || []) + api_tokens: _.concat([], values.api_key, apiTokens || []), + config: { + type: values.config.type, + ...yaml2Json(advanceRef.current?.getYamlValue() || '') + } }; onFinish(data); }; @@ -100,7 +106,8 @@ const ProviderForm: React.FC = forwardRef((props, ref) => { ...currentData, api_key: currentData.api_tokens?.[0] || '', api_tokens: currentData.api_tokens?.slice(1) || [], - proxy_enabled: !!currentData.proxy_url + proxy_enabled: !!currentData.proxy_url, + custom_config: json2Yaml(_.omit(currentData.config, ['type']) || {}) }); } }, [form, currentData, action]); @@ -144,7 +151,12 @@ const ProviderForm: React.FC = forwardRef((props, ref) => { key: TABKeysMap.ADVANCED, label: intl.formatMessage({ id: 'resources.form.advanced' }), forceRender: true, - children: + children: ( + + ) } ]} > diff --git a/src/pages/model-routes/index.tsx b/src/pages/model-routes/index.tsx index 78e90319..c7f954e0 100644 --- a/src/pages/model-routes/index.tsx +++ b/src/pages/model-routes/index.tsx @@ -280,11 +280,11 @@ const ModelRoutes: React.FC = () => { image={} filters={_.omit(queryParams, ['sort_by'])} noFoundText={intl.formatMessage({ - id: 'noresult.accesses.nofound' + id: 'noresult.routes.nofound' })} - title={intl.formatMessage({ id: 'noresult.accesses.title' })} + title={intl.formatMessage({ id: 'noresult.routes.title' })} subTitle={intl.formatMessage({ - id: 'noresult.accesses.subTitle' + id: 'noresult.routes.subTitle' })} onClick={handleClickDropdown} buttonText={intl.formatMessage({ id: 'noresult.button.add' })}