From 375e727f9a18d12e98efe2740491be110afb00b1 Mon Sep 17 00:00:00 2001 From: balibabu Date: Tue, 18 Feb 2025 15:13:55 +0800 Subject: [PATCH] Feat: Extract the common parts of groupImage2TextOptions and groupOptionsByModelType #5063 (#5074) ### What problem does this PR solve? Feat: Extract the common parts of groupImage2TextOptions and groupOptionsByModelType #5063 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- web/src/hooks/llm-hooks.tsx | 51 +++++++++++++++---------------------- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/web/src/hooks/llm-hooks.tsx b/web/src/hooks/llm-hooks.tsx index 0d777f586..f7689857b 100644 --- a/web/src/hooks/llm-hooks.tsx +++ b/web/src/hooks/llm-hooks.tsx @@ -5,6 +5,7 @@ import { IFactory, IMyLlmValue, IThirdOAIModelCollection as IThirdAiModelCollection, + IThirdOAIModel, IThirdOAIModelCollection, } from '@/interfaces/database/llm'; import { @@ -55,6 +56,24 @@ export const useSelectLlmOptions = () => { return embeddingModelOptions; }; +function buildLlmOptionsWithIcon(x: IThirdOAIModel) { + return { + label: ( + + + {x.llm_name} + + ), + value: `${x.llm_name}@${x.fid}`, + disabled: !x.available, + }; +} + export const useSelectLlmOptionsByModelType = () => { const llmInfo: IThirdOAIModelCollection = useFetchLlmList(); @@ -73,21 +92,7 @@ export const useSelectLlmOptionsByModelType = () => { (x.tags && x.tags.includes(modelTag))) && x.available, ) - .map((x) => ({ - label: ( - - - {x.llm_name} - - ), - value: `${x.llm_name}@${x.fid}`, - disabled: !x.available, - })), + .map(buildLlmOptionsWithIcon), }; }) .filter((x) => x.options.length > 0); @@ -107,21 +112,7 @@ export const useSelectLlmOptionsByModelType = () => { (modelType ? x.model_type.includes(modelType) : true) && x.available, ) - .map((x) => ({ - label: ( - - - {x.llm_name} - - ), - value: `${x.llm_name}@${x.fid}`, - disabled: !x.available, - })), + .map(buildLlmOptionsWithIcon), }; }) .filter((x) => x.options.length > 0);