aboutsummaryrefslogtreecommitdiffstats
path: root/tools/compare-models/src/config.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-12-29 23:35:28 +0000
committerMohamed Bassem <me@mbassem.com>2025-12-29 23:38:21 +0000
commitf00287ede0675521c783c1199675538571f977d6 (patch)
tree2d04b983fa514f4c62a3695c0a521fb50de24eef /tools/compare-models/src/config.ts
parentba8d84a555f9e6cf209c826b97a124f0539739eb (diff)
downloadkarakeep-f00287ede0675521c783c1199675538571f977d6.tar.zst
refactor: reduce duplication in compare-models tool
Diffstat (limited to 'tools/compare-models/src/config.ts')
-rw-r--r--tools/compare-models/src/config.ts19
1 files changed, 18 insertions, 1 deletions
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);