feat(web): custom model add video & audio config

This commit is contained in:
zhaoying
2026-03-24 18:30:23 +08:00
parent fb6ce839d2
commit 9df41456f6
4 changed files with 39 additions and 7 deletions

View File

@@ -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',

View File

@@ -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: '联系方式',

View File

@@ -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>

View File

@@ -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[];
} }