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)
+ }
+ />