diff --git a/web-app/src/containers/ChatInput.tsx b/web-app/src/containers/ChatInput.tsx index 0fa7a4b32..df73b3bac 100644 --- a/web-app/src/containers/ChatInput.tsx +++ b/web-app/src/containers/ChatInput.tsx @@ -107,9 +107,15 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => { if (selectedProvider === 'llamacpp') { const hasLocalMmproj = await checkMmprojExists(selectedModel.id) setHasMmproj(hasLocalMmproj) - } else { - // For non-llamacpp providers, only check vision capability + } + // For non-llamacpp providers, only check vision capability + else if ( + selectedProvider !== 'llamacpp' && + selectedModel?.capabilities?.includes('vision') + ) { setHasMmproj(true) + } else { + setHasMmproj(false) } } catch (error) { console.error('Error checking mmproj:', error) @@ -119,7 +125,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => { } checkMmprojSupport() - }, [selectedModel?.id, selectedProvider]) + }, [selectedModel?.capabilities, selectedModel?.id, selectedProvider]) // Check if there are active MCP servers const hasActiveMCPServers = connectedServers.length > 0 || tools.length > 0 diff --git a/web-app/src/containers/dialogs/EditModel.tsx b/web-app/src/containers/dialogs/EditModel.tsx index 5fd9b3f85..0f39216ae 100644 --- a/web-app/src/containers/dialogs/EditModel.tsx +++ b/web-app/src/containers/dialogs/EditModel.tsx @@ -177,21 +177,13 @@ export const DialogEditModel = ({ {t('providers:editModel.vision')} - - - - handleCapabilityChange('vision', checked) - } - /> - - - {t('providers:editModel.notAvailable')} - - + + handleCapabilityChange('vision', checked) + } + />