fix: allow isVisionModel utility function read env var

This commit is contained in:
JiangYinjin 2024-12-25 22:42:16 +08:00
parent 0c3d4462ca
commit ea1751fd4c
2 changed files with 12 additions and 6 deletions

View File

@ -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 (

View File

@ -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);
});