diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-12-29 23:35:28 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-12-29 23:38:21 +0000 |
| commit | f00287ede0675521c783c1199675538571f977d6 (patch) | |
| tree | 2d04b983fa514f4c62a3695c0a521fb50de24eef /tools/compare-models/src/config.ts | |
| parent | ba8d84a555f9e6cf209c826b97a124f0539739eb (diff) | |
| download | karakeep-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.ts | 19 |
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); |
