feat(web): custom model add video & audio config
This commit is contained in:
@@ -620,6 +620,8 @@ export const en = {
|
|||||||
bedrock: "Bedrock",
|
bedrock: "Bedrock",
|
||||||
|
|
||||||
is_vision: 'Vision Support',
|
is_vision: 'Vision Support',
|
||||||
|
is_video: 'Video Support',
|
||||||
|
is_audio: 'Audio Support',
|
||||||
is_omni: 'Omni Support',
|
is_omni: 'Omni Support',
|
||||||
vision: 'Vision',
|
vision: 'Vision',
|
||||||
audio: 'Audio',
|
audio: 'Audio',
|
||||||
|
|||||||
@@ -1258,6 +1258,8 @@ export const zh = {
|
|||||||
bedrock: "Bedrock",
|
bedrock: "Bedrock",
|
||||||
|
|
||||||
is_vision: '支持视觉',
|
is_vision: '支持视觉',
|
||||||
|
is_video: '支持视频',
|
||||||
|
is_audio: '支持音频',
|
||||||
is_omni: '支持全模态',
|
is_omni: '支持全模态',
|
||||||
vision: '视觉',
|
vision: '视觉',
|
||||||
audio: '音频',
|
audio: '音频',
|
||||||
@@ -1496,7 +1498,7 @@ export const zh = {
|
|||||||
|
|
||||||
endUserProfile: '核心档案',
|
endUserProfile: '核心档案',
|
||||||
editEndUserProfile: '编辑',
|
editEndUserProfile: '编辑',
|
||||||
other_name: '姓名',
|
other_name: '名称',
|
||||||
position: '职位',
|
position: '职位',
|
||||||
department: '部门',
|
department: '部门',
|
||||||
contact: '联系方式',
|
contact: '联系方式',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: ZhaoYing
|
* @Author: ZhaoYing
|
||||||
* @Date: 2026-02-03 16:49:28
|
* @Date: 2026-02-03 16:49:28
|
||||||
* @Last Modified by: ZhaoYing
|
* @Last Modified by: ZhaoYing
|
||||||
* @Last Modified time: 2026-03-11 15:08:24
|
* @Last Modified time: 2026-03-24 18:23:31
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* Custom Model Modal
|
* Custom Model Modal
|
||||||
@@ -41,7 +41,11 @@ const CustomModelModal = forwardRef<CustomModelModalRef, CustomModelModalProps>(
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isOmni) {
|
if (isOmni) {
|
||||||
form.setFieldsValue({ is_vision: true })
|
form.setFieldsValue({
|
||||||
|
is_vision: true,
|
||||||
|
is_video: true,
|
||||||
|
is_audio: true
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}, [isOmni])
|
}, [isOmni])
|
||||||
|
|
||||||
@@ -66,6 +70,8 @@ const CustomModelModal = forwardRef<CustomModelModalRef, CustomModelModalProps>(
|
|||||||
logo: model.logo && model.logo.startsWith('http') ? { url: model.logo, uid: model.logo, status: 'done', name: 'logo' } : undefined,
|
logo: model.logo && model.logo.startsWith('http') ? { url: model.logo, uid: model.logo, status: 'done', name: 'logo' } : undefined,
|
||||||
is_omni,
|
is_omni,
|
||||||
is_vision: capability?.includes('vision') || false,
|
is_vision: capability?.includes('vision') || false,
|
||||||
|
is_video: capability?.includes('video') || false,
|
||||||
|
is_audio: capability?.includes('audio') || false,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setIsEdit(false);
|
setIsEdit(false);
|
||||||
@@ -95,13 +101,27 @@ const CustomModelModal = forwardRef<CustomModelModalRef, CustomModelModalProps>(
|
|||||||
form
|
form
|
||||||
.validateFields()
|
.validateFields()
|
||||||
.then((values) => {
|
.then((values) => {
|
||||||
const { logo, type, is_vision, is_omni, ...rest } = values;
|
const { logo, type, is_vision, is_video, is_audio, is_omni, ...rest } = values;
|
||||||
const formData: CustomModelForm = {
|
const formData: CustomModelForm = {
|
||||||
...rest,
|
...rest,
|
||||||
type,
|
type,
|
||||||
}
|
}
|
||||||
if (!['embedding', 'rerank'].includes(type as string)) {
|
if (!['embedding', 'rerank'].includes(type as string)) {
|
||||||
formData.capability = is_omni ? ["vision", "audio"] : is_vision ? ['vision'] : []
|
let capability = is_omni ? ["vision", "audio", 'video'] : []
|
||||||
|
|
||||||
|
if (!is_omni) {
|
||||||
|
if (is_vision) {
|
||||||
|
capability.push('vision')
|
||||||
|
}
|
||||||
|
if (is_audio) {
|
||||||
|
capability.push('audio')
|
||||||
|
}
|
||||||
|
if (is_video) {
|
||||||
|
capability.push('video')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
formData.capability = capability
|
||||||
formData.is_omni = is_omni
|
formData.is_omni = is_omni
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,9 +242,15 @@ const CustomModelModal = forwardRef<CustomModelModalRef, CustomModelModalProps>(
|
|||||||
<Form.Item name="is_omni" valuePropName="checked" className="rb:mb-2!">
|
<Form.Item name="is_omni" valuePropName="checked" className="rb:mb-2!">
|
||||||
<Checkbox>{t('modelNew.is_omni')}</Checkbox>
|
<Checkbox>{t('modelNew.is_omni')}</Checkbox>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item name="is_vision" valuePropName="checked" className="rb:mb-0!">
|
<Form.Item name="is_vision" valuePropName="checked" className="rb:mb-2!">
|
||||||
<Checkbox disabled={isOmni}>{t('modelNew.is_vision')}</Checkbox>
|
<Checkbox disabled={isOmni}>{t('modelNew.is_vision')}</Checkbox>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
<Form.Item name="is_video" valuePropName="checked" className="rb:mb-2!">
|
||||||
|
<Checkbox disabled={isOmni}>{t('modelNew.is_video')}</Checkbox>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item name="is_audio" valuePropName="checked" className="rb:mb-0!">
|
||||||
|
<Checkbox disabled={isOmni}>{t('modelNew.is_audio')}</Checkbox>
|
||||||
|
</Form.Item>
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: ZhaoYing
|
* @Author: ZhaoYing
|
||||||
* @Date: 2026-02-03 16:50:18
|
* @Date: 2026-02-03 16:50:18
|
||||||
* @Last Modified by: ZhaoYing
|
* @Last Modified by: ZhaoYing
|
||||||
* @Last Modified time: 2026-03-20 20:21:45
|
* @Last Modified time: 2026-03-24 18:23:48
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* Type definitions for Model Management
|
* Type definitions for Model Management
|
||||||
@@ -291,6 +291,8 @@ export interface CustomModelForm {
|
|||||||
api_base: string;
|
api_base: string;
|
||||||
}>
|
}>
|
||||||
is_vision?: boolean;
|
is_vision?: boolean;
|
||||||
|
is_video?: boolean;
|
||||||
|
is_audio?: boolean;
|
||||||
is_omni?: boolean;
|
is_omni?: boolean;
|
||||||
capability?: string[];
|
capability?: string[];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user