diff --git a/app/utils/model.ts b/app/utils/model.ts index f460babcd25..e6e551a6547 100644 --- a/app/utils/model.ts +++ b/app/utils/model.ts @@ -76,6 +76,7 @@ export function collectModelTable( // server custom models customModels .split(",") + .map((v) => v.trim()) .filter((v) => !!v && v.length > 0) .forEach((m) => { const available = !m.startsWith("-"); diff --git a/test/model-available.test.ts b/test/model-available.test.ts index 5c9fa9977d2..5acac2c338a 100644 --- a/test/model-available.test.ts +++ b/test/model-available.test.ts @@ -77,4 +77,26 @@ describe("isModelNotavailableInServer", () => { ); expect(result).toBe(false); }); + + test("should trim whitespace around custom model entries", () => { + const customModels = ` + -all, + gpt-4, + mistral-large + `; + + expect(isModelNotavailableInServer(customModels, "gpt-4", "OpenAI")).toBe( + false, + ); + expect( + isModelNotavailableInServer(customModels, "gpt-3.5-turbo", "OpenAI"), + ).toBe(true); + expect( + isModelNotavailableInServer( + customModels, + "mistral-large", + "mistral-large", + ), + ).toBe(false); + }); });