From f00287ede0675521c783c1199675538571f977d6 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Mon, 29 Dec 2025 23:35:28 +0000 Subject: refactor: reduce duplication in compare-models tool --- tools/compare-models/src/config.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'tools/compare-models/src/config.ts') diff --git a/tools/compare-models/src/config.ts b/tools/compare-models/src/config.ts index 9c32610d..0b5d217f 100644 --- a/tools/compare-models/src/config.ts +++ b/tools/compare-models/src/config.ts @@ -1,16 +1,33 @@ import { z } from "zod"; +// Local config schema for compare-models tool const envSchema = z.object({ KARAKEEP_API_KEY: z.string().min(1), KARAKEEP_SERVER_ADDR: z.string().url(), MODEL1_NAME: z.string().min(1), - MODEL2_NAME: z.string().min(1), + MODEL2_NAME: z.string().min(1).optional(), OPENAI_API_KEY: z.string().min(1), OPENAI_BASE_URL: z.string().url().optional(), + COMPARISON_MODE: z + .enum(["model-vs-model", "model-vs-existing"]) + .default("model-vs-model"), COMPARE_LIMIT: z .string() .optional() .transform((val) => (val ? parseInt(val, 10) : 10)), + INFERENCE_CONTEXT_LENGTH: z + .string() + .optional() + .transform((val) => (val ? parseInt(val, 10) : 8000)), + INFERENCE_MAX_OUTPUT_TOKENS: z + .string() + .optional() + .transform((val) => (val ? parseInt(val, 10) : 2048)), + INFERENCE_USE_MAX_COMPLETION_TOKENS: z + .string() + .optional() + .transform((val) => val === "true") + .default("false"), }); export const config = envSchema.parse(process.env); -- cgit v1.2.3-70-g09d2