lite_webui / src /capabilities.js
blyon1995's picture
init this repo
ca51841
export const DEFAULT_CAPABILITIES = {
'gpt-4o': { text: true, image: true, audio: false },
'gpt-4o-mini': { text: true, image: true, audio: false },
'gpt-4-turbo': { text: true, image: true, audio: false },
'gpt-4-vision-preview': { text: true, image: true, audio: false },
'gpt-4': { text: true, image: false, audio: false },
'gpt-3.5-turbo': { text: true, image: false, audio: false },
'deepseek-v3': { text: true, image: false, audio: false },
'deepseek-chat': { text: true, image: false, audio: false },
'qwen2.5-7b-instruct': { text: true, image: false, audio: false },
'claude-3-5-sonnet': { text: true, image: true, audio: false },
'claude-3-opus': { text: true, image: true, audio: false },
};
const UNKNOWN_DEFAULT = { text: true, image: false, audio: false };
export function getCapabilities(modelId, userOverrides = {}) {
const base = DEFAULT_CAPABILITIES[modelId] || UNKNOWN_DEFAULT;
const override = userOverrides[modelId];
if (!override) return { ...base };
return { ...base, ...override };
}
export function supportsImage(modelId, userOverrides = {}) {
return getCapabilities(modelId, userOverrides).image;
}
// Video is treated as part of the Vision capability — same toggle, same gate.
export function supportsVideo(modelId, userOverrides = {}) {
return supportsImage(modelId, userOverrides);
}
export function supportsAudio(modelId, userOverrides = {}) {
return getCapabilities(modelId, userOverrides).audio;
}