SPB Git

spb/llmindex Public

The discriminative, contamination-resistant, fully transparent LLM ranking — updated live.

TypeScript 77.9% TeX 15.2% Python 3.7% SQL 1.4% JavaScript 1.1% Shell 0.5%
1.3 KB · 48 lines typescript
Raw Blame History
1/**2 * llmindex.io — CLI: pnpm eval:run --model <slug> --domain <domain> --n 200 [--k 1]3 * Author:  Simon-Pierre Boucher4 * Contact: contact@spboucher.ai5 * License: Proprietary — © Simon-Pierre Boucher, all rights reserved6 */7import { parseArgs } from 'node:util';8import { prisma } from '@llmindex/db';9import { isDomain } from '@llmindex/scoring';10import '../env';11import { runEvalBatch } from '../eval-runner';1213const { values } = parseArgs({14  options: {15    model: { type: 'string' },16    domain: { type: 'string' },17    n: { type: 'string', default: '200' },18    k: { type: 'string', default: '1' },19    seed: { type: 'string' },20  },21});2223async function main(): Promise<void> {24  if (!values.model || !values.domain) {25    console.error('Usage: pnpm eval:run --model <slug> --domain <domain> --n 200 [--k 1] [--seed s]');26    process.exit(2);27  }28  if (!isDomain(values.domain)) {29    console.error(`Unknown domain: ${values.domain}`);30    process.exit(2);31  }32  const result = await runEvalBatch({33    modelSlug: values.model,34    domain: values.domain,35    n: Number(values.n),36    kSamples: Number(values.k),37    seed: values.seed,38  });39  console.log(JSON.stringify(result));40}4142main()43  .catch((err) => {44    console.error(String(err));45    process.exitCode = 1;46  })47  .finally(() => prisma.$disconnect());48