promptfoo 0.51.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +15 -12
  2. package/dist/package.json +2 -1
  3. package/dist/src/assertions.d.ts.map +1 -1
  4. package/dist/src/assertions.js +28 -16
  5. package/dist/src/assertions.js.map +1 -1
  6. package/dist/src/commands/delete.d.ts +3 -0
  7. package/dist/src/commands/delete.d.ts.map +1 -0
  8. package/dist/src/commands/delete.js +53 -0
  9. package/dist/src/commands/delete.js.map +1 -0
  10. package/dist/src/commands/list.d.ts.map +1 -1
  11. package/dist/src/commands/list.js +10 -3
  12. package/dist/src/commands/list.js.map +1 -1
  13. package/dist/src/commands/show.d.ts.map +1 -1
  14. package/dist/src/commands/show.js +10 -3
  15. package/dist/src/commands/show.js.map +1 -1
  16. package/dist/src/csv.d.ts.map +1 -1
  17. package/dist/src/csv.js +7 -1
  18. package/dist/src/csv.js.map +1 -1
  19. package/dist/src/database.d.ts.map +1 -1
  20. package/dist/src/database.js +4 -0
  21. package/dist/src/database.js.map +1 -1
  22. package/dist/src/esm.js +2 -1
  23. package/dist/src/esm.js.map +1 -1
  24. package/dist/src/evaluator.d.ts.map +1 -1
  25. package/dist/src/evaluator.js +137 -56
  26. package/dist/src/evaluator.js.map +1 -1
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/index.js +8 -6
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/main.d.ts +1 -1
  31. package/dist/src/main.d.ts.map +1 -1
  32. package/dist/src/main.js +16 -2
  33. package/dist/src/main.js.map +1 -1
  34. package/dist/src/matchers.d.ts.map +1 -1
  35. package/dist/src/matchers.js +11 -11
  36. package/dist/src/matchers.js.map +1 -1
  37. package/dist/src/providers/anthropic.d.ts +3 -0
  38. package/dist/src/providers/anthropic.d.ts.map +1 -1
  39. package/dist/src/providers/anthropic.js +4 -1
  40. package/dist/src/providers/anthropic.js.map +1 -1
  41. package/dist/src/providers/azureopenai.d.ts.map +1 -1
  42. package/dist/src/providers/azureopenai.js +3 -2
  43. package/dist/src/providers/azureopenai.js.map +1 -1
  44. package/dist/src/providers/defaults.d.ts +13 -0
  45. package/dist/src/providers/defaults.d.ts.map +1 -0
  46. package/dist/src/providers/defaults.js +26 -0
  47. package/dist/src/providers/defaults.js.map +1 -0
  48. package/dist/src/providers/vertex.d.ts.map +1 -1
  49. package/dist/src/providers/vertex.js +15 -2
  50. package/dist/src/providers/vertex.js.map +1 -1
  51. package/dist/src/python/wrapper.d.ts.map +1 -1
  52. package/dist/src/python/wrapper.js +8 -1
  53. package/dist/src/python/wrapper.js.map +1 -1
  54. package/dist/src/python/wrapper.py +4 -2
  55. package/dist/src/telemetry.js +1 -1
  56. package/dist/src/telemetry.js.map +1 -1
  57. package/dist/src/types.d.ts +31 -2
  58. package/dist/src/types.d.ts.map +1 -1
  59. package/dist/src/updates.d.ts +1 -1
  60. package/dist/src/updates.d.ts.map +1 -1
  61. package/dist/src/updates.js +6 -6
  62. package/dist/src/updates.js.map +1 -1
  63. package/dist/src/util.d.ts +3 -1
  64. package/dist/src/util.d.ts.map +1 -1
  65. package/dist/src/util.js +30 -3
  66. package/dist/src/util.js.map +1 -1
  67. package/dist/src/web/nextui/404/index.html +1 -1
  68. package/dist/src/web/nextui/404.html +1 -1
  69. package/dist/src/web/nextui/_next/static/chunks/670-cbba26ea73165041.js +1 -0
  70. package/dist/src/web/nextui/_next/static/chunks/{782-e07d19365960282c.js → 772-d8e765a0f4a182cd.js} +4 -4
  71. package/dist/src/web/nextui/_next/static/chunks/864-406abb9f68cff6a3.js +1 -0
  72. package/dist/src/web/nextui/_next/static/chunks/{609-483decb66cf4cfa8.js → 921-ea4bddb5c25058ea.js} +1 -1
  73. package/dist/src/web/nextui/_next/static/chunks/{580-cccb247de1b7350b.js → 946-740c3c4d7e8acaf7.js} +2 -2
  74. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-f93e740e9cc7a725.js +1 -0
  75. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-6f275364ed1179d3.js → page-fd17c94175203b8b.js} +1 -1
  76. package/dist/src/web/nextui/_next/static/chunks/app/eval/{page-7a1f6ddb7c8a0989.js → page-f7288a403368b113.js} +1 -1
  77. package/dist/src/web/nextui/_next/static/chunks/app/{layout-6bdc710ec6575432.js → layout-0afd14c99b2fc9eb.js} +1 -1
  78. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-1129b810645defc6.js +1 -0
  79. package/dist/src/web/nextui/_next/static/chunks/app/setup/{page-b0609d23570b9503.js → page-45bba09ce127aef4.js} +1 -1
  80. package/dist/src/web/nextui/auth/login/index.html +1 -1
  81. package/dist/src/web/nextui/auth/login/index.txt +2 -2
  82. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  83. package/dist/src/web/nextui/auth/signup/index.txt +2 -2
  84. package/dist/src/web/nextui/datasets/index.html +1 -1
  85. package/dist/src/web/nextui/datasets/index.txt +3 -3
  86. package/dist/src/web/nextui/eval/index.html +1 -1
  87. package/dist/src/web/nextui/eval/index.txt +3 -3
  88. package/dist/src/web/nextui/index.html +1 -1
  89. package/dist/src/web/nextui/index.txt +2 -2
  90. package/dist/src/web/nextui/progress/index.html +1 -1
  91. package/dist/src/web/nextui/progress/index.txt +3 -3
  92. package/dist/src/web/nextui/prompts/index.html +1 -1
  93. package/dist/src/web/nextui/prompts/index.txt +2 -2
  94. package/dist/src/web/nextui/setup/index.html +1 -1
  95. package/dist/src/web/nextui/setup/index.txt +3 -3
  96. package/dist/src/web/server.d.ts.map +1 -1
  97. package/dist/src/web/server.js +10 -0
  98. package/dist/src/web/server.js.map +1 -1
  99. package/package.json +2 -1
  100. package/dist/src/web/nextui/_next/static/chunks/670-57b040ef305d13be.js +0 -1
  101. package/dist/src/web/nextui/_next/static/chunks/840-854b7ee26e0beb0b.js +0 -1
  102. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-b348c3d000a051ae.js +0 -1
  103. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-3920254227ac3a80.js +0 -1
  104. /package/dist/src/web/nextui/_next/static/{Zu8DYbL4MKrTEyvAwxFTR → GHBGwvfOmzPvY63S0GsPx}/_buildManifest.js +0 -0
  105. /package/dist/src/web/nextui/_next/static/{Zu8DYbL4MKrTEyvAwxFTR → GHBGwvfOmzPvY63S0GsPx}/_ssgManifest.js +0 -0
@@ -50,6 +50,8 @@ exports.evalsToPrompts = (0, sqlite_core_1.sqliteTable)('evals_to_prompts', {
50
50
  evalId: (0, sqlite_core_1.text)('eval_id')
51
51
  .notNull()
52
52
  .references(() => exports.evals.id),
53
+ // Drizzle doesn't support this migration for sqlite, so we remove foreign keys manually.
54
+ //.references(() => evals.id, { onDelete: 'cascade' }),
53
55
  promptId: (0, sqlite_core_1.text)('prompt_id')
54
56
  .notNull()
55
57
  .references(() => exports.prompts.id),
@@ -70,6 +72,8 @@ exports.evalsToDatasets = (0, sqlite_core_1.sqliteTable)('evals_to_datasets', {
70
72
  evalId: (0, sqlite_core_1.text)('eval_id')
71
73
  .notNull()
72
74
  .references(() => exports.evals.id),
75
+ // Drizzle doesn't support this migration for sqlite, so we remove foreign keys manually.
76
+ //.references(() => evals.id, { onDelete: 'cascade' }),
73
77
  datasetId: (0, sqlite_core_1.text)('dataset_id')
74
78
  .notNull()
75
79
  .references(() => exports.datasets.id),
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database.ts"],"names":[],"mappings":"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"}
package/dist/src/esm.js CHANGED
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.importModule = exports.getDirectory = void 0;
27
27
  const path = __importStar(require("path"));
28
+ const node_url_1 = require("node:url");
28
29
  // esm-specific crap that needs to get mocked out in tests
29
30
  //import path from 'path';
30
31
  //import { fileURLToPath } from 'url';
@@ -39,7 +40,7 @@ function getDirectory() {
39
40
  exports.getDirectory = getDirectory;
40
41
  async function importModule(modulePath, functionName) {
41
42
  // This is some hacky shit. It prevents typescript from transpiling `import` to `require`, which breaks mjs imports.
42
- const resolvedPath = path.resolve(modulePath);
43
+ const resolvedPath = (0, node_url_1.pathToFileURL)(path.resolve(modulePath));
43
44
  const importedModule = await eval(`import('${resolvedPath}')`);
44
45
  const mod = importedModule?.default?.default || importedModule?.default || importedModule;
45
46
  if (functionName) {
@@ -1 +1 @@
1
- {"version":3,"file":"esm.js","sourceRoot":"","sources":["../../src/esm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,0DAA0D;AAE1D,0BAA0B;AAC1B,sCAAsC;AAEtC,SAAgB,YAAY;IAC1B;;;;KAIC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,oCAOC;AAEM,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,YAAqB;IAC1E,oHAAoH;IACpH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,YAAY,IAAI,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,cAAc,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,IAAI,cAAc,CAAC;IAC1F,IAAI,YAAY,EAAE;QAChB,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;KAC1B;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AATD,oCASC"}
1
+ {"version":3,"file":"esm.js","sourceRoot":"","sources":["../../src/esm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,uCAAyC;AACzC,0DAA0D;AAE1D,0BAA0B;AAC1B,sCAAsC;AAEtC,SAAgB,YAAY;IAC1B;;;;KAIC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,oCAOC;AAEM,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,YAAqB;IAC1E,oHAAoH;IACpH,MAAM,YAAY,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,YAAY,IAAI,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,cAAc,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,IAAI,cAAc,CAAC;IAC1F,IAAI,YAAY,EAAE;QAChB,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;KAC1B;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AATD,oCASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,WAAW,EAGX,eAAe,EAGf,eAAe,EAEf,iBAAiB,EACjB,MAAM,EACN,SAAS,EACV,MAAM,SAAS,CAAC;AAgBjB,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAkClC;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CA4BjC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,eAAe,CAAC,EAAE,iBAAiB,EACnC,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAoGjB;AA+oBD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,4BAGtE"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,WAAW,EAGX,eAAe,EAGf,eAAe,EAEf,iBAAiB,EACjB,MAAM,EAEN,SAAS,EAEV,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAkClC;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CA4BjC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,eAAe,CAAC,EAAE,iBAAiB,EACnC,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAoGjB;AAyuBD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,4BAGtE"}
@@ -245,11 +245,22 @@ class Evaluator {
245
245
  let latencyMs = 0;
246
246
  try {
247
247
  const startTime = Date.now();
248
- const response = await provider.callApi(renderedPrompt, {
249
- vars,
250
- }, {
251
- includeLogProbs: test.assert?.some((a) => a.type === 'perplexity'),
252
- });
248
+ let response = {
249
+ output: '',
250
+ tokenUsage: {},
251
+ cost: 0,
252
+ cached: false,
253
+ };
254
+ if (!test.providerOutput) {
255
+ response = await provider.callApi(renderedPrompt, {
256
+ vars,
257
+ }, {
258
+ includeLogProbs: test.assert?.some((a) => a.type === 'perplexity'),
259
+ });
260
+ }
261
+ else {
262
+ response.output = test.providerOutput;
263
+ }
253
264
  const endTime = Date.now();
254
265
  latencyMs = endTime - startTime;
255
266
  let conversationLastInput = undefined;
@@ -482,7 +493,7 @@ class Evaluator {
482
493
  }
483
494
  }
484
495
  // Set up eval cases
485
- const runEvalOptions = [];
496
+ let runEvalOptions = [];
486
497
  let rowIndex = 0;
487
498
  for (let index = 0; index < tests.length; index++) {
488
499
  const testCase = tests[index];
@@ -549,62 +560,20 @@ class Evaluator {
549
560
  logger_1.default.info(`Setting concurrency to 1 because the ${chalk_1.default.cyan('_conversation')} variable is used.`);
550
561
  concurrency = 1;
551
562
  }
552
- // Start the progress bars...
553
- let multibar;
554
- let progressbars = [];
555
- if (options.showProgressBar) {
556
- const cliProgress = await Promise.resolve().then(() => __importStar(require('cli-progress')));
557
- multibar = new cliProgress.MultiBar({
558
- format: '[{bar}] {percentage}% | ETA: {eta}s | {value}/{total} | {provider} "{prompt}" {vars}',
559
- hideCursor: true,
560
- }, cliProgress.Presets.shades_classic);
561
- const stepsPerThread = Math.floor(runEvalOptions.length / concurrency);
562
- const remainingSteps = runEvalOptions.length % concurrency;
563
- for (let i = 0; i < concurrency; i++) {
564
- const totalSteps = i < remainingSteps ? stepsPerThread + 1 : stepsPerThread;
565
- if (totalSteps > 0) {
566
- const progressbar = multibar.create(totalSteps, 0, {
567
- provider: '',
568
- prompt: '',
569
- vars: '',
570
- });
571
- progressbars.push(progressbar);
572
- }
573
- }
574
- }
575
- if (options.progressCallback) {
576
- options.progressCallback(0, runEvalOptions.length);
577
- }
578
563
  // Actually run the eval
579
564
  const results = [];
580
565
  let numComplete = 0;
581
- await async_1.default.forEachOfLimit(runEvalOptions, concurrency, async (evalStep, index) => {
566
+ const processEvalStep = async (evalStep, index) => {
567
+ if (typeof index !== 'number') {
568
+ throw new Error('Expected index to be a number');
569
+ }
582
570
  const row = await this.runEval(evalStep);
583
571
  results.push(row);
584
572
  numComplete++;
585
- if (multibar) {
586
- const threadIndex = index % concurrency;
587
- const progressbar = progressbars[threadIndex];
588
- progressbar.increment({
589
- provider: evalStep.provider.label || evalStep.provider.id(),
590
- prompt: evalStep.prompt.raw.slice(0, 10).replace(/\n/g, ' '),
591
- vars: Object.entries(evalStep.test.vars || {})
592
- .map(([k, v]) => `${k}=${v}`)
593
- .join(' ')
594
- .slice(0, 10)
595
- .replace(/\n/g, ' '),
596
- });
597
- }
598
- else {
599
- logger_1.default.debug(`Eval #${index + 1} complete (${numComplete} of ${runEvalOptions.length})`);
600
- }
601
573
  if (options.progressCallback) {
602
- options.progressCallback(results.length, runEvalOptions.length);
574
+ options.progressCallback(results.length, runEvalOptions.length, index, evalStep);
603
575
  }
604
576
  // Bookkeeping for table
605
- if (typeof index !== 'number') {
606
- throw new Error('Expected index to be a number');
607
- }
608
577
  let resultText;
609
578
  const outputTextDisplay = typeof row.response?.output === 'object'
610
579
  ? JSON.stringify(row.response.output)
@@ -658,6 +627,26 @@ class Evaluator {
658
627
  for (const [key, value] of Object.entries(row.namedScores)) {
659
628
  metrics.namedScores[key] = (metrics.namedScores[key] || 0) + value;
660
629
  }
630
+ if (testSuite.derivedMetrics) {
631
+ const math = await Promise.resolve().then(() => __importStar(require('mathjs')));
632
+ for (const metric of testSuite.derivedMetrics) {
633
+ if (metrics.namedScores[metric.name] === undefined) {
634
+ metrics.namedScores[metric.name] = 0;
635
+ }
636
+ try {
637
+ if (typeof metric.value === 'function') {
638
+ metrics.namedScores[metric.name] = metric.value(metrics.namedScores, evalStep);
639
+ }
640
+ else {
641
+ const evaluatedValue = math.evaluate(metric.value, metrics.namedScores);
642
+ metrics.namedScores[metric.name] = evaluatedValue;
643
+ }
644
+ }
645
+ catch (error) {
646
+ logger_1.default.debug(`Could not evaluate derived metric '${metric.name}': ${error.message}`);
647
+ }
648
+ }
649
+ }
661
650
  metrics.testPassCount += row.success ? 1 : 0;
662
651
  metrics.testFailCount += row.success ? 0 : 1;
663
652
  metrics.assertPassCount +=
@@ -671,7 +660,99 @@ class Evaluator {
671
660
  metrics.tokenUsage.prompt += row.response?.tokenUsage?.prompt || 0;
672
661
  metrics.tokenUsage.total += row.response?.tokenUsage?.total || 0;
673
662
  metrics.cost += row.cost || 0;
674
- });
663
+ };
664
+ // Set up main progress bars
665
+ let multibar;
666
+ let multiProgressBars = [];
667
+ this.options.progressCallback = (completed, total, index, evalStep) => {
668
+ if (multibar && evalStep) {
669
+ const threadIndex = index % concurrency;
670
+ const progressbar = multiProgressBars[threadIndex];
671
+ progressbar.increment({
672
+ provider: evalStep.provider.label || evalStep.provider.id(),
673
+ prompt: evalStep.prompt.raw.slice(0, 10).replace(/\n/g, ' '),
674
+ vars: Object.entries(evalStep.test.vars || {})
675
+ .map(([k, v]) => `${k}=${v}`)
676
+ .join(' ')
677
+ .slice(0, 10)
678
+ .replace(/\n/g, ' '),
679
+ });
680
+ }
681
+ else {
682
+ logger_1.default.debug(`Eval #${index + 1} complete (${numComplete} of ${runEvalOptions.length})`);
683
+ }
684
+ };
685
+ const createMultiBars = async (evalOptions) => {
686
+ const cliProgress = await Promise.resolve().then(() => __importStar(require('cli-progress')));
687
+ multibar = new cliProgress.MultiBar({
688
+ format: '[{bar}] {percentage}% | ETA: {eta}s | {value}/{total} | {provider} "{prompt}" {vars}',
689
+ hideCursor: true,
690
+ }, cliProgress.Presets.shades_classic);
691
+ const stepsPerThread = Math.floor(evalOptions.length / concurrency);
692
+ const remainingSteps = evalOptions.length % concurrency;
693
+ multiProgressBars = [];
694
+ for (let i = 0; i < concurrency; i++) {
695
+ const totalSteps = i < remainingSteps ? stepsPerThread + 1 : stepsPerThread;
696
+ if (totalSteps > 0) {
697
+ const progressbar = multibar.create(totalSteps, 0, {
698
+ provider: '',
699
+ prompt: '',
700
+ vars: '',
701
+ });
702
+ multiProgressBars.push(progressbar);
703
+ }
704
+ }
705
+ };
706
+ // Run the evals
707
+ if (this.options.interactiveProviders) {
708
+ runEvalOptions = runEvalOptions.sort((a, b) => a.provider.id().localeCompare(b.provider.id()));
709
+ logger_1.default.warn('Providers are running in serial with user input.');
710
+ // Group evalOptions by provider
711
+ const groupedEvalOptions = runEvalOptions.reduce((acc, evalOption) => {
712
+ const providerId = evalOption.provider.id();
713
+ if (!acc[providerId]) {
714
+ acc[providerId] = [];
715
+ }
716
+ acc[providerId].push(evalOption);
717
+ return acc;
718
+ }, {});
719
+ // Process each group
720
+ for (const [providerId, providerEvalOptions] of Object.entries(groupedEvalOptions)) {
721
+ logger_1.default.info(`Running ${providerEvalOptions.length} evaluations for provider ${providerId} with concurrency=${concurrency}...`);
722
+ if (this.options.showProgressBar) {
723
+ await createMultiBars(providerEvalOptions);
724
+ }
725
+ await async_1.default.forEachOfLimit(providerEvalOptions, concurrency, processEvalStep);
726
+ if (multibar) {
727
+ multibar.stop();
728
+ }
729
+ // Prompt to continue to the next provider unless it's the last one
730
+ if (Object.keys(groupedEvalOptions).indexOf(providerId) <
731
+ Object.keys(groupedEvalOptions).length - 1) {
732
+ await new Promise((resolve) => {
733
+ const rl = readline_1.default.createInterface({
734
+ input: process.stdin,
735
+ output: process.stdout,
736
+ });
737
+ rl.question(`\nReady to continue to the next provider? (Y/n) `, (answer) => {
738
+ rl.close();
739
+ if (answer.toLowerCase() === 'n') {
740
+ logger_1.default.info('Aborting evaluation.');
741
+ process.exit(1);
742
+ }
743
+ resolve(true);
744
+ });
745
+ });
746
+ }
747
+ }
748
+ }
749
+ else {
750
+ if (this.options.showProgressBar) {
751
+ await createMultiBars(runEvalOptions);
752
+ }
753
+ await async_1.default.forEachOfLimit(runEvalOptions, concurrency, processEvalStep);
754
+ }
755
+ // Do we have to run comparisons between row outputs?
675
756
  const compareRowsCount = table.body.reduce((count, row) => count + (row.test.assert?.some((a) => a.type === 'select-best') ? 1 : 0), 0);
676
757
  let progressBar;
677
758
  if (compareRowsCount > 0 && multibar) {
@@ -729,8 +810,8 @@ class Evaluator {
729
810
  if (multibar) {
730
811
  multibar.stop();
731
812
  }
732
- if (options.progressCallback) {
733
- options.progressCallback(runEvalOptions.length, runEvalOptions.length);
813
+ if (progressBar) {
814
+ progressBar.stop();
734
815
  }
735
816
  telemetry_1.default.record('eval_ran', {
736
817
  numPrompts: prompts.length,
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAazD,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AAEjB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,iBAAe,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,8CAiFlF;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,wBAIE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAazD,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AAGjB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,iBAAe,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,8CAsFlF;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3C,wBAIE"}
package/dist/src/index.js CHANGED
@@ -41,6 +41,7 @@ const evaluator_1 = require("./evaluator");
41
41
  const providers_2 = require("./providers");
42
42
  const testCases_1 = require("./testCases");
43
43
  const util_1 = require("./util");
44
+ const prompts_1 = require("./prompts");
44
45
  __exportStar(require("./types"), exports);
45
46
  var table_1 = require("./table");
46
47
  Object.defineProperty(exports, "generateTable", { enumerable: true, get: function () { return table_1.generateTable; } });
@@ -53,7 +54,7 @@ async function evaluate(testSuite, options = {}) {
53
54
  tests: await (0, testCases_1.readTests)(testSuite.tests),
54
55
  nunjucksFilters: await (0, util_1.readFilters)(testSuite.nunjucksFilters || {}),
55
56
  // Full prompts expected (not filepaths)
56
- prompts: testSuite.prompts.map((promptInput) => {
57
+ prompts: (await Promise.all(testSuite.prompts.map(async (promptInput) => {
57
58
  if (typeof promptInput === 'function') {
58
59
  return {
59
60
  raw: promptInput.toString(),
@@ -62,10 +63,11 @@ async function evaluate(testSuite, options = {}) {
62
63
  };
63
64
  }
64
65
  else if (typeof promptInput === 'string') {
65
- return {
66
- raw: promptInput,
67
- display: promptInput,
68
- };
66
+ const prompts = await (0, prompts_1.readPrompts)(promptInput);
67
+ return prompts.map((p) => ({
68
+ raw: p.raw,
69
+ display: p.display,
70
+ }));
69
71
  }
70
72
  else {
71
73
  return {
@@ -73,7 +75,7 @@ async function evaluate(testSuite, options = {}) {
73
75
  display: JSON.stringify(promptInput),
74
76
  };
75
77
  }
76
- }),
78
+ }))).flat(),
77
79
  };
78
80
  // Resolve nested providers
79
81
  for (const test of constructedTestSuite.tests || []) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAuC;AAEvC,8DAAsC;AA6GnB,qBA7GZ,oBAAU,CA6GY;AA5G7B,yDAAyD;AA4G1B,oBA5GxB,mBAAS,CA4GwB;AA3GxC,4DAAoC;AACpC,mCAAuC;AACvC,2CAAqD;AACrD,2CAA+C;AAC/C,2CAAwC;AACxC,iCAMgB;AAShB,0CAAwB;AAExB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAEtB,KAAK,UAAU,QAAQ,CAAC,SAA4B,EAAE,UAA2B,EAAE;IACjF,MAAM,oBAAoB,GAAc;QACtC,GAAG,SAAS;QACZ,SAAS,EAAE,MAAM,IAAA,4BAAgB,EAAC,SAAS,CAAC,SAAS,EAAE;YACrD,GAAG,EAAE,SAAS,CAAC,GAAG;SACnB,CAAC;QACF,KAAK,EAAE,MAAM,IAAA,qBAAS,EAAC,SAAS,CAAC,KAAK,CAAC;QAEvC,eAAe,EAAE,MAAM,IAAA,kBAAW,EAAC,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC;QAEnE,wCAAwC;QACxC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YAC7C,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,OAAO;oBACL,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE;oBAC3B,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;oBAC/B,QAAQ,EAAE,WAA6B;iBACxC,CAAC;aACH;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBAC1C,OAAO;oBACL,GAAG,EAAE,WAAW;oBAChB,OAAO,EAAE,WAAW;iBACrB,CAAC;aACH;iBAAM;gBACL,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;oBAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;iBACrC,CAAC;aACH;QACH,CAAC,CAAC;KACH,CAAC;IAEF,2BAA2B;IAC3B,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,KAAK,IAAI,EAAE,EAAE;QACnD,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;YACzE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAA,2BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACtE;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;gBACnC,IAAI,SAAS,CAAC,QAAQ,EAAE;oBACtB,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,QAA2B,CAAC;wBACrD,IAAA,wBAAS,EAAC,MAAM,CAAC,EAAE,EAAE,iCAAiC,CAAC,CAAC;wBACxD,SAAS,CAAC,QAAQ,GAAG,MAAM,IAAA,2BAAe,EAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;qBAC5E;yBAAM,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBACjD,SAAS,CAAC,QAAQ,GAAG,MAAM,IAAA,2BAAe,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;qBAChE;yBAAM;wBACL,0CAA0C;qBAC3C;iBACF;aACF;SACF;KACF;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;QACrE,IAAA,oBAAY,GAAE,CAAC;KAChB;IACD,mBAAS,CAAC,eAAe,EAAE,CAAC;IAE5B,gBAAgB;IAChB,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAU,EAAC,oBAAoB,EAAE;QACjD,WAAW,EAAE,SAAS;QACtB,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,UAAU,EAAE;QACxB,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC5C,IAAA,kBAAW,EAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SACzD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAC9C,IAAA,2BAAoB,EAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAClE;KACF;IAED,IAAI,SAAS,CAAC,kBAAkB,EAAE;QAChC,MAAM,IAAA,6CAAsC,GAAE,CAAC;QAC/C,MAAM,IAAA,6BAAsB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,MAAM,mBAAS,CAAC,IAAI,EAAE,CAAC;IACvB,OAAO,GAAG,CAAC;AACb,CAAC;AAEQ,4BAAQ;AAEjB,kBAAe;IACb,QAAQ;IACR,UAAU,EAAV,oBAAU;IACV,SAAS,EAAT,mBAAS;CACV,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import 'dotenv/config';
2
+ export {};
3
3
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAKA,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":""}
package/dist/src/main.js CHANGED
@@ -30,7 +30,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  const fs_1 = __importDefault(require("fs"));
31
31
  const path_1 = __importDefault(require("path"));
32
32
  const readline_1 = __importDefault(require("readline"));
33
- require("dotenv/config");
34
33
  const chalk_1 = __importDefault(require("chalk"));
35
34
  const chokidar_1 = __importDefault(require("chokidar"));
36
35
  const js_yaml_1 = __importDefault(require("js-yaml"));
@@ -52,6 +51,7 @@ const updates_1 = require("./updates");
52
51
  const feedback_1 = require("./feedback");
53
52
  const list_1 = require("./commands/list");
54
53
  const show_1 = require("./commands/show");
54
+ const delete_1 = require("./commands/delete");
55
55
  const table_1 = require("./table");
56
56
  const share_1 = require("./share");
57
57
  function createDummyFiles(directory) {
@@ -206,6 +206,7 @@ async function main() {
206
206
  evaluateOptions.generateSuggestions = defaultConfig.evaluateOptions.generateSuggestions;
207
207
  evaluateOptions.maxConcurrency = defaultConfig.evaluateOptions.maxConcurrency;
208
208
  evaluateOptions.showProgressBar = defaultConfig.evaluateOptions.showProgressBar;
209
+ evaluateOptions.interactiveProviders = defaultConfig.evaluateOptions.interactiveProviders;
209
210
  }
210
211
  const program = new commander_1.Command();
211
212
  program.option('--version', 'Print version', () => {
@@ -229,7 +230,9 @@ async function main() {
229
230
  .option('-p, --port <number>', 'Port number', '15500')
230
231
  .option('-y, --yes', 'Skip confirmation and auto-open the URL')
231
232
  .option('--api-base-url <url>', 'Base URL for viewer API calls')
233
+ .option('--env-file <path>', 'Path to .env file')
232
234
  .action(async (directory, cmdObj) => {
235
+ (0, util_1.setupEnv)(cmdObj.envFile);
233
236
  telemetry_1.default.maybeShowNotice();
234
237
  telemetry_1.default.record('command_used', {
235
238
  name: 'view',
@@ -245,7 +248,9 @@ async function main() {
245
248
  .command('share')
246
249
  .description('Create a shareable URL of your most recent eval')
247
250
  .option('-y, --yes', 'Skip confirmation')
251
+ .option('--env-file <path>', 'Path to .env file')
248
252
  .action(async (cmdObj) => {
253
+ (0, util_1.setupEnv)(cmdObj.envFile);
249
254
  telemetry_1.default.maybeShowNotice();
250
255
  telemetry_1.default.record('command_used', {
251
256
  name: 'share',
@@ -283,7 +288,9 @@ async function main() {
283
288
  .description('Manage cache')
284
289
  .command('clear')
285
290
  .description('Clear cache')
286
- .action(async () => {
291
+ .option('--env-file <path>', 'Path to .env file')
292
+ .action(async (cmdObj) => {
293
+ (0, util_1.setupEnv)(cmdObj.envFile);
287
294
  telemetry_1.default.maybeShowNotice();
288
295
  logger_1.default.info('Clearing cache...');
289
296
  await (0, cache_1.clearCache)();
@@ -309,7 +316,9 @@ async function main() {
309
316
  .option('--numPersonas <number>', 'Number of personas to generate', '5')
310
317
  .option('--numTestCasesPerPersona <number>', 'Number of test cases per persona', '3')
311
318
  .option('--no-cache', 'Do not read or write results to disk cache', false)
319
+ .option('--env-file <path>', 'Path to .env file')
312
320
  .action(async (_, options) => {
321
+ (0, util_1.setupEnv)(options.envFile);
313
322
  if (!options.cache) {
314
323
  logger_1.default.info('Cache is disabled.');
315
324
  (0, cache_1.disableCache)();
@@ -395,7 +404,10 @@ async function main() {
395
404
  .option('--grader <provider>', 'Model that will grade outputs', defaultConfig?.commandLineOptions?.grader)
396
405
  .option('--verbose', 'Show debug logs', defaultConfig?.commandLineOptions?.verbose)
397
406
  .option('-w, --watch', 'Watch for changes in config and re-run')
407
+ .option('--env-file <path>', 'Path to .env file')
408
+ .option('--interactive-providers', 'Run providers interactively, one at a time', defaultConfig?.evaluateOptions?.interactiveProviders)
398
409
  .action(async (cmdObj) => {
410
+ (0, util_1.setupEnv)(cmdObj.envFile);
399
411
  let config = undefined;
400
412
  let testSuite = undefined;
401
413
  let basePath = undefined;
@@ -423,6 +435,7 @@ async function main() {
423
435
  maxConcurrency: !isNaN(maxConcurrency) && maxConcurrency > 0 ? maxConcurrency : undefined,
424
436
  repeat,
425
437
  delay: !isNaN(delay) && delay > 0 ? delay : undefined,
438
+ interactiveProviders: cmdObj.interactiveProviders,
426
439
  ...evaluateOptions,
427
440
  };
428
441
  if (cmdObj.grader && testSuite.defaultTest) {
@@ -548,6 +561,7 @@ async function main() {
548
561
  });
549
562
  (0, list_1.listCommand)(program);
550
563
  (0, show_1.showCommand)(program);
564
+ (0, delete_1.deleteCommand)(program);
551
565
  program.parse(process.argv);
552
566
  if (!process.argv.slice(2).length) {
553
567
  program.outputHelp();