From 6bb66b2b9353616ad1b68ed128190de1275dc5bd Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Thu, 28 Aug 2025 12:57:11 +0700 Subject: [PATCH] fix: handle checking compatible gated model --- web-app/src/containers/ModelInfoHoverCard.tsx | 13 ++++++++++--- web-app/src/services/models.ts | 5 +++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/web-app/src/containers/ModelInfoHoverCard.tsx b/web-app/src/containers/ModelInfoHoverCard.tsx index 4735e7260..0a39724ba 100644 --- a/web-app/src/containers/ModelInfoHoverCard.tsx +++ b/web-app/src/containers/ModelInfoHoverCard.tsx @@ -79,6 +79,15 @@ export const ModelInfoHoverCard = ({ ) + } else if (status === 'GREY') { + return ( +
+
+ + Unable to determine model compatibility with your current device + +
+ ) } else { return (
@@ -121,9 +130,7 @@ export const ModelInfoHoverCard = ({ <>
- {isDefaultVariant - ? 'Maybe Default Quantization' - : 'Quantization'} + {isDefaultVariant ? 'Default Quantization' : 'Quantization'} {variant?.model_id.split('-').pop()?.toUpperCase() || 'N/A'} diff --git a/web-app/src/services/models.ts b/web-app/src/services/models.ts index bcd0c788c..58940cc8a 100644 --- a/web-app/src/services/models.ts +++ b/web-app/src/services/models.ts @@ -592,7 +592,7 @@ export const checkMmprojExists = async (modelId: string): Promise => { export const isModelSupported = async ( modelPath: string, ctxSize?: number -): Promise<'RED' | 'YELLOW' | 'GREEN'> => { +): Promise<'RED' | 'YELLOW' | 'GREEN' | 'GREY'> => { try { const engine = getEngine('llamacpp') as AIEngine & { isModelSupported?: ( @@ -600,6 +600,7 @@ export const isModelSupported = async ( ctx_size?: number ) => Promise<'RED' | 'YELLOW' | 'GREEN'> } + console.log(engine, 'engine') if (engine && typeof engine.isModelSupported === 'function') { return await engine.isModelSupported(modelPath, ctxSize) } @@ -608,6 +609,6 @@ export const isModelSupported = async ( return 'YELLOW' // Conservative fallback } catch (error) { console.error(`Error checking model support for ${modelPath}:`, error) - return 'RED' // Error state, assume not supported + return 'GREY' // Error state, assume not supported } }