extonlawrence commited on
Commit
f2a2a86
·
1 Parent(s): 029d885

Filter available models with ALLOWED_MODELS

Browse files
src/lib/server/config.ts CHANGED
@@ -151,7 +151,7 @@ export const ready = (async () => {
151
  }
152
  })();
153
 
154
- type ExtraConfigKeys = "HF_TOKEN" | "OLD_MODELS" | "ENABLE_ASSISTANTS";
155
 
156
  type ConfigProxy = ConfigManager & { [K in ConfigKey | ExtraConfigKeys]: string };
157
 
 
151
  }
152
  })();
153
 
154
+ type ExtraConfigKeys = "HF_TOKEN" | "OLD_MODELS" | "ENABLE_ASSISTANTS" | "ALLOWED_MODELS";
155
 
156
  type ConfigProxy = ConfigManager & { [K in ConfigKey | ExtraConfigKeys]: string };
157
 
src/lib/server/models.ts CHANGED
@@ -193,6 +193,25 @@ if (openaiBaseUrl) {
193
  throw new Error("OPENAI_BASE_URL not set");
194
  }
195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  let modelOverrides: ModelOverride[] = [];
197
  const overridesEnv = (Reflect.get(config, "MODELS") as string | undefined) ?? "";
198
 
 
193
  throw new Error("OPENAI_BASE_URL not set");
194
  }
195
 
196
+ // Filter available models
197
+ const allowedModelsEnv = (config.ALLOWED_MODELS || "").trim();
198
+
199
+ if (allowedModelsEnv) {
200
+ const allowedModelIds = allowedModelsEnv
201
+ .split(",")
202
+ .map((id) => id.trim())
203
+ .filter(Boolean);
204
+ const allowedSet = new Set(allowedModelIds);
205
+
206
+ const beforeCount = modelsRaw.length;
207
+ modelsRaw = modelsRaw.filter((model) => allowedSet.has(model.id ?? model.name));
208
+
209
+ logger.info(
210
+ { filtered: beforeCount - modelsRaw.length, allowed: modelsRaw.length },
211
+ "[models] Filtered models"
212
+ );
213
+ }
214
+
215
  let modelOverrides: ModelOverride[] = [];
216
  const overridesEnv = (Reflect.get(config, "MODELS") as string | undefined) ?? "";
217