diff --git a/web-app/src/containers/ChatInput.tsx b/web-app/src/containers/ChatInput.tsx index 0fa7a4b32e..86f7e6b19a 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 @@ -535,29 +541,41 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => { )} {/* File attachment - show only for models with mmproj */} {hasMmproj && ( -
- - -
+ + + +
+ + +
+
+ +

{t('visions')}

+
+
+
)} {/* Microphone - always available - Temp Hide */} - {/*
+ {/*
*/} {selectedModel?.capabilities?.includes('embeddings') && ( -
+
{ return (
@@ -632,7 +650,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => { -
+
{ -
+
- {currentModel?.settings && provider && ( - - )} + {currentModel?.settings && + provider && + provider.provider === 'llamacpp' && ( + + )}
- - - - handleCapabilityChange('vision', checked) - } - /> - - - {t('providers:editModel.notAvailable')} - - + + handleCapabilityChange('vision', checked) + } + />
diff --git a/web-app/src/hooks/useModelProvider.ts b/web-app/src/hooks/useModelProvider.ts index 9be26ce41c..f0ee6a2fc8 100644 --- a/web-app/src/hooks/useModelProvider.ts +++ b/web-app/src/hooks/useModelProvider.ts @@ -241,7 +241,7 @@ export const useModelProvider = create()( } // Migrate model settings - if (provider.models) { + if (provider.models && provider.provider === 'llamacpp') { provider.models.forEach((model) => { if (!model.settings) model.settings = {}