From ea1751fd4ce111c286d2931b3e15a696dbcc1e09 Mon Sep 17 00:00:00 2001 From: JiangYinjin Date: Wed, 25 Dec 2024 22:42:16 +0800 Subject: [PATCH] fix: allow isVisionModel utility function read env var --- app/utils.ts | 15 ++++++++++----- test/vision-model-checker.test.ts | 3 ++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/utils.ts b/app/utils.ts index 962e68a10..180155799 100644 --- a/app/utils.ts +++ b/app/utils.ts @@ -254,11 +254,16 @@ export function getMessageImages(message: RequestMessage): string[] { } export function isVisionModel(model: string) { - const clientConfig = getClientConfig(); - const envVisionModels = clientConfig?.visionModels - ?.split(",") - .map((m) => m.trim()); - if (envVisionModels?.includes(model)) { + const clientVisionModels = getClientConfig()?.visionModels || ""; + const envVisionModels = process.env.VISION_MODELS || ""; + const allVisionModels = `${clientVisionModels},${envVisionModels}`; + + const visionModelsList = allVisionModels + .split(",") + .filter(Boolean) + .map((m: string) => m.trim()); + + if (visionModelsList.includes(model)) { return true; } return ( diff --git a/test/vision-model-checker.test.ts b/test/vision-model-checker.test.ts index 734e992d8..7fb7f54c5 100644 --- a/test/vision-model-checker.test.ts +++ b/test/vision-model-checker.test.ts @@ -49,10 +49,11 @@ describe("isVisionModel", () => { }); test("should identify models from VISION_MODELS env var", () => { - process.env.VISION_MODELS = "custom-vision-model,another-vision-model"; + process.env.VISION_MODELS = "custom-vision-model,another-vision-model,OpenGVLab/InternVL2-26B"; expect(isVisionModel("custom-vision-model")).toBe(true); expect(isVisionModel("another-vision-model")).toBe(true); + expect(isVisionModel("OpenGVLab/InternVL2-26B")).toBe(true); expect(isVisionModel("unrelated-model")).toBe(false); });