fix: maas provider custom config
This commit is contained in:
@@ -255,8 +255,8 @@ export default {
|
|||||||
'models.catalog.precision': 'Precision',
|
'models.catalog.precision': 'Precision',
|
||||||
'models.form.gpuPerReplica.tips': 'Enter a custom number',
|
'models.form.gpuPerReplica.tips': 'Enter a custom number',
|
||||||
'models.form.generic_proxy': 'Enable Generic Proxy',
|
'models.form.generic_proxy': 'Enable Generic Proxy',
|
||||||
'models.form.enable_model_access': 'Enable Model Access',
|
'models.form.enableModelRoute': 'Enable Model Route',
|
||||||
'models.form.enable_model_access.tips': 'Enable Model Access',
|
'models.form.enableModelRoute.tips': 'Enable Model Route',
|
||||||
'models.form.generic_proxy.tips':
|
'models.form.generic_proxy.tips':
|
||||||
'After enabling the generic proxy, you can access URI paths that do not follow the OpenAI API standard.',
|
'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',
|
'models.form.generic_proxy.button': 'Generic Proxy',
|
||||||
|
|||||||
@@ -255,8 +255,8 @@ export default {
|
|||||||
'models.catalog.precision': 'Precision',
|
'models.catalog.precision': 'Precision',
|
||||||
'models.form.gpuPerReplica.tips': 'Enter a custom number',
|
'models.form.gpuPerReplica.tips': 'Enter a custom number',
|
||||||
'models.form.generic_proxy': 'Enable Generic Proxy',
|
'models.form.generic_proxy': 'Enable Generic Proxy',
|
||||||
'models.form.enable_model_access': 'Enable Model Access',
|
'models.form.enableModelRoute': 'Enable Model Route',
|
||||||
'models.form.enable_model_access.tips': 'Enable Model Access',
|
'models.form.enableModelRoute.tips': 'Enable Model Route',
|
||||||
'models.form.generic_proxy.tips':
|
'models.form.generic_proxy.tips':
|
||||||
'After enabling the generic proxy, you can access URI paths that do not follow the OpenAI API standard.',
|
'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',
|
'models.form.generic_proxy.button': 'Generic Proxy',
|
||||||
@@ -377,6 +377,6 @@ export default {
|
|||||||
// 76. 'models.form.maxContextLength': 'Maximum Context Length',
|
// 76. 'models.form.maxContextLength': 'Maximum Context Length',
|
||||||
// 77. 'models.form.backend.helperText': 'Not enabled yet. Will be enabled after deployment. ',
|
// 77. 'models.form.backend.helperText': 'Not enabled yet. Will be enabled after deployment. ',
|
||||||
// 78. 'models.table.instance.benchmark': 'Run Benchmark'
|
// 78. 'models.table.instance.benchmark': 'Run Benchmark'
|
||||||
// 77. 'models.form.enable_model_access': 'Enable Model Access',
|
// 77. 'models.form.enableModelRoute': 'Enable Model Route',
|
||||||
// 78. 'models.form.enable_model_access.tips': 'Enable Model Access',
|
// 78. 'models.form.enableModelRoute.tips': 'Enable Model Route',
|
||||||
// ========== End of To-Do List ==========
|
// ========== End of To-Do List ==========
|
||||||
|
|||||||
@@ -260,8 +260,8 @@ export default {
|
|||||||
'models.catalog.precision': 'Точность',
|
'models.catalog.precision': 'Точность',
|
||||||
'models.form.gpuPerReplica.tips': 'Введите произвольное число',
|
'models.form.gpuPerReplica.tips': 'Введите произвольное число',
|
||||||
'models.form.generic_proxy': 'Включить универсальный прокси',
|
'models.form.generic_proxy': 'Включить универсальный прокси',
|
||||||
'models.form.enable_model_access': 'Enable Model Access',
|
'models.form.enableModelRoute': 'Enable Model Route',
|
||||||
'models.form.enable_model_access.tips': 'Enable Model Access',
|
'models.form.enableModelRoute.tips': 'Enable Model Route',
|
||||||
'models.form.generic_proxy.tips':
|
'models.form.generic_proxy.tips':
|
||||||
'После включения универсального прокси вы можете получать доступ к URI-путям, которые не следуют стандарту OpenAI API.',
|
'После включения универсального прокси вы можете получать доступ к URI-путям, которые не следуют стандарту OpenAI API.',
|
||||||
'models.form.generic_proxy.button': 'Универсальный прокси',
|
'models.form.generic_proxy.button': 'Универсальный прокси',
|
||||||
@@ -289,6 +289,6 @@ export default {
|
|||||||
// 1. 'models.form.maxContextLength': 'Maximum Context Length',
|
// 1. 'models.form.maxContextLength': 'Maximum Context Length',
|
||||||
// 2. 'models.form.backend.helperText': 'Not enabled yet. Will be enabled after deployment. ',
|
// 2. 'models.form.backend.helperText': 'Not enabled yet. Will be enabled after deployment. ',
|
||||||
// 3. 'models.table.instance.benchmark': 'Run Benchmark'
|
// 3. 'models.table.instance.benchmark': 'Run Benchmark'
|
||||||
// 2. 'models.form.enable_model_access': 'Enable Model Access',
|
// 2. 'models.form.enableModelRoute': 'Enable Model Route',
|
||||||
// 3. 'models.form.enable_model_access.tips': 'Enable Model Access',
|
// 3. 'models.form.enableModelRoute.tips': 'Enable Model Route',
|
||||||
// ========== End of To-Do List ==========
|
// ========== End of To-Do List ==========
|
||||||
|
|||||||
@@ -242,8 +242,8 @@ export default {
|
|||||||
'models.catalog.precision': '精度',
|
'models.catalog.precision': '精度',
|
||||||
'models.form.gpuPerReplica.tips': '输入自定义数值',
|
'models.form.gpuPerReplica.tips': '输入自定义数值',
|
||||||
'models.form.generic_proxy': '启用通用代理',
|
'models.form.generic_proxy': '启用通用代理',
|
||||||
'models.form.enable_model_access': '启用模型接入',
|
'models.form.enableModelRoute': '启用模型路由',
|
||||||
'models.form.enable_model_access.tips': '启用模型接入',
|
'models.form.enableModelRoute.tips': '启用模型路由',
|
||||||
'models.form.generic_proxy.tips':
|
'models.form.generic_proxy.tips':
|
||||||
'启用通用代理后可支持访问非 OpenAI-API 标准的 URI 路径。',
|
'启用通用代理后可支持访问非 OpenAI-API 标准的 URI 路径。',
|
||||||
'models.form.generic_proxy.button': '通用代理',
|
'models.form.generic_proxy.button': '通用代理',
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const AdvanceConfig = () => {
|
|||||||
const form = Form.useFormInstance();
|
const form = Form.useFormInstance();
|
||||||
const EnviromentVars = Form.useWatch('env', form);
|
const EnviromentVars = Form.useWatch('env', form);
|
||||||
const backend = Form.useWatch('backend', form);
|
const backend = Form.useWatch('backend', form);
|
||||||
const modelAccessEnable = Form.useWatch('enable_model_route', form);
|
const modelRouteEnable = Form.useWatch('enable_model_route', form);
|
||||||
const {
|
const {
|
||||||
onValuesChange,
|
onValuesChange,
|
||||||
backendOptions,
|
backendOptions,
|
||||||
@@ -139,15 +139,12 @@ const AdvanceConfig = () => {
|
|||||||
style={{ marginBottom: 8 }}
|
style={{ marginBottom: 8 }}
|
||||||
>
|
>
|
||||||
<CheckboxField
|
<CheckboxField
|
||||||
description={intl.formatMessage({
|
|
||||||
id: 'models.form.enable_model_access.tips'
|
|
||||||
})}
|
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
id: 'models.form.enable_model_access'
|
id: 'models.form.enableModelRoute'
|
||||||
})}
|
})}
|
||||||
></CheckboxField>
|
></CheckboxField>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{modelAccessEnable && (
|
{modelRouteEnable && (
|
||||||
<Form.Item<FormData>
|
<Form.Item<FormData>
|
||||||
name="generic_proxy"
|
name="generic_proxy"
|
||||||
valuePropName="checked"
|
valuePropName="checked"
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { PageActionType } from '@/config/types';
|
|||||||
import CollapsePanel from '@/pages/_components/collapse-panel';
|
import CollapsePanel from '@/pages/_components/collapse-panel';
|
||||||
import { useWrapperContext } from '@/pages/_components/column-wrapper/use-wrapper-context';
|
import { useWrapperContext } from '@/pages/_components/column-wrapper/use-wrapper-context';
|
||||||
import ScrollSpyTabs from '@/pages/_components/scroll-spy-tabs';
|
import ScrollSpyTabs from '@/pages/_components/scroll-spy-tabs';
|
||||||
|
import { json2Yaml, yaml2Json } from '@/pages/backends/config';
|
||||||
import { useIntl } from '@umijs/max';
|
import { useIntl } from '@umijs/max';
|
||||||
import { Form } from 'antd';
|
import { Form } from 'antd';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
@@ -41,6 +42,7 @@ const ProviderForm: React.FC<ProviderFormProps> = forwardRef((props, ref) => {
|
|||||||
const { getScrollElementScrollableHeight } = useWrapperContext();
|
const { getScrollElementScrollableHeight } = useWrapperContext();
|
||||||
const [activeKey, setActiveKey] = useState<string[]>([TABKeysMap.BASIC]);
|
const [activeKey, setActiveKey] = useState<string[]>([TABKeysMap.BASIC]);
|
||||||
const scrollTabsRef = useRef<any>(null);
|
const scrollTabsRef = useRef<any>(null);
|
||||||
|
const advanceRef = useRef<any>(null);
|
||||||
|
|
||||||
const segmentOptions = [
|
const segmentOptions = [
|
||||||
{
|
{
|
||||||
@@ -69,7 +71,11 @@ const ProviderForm: React.FC<ProviderFormProps> = forwardRef((props, ref) => {
|
|||||||
);
|
);
|
||||||
const data = {
|
const data = {
|
||||||
..._.omit(values, ['api_key']),
|
..._.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);
|
onFinish(data);
|
||||||
};
|
};
|
||||||
@@ -100,7 +106,8 @@ const ProviderForm: React.FC<ProviderFormProps> = forwardRef((props, ref) => {
|
|||||||
...currentData,
|
...currentData,
|
||||||
api_key: currentData.api_tokens?.[0] || '',
|
api_key: currentData.api_tokens?.[0] || '',
|
||||||
api_tokens: currentData.api_tokens?.slice(1) || [],
|
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]);
|
}, [form, currentData, action]);
|
||||||
@@ -144,7 +151,12 @@ const ProviderForm: React.FC<ProviderFormProps> = forwardRef((props, ref) => {
|
|||||||
key: TABKeysMap.ADVANCED,
|
key: TABKeysMap.ADVANCED,
|
||||||
label: intl.formatMessage({ id: 'resources.form.advanced' }),
|
label: intl.formatMessage({ id: 'resources.form.advanced' }),
|
||||||
forceRender: true,
|
forceRender: true,
|
||||||
children: <AdvanceConfig action={action}></AdvanceConfig>
|
children: (
|
||||||
|
<AdvanceConfig
|
||||||
|
action={action}
|
||||||
|
ref={advanceRef}
|
||||||
|
></AdvanceConfig>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
></CollapsePanel>
|
></CollapsePanel>
|
||||||
|
|||||||
@@ -280,11 +280,11 @@ const ModelRoutes: React.FC = () => {
|
|||||||
image={<IconFont type="icon-extension-outline" />}
|
image={<IconFont type="icon-extension-outline" />}
|
||||||
filters={_.omit(queryParams, ['sort_by'])}
|
filters={_.omit(queryParams, ['sort_by'])}
|
||||||
noFoundText={intl.formatMessage({
|
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({
|
subTitle={intl.formatMessage({
|
||||||
id: 'noresult.accesses.subTitle'
|
id: 'noresult.routes.subTitle'
|
||||||
})}
|
})}
|
||||||
onClick={handleClickDropdown}
|
onClick={handleClickDropdown}
|
||||||
buttonText={intl.formatMessage({ id: 'noresult.button.add' })}
|
buttonText={intl.formatMessage({ id: 'noresult.button.add' })}
|
||||||
|
|||||||
Reference in New Issue
Block a user