promptfoo 0.91.3 → 0.92.1
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.
- package/dist/drizzle/0006_harsh_caretaker.sql +42 -0
- package/dist/drizzle/0007_cloudy_wong.sql +1 -0
- package/dist/drizzle/meta/0006_snapshot.json +721 -0
- package/dist/drizzle/meta/0007_snapshot.json +723 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/package.json +10 -8
- package/dist/src/app/assets/{index-C6z1nbLN.js → index-BpjzEMiv.js} +243 -241
- package/dist/src/app/assets/{index.es-oqbvfIxR.js → index.es-ihzvEu35.js} +1 -1
- package/dist/src/app/assets/{sync-D2s75VlC.js → sync-BosjlpGJ.js} +1 -1
- package/dist/src/app/index.html +3 -3
- package/dist/src/assertions.js +2 -2
- package/dist/src/assertions.js.map +1 -1
- package/dist/src/commands/cache.d.ts.map +1 -1
- package/dist/src/commands/cache.js +0 -2
- package/dist/src/commands/cache.js.map +1 -1
- package/dist/src/commands/eval.d.ts.map +1 -1
- package/dist/src/commands/eval.js +19 -16
- package/dist/src/commands/eval.js.map +1 -1
- package/dist/src/commands/export.d.ts.map +1 -1
- package/dist/src/commands/export.js +8 -31
- package/dist/src/commands/export.js.map +1 -1
- package/dist/src/commands/import.d.ts.map +1 -1
- package/dist/src/commands/import.js +52 -13
- package/dist/src/commands/import.js.map +1 -1
- package/dist/src/commands/list.d.ts.map +1 -1
- package/dist/src/commands/list.js +35 -7
- package/dist/src/commands/list.js.map +1 -1
- package/dist/src/commands/share.d.ts +2 -2
- package/dist/src/commands/share.d.ts.map +1 -1
- package/dist/src/commands/share.js +12 -13
- package/dist/src/commands/share.js.map +1 -1
- package/dist/src/commands/show.d.ts.map +1 -1
- package/dist/src/commands/show.js +10 -6
- package/dist/src/commands/show.js.map +1 -1
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +2 -1
- package/dist/src/constants.js.map +1 -1
- package/dist/src/database/index.js +1 -1
- package/dist/src/database/index.js.map +1 -1
- package/dist/src/database/tables.d.ts +609 -11
- package/dist/src/database/tables.d.ts.map +1 -1
- package/dist/src/database/tables.js +111 -52
- package/dist/src/database/tables.js.map +1 -1
- package/dist/src/database/types.d.ts +3 -3
- package/dist/src/database/types.d.ts.map +1 -1
- package/dist/src/evaluator.d.ts +3 -2
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +75 -104
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/evaluatorHelpers.d.ts.map +1 -1
- package/dist/src/evaluatorHelpers.js +2 -1
- package/dist/src/evaluatorHelpers.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/eval.d.ts +95 -0
- package/dist/src/models/eval.d.ts.map +1 -0
- package/dist/src/models/eval.js +390 -0
- package/dist/src/models/eval.js.map +1 -0
- package/dist/src/models/evalResult.d.ts +50 -0
- package/dist/src/models/evalResult.d.ts.map +1 -0
- package/dist/src/models/evalResult.js +122 -0
- package/dist/src/models/evalResult.js.map +1 -0
- package/dist/src/models/provider.d.ts +9 -0
- package/dist/src/models/provider.d.ts.map +1 -0
- package/dist/src/models/provider.js +47 -0
- package/dist/src/models/provider.js.map +1 -0
- package/dist/src/prompts/index.d.ts.map +1 -1
- package/dist/src/prompts/index.js +2 -1
- package/dist/src/prompts/index.js.map +1 -1
- package/dist/src/prompts/utils.d.ts +1 -0
- package/dist/src/prompts/utils.d.ts.map +1 -1
- package/dist/src/prompts/utils.js +7 -0
- package/dist/src/prompts/utils.js.map +1 -1
- package/dist/src/providers/fal.d.ts +2 -2
- package/dist/src/providers/fal.d.ts.map +1 -1
- package/dist/src/providers/fal.js +2 -1
- package/dist/src/providers/fal.js.map +1 -1
- package/dist/src/providers/http.js +2 -2
- package/dist/src/providers/http.js.map +1 -1
- package/dist/src/providers/palm.d.ts +4 -3
- package/dist/src/providers/palm.d.ts.map +1 -1
- package/dist/src/providers/palm.js +13 -3
- package/dist/src/providers/palm.js.map +1 -1
- package/dist/src/providers.js +5 -5
- package/dist/src/providers.js.map +1 -1
- package/dist/src/redteam/eval/excessive-agency/llm_rubric-20240617.json +10 -0
- package/dist/src/redteam/eval/excessive-agency/llm_rubric-20240618.json +10 -0
- package/dist/src/redteam/eval/harmful/llm_rubric-20240723.json +10 -0
- package/dist/src/redteam/eval/harmful/llm_rubric-20240724.json +10 -0
- package/dist/src/server/server.d.ts +1 -0
- package/dist/src/server/server.d.ts.map +1 -1
- package/dist/src/server/server.js +70 -31
- package/dist/src/server/server.js.map +1 -1
- package/dist/src/share.d.ts +2 -2
- package/dist/src/share.d.ts.map +1 -1
- package/dist/src/share.js +93 -34
- package/dist/src/share.js.map +1 -1
- package/dist/src/table.d.ts +2 -2
- package/dist/src/table.d.ts.map +1 -1
- package/dist/src/table.js +3 -3
- package/dist/src/table.js.map +1 -1
- package/dist/src/types/index.d.ts +163 -11
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +21 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/util/config/load.d.ts.map +1 -1
- package/dist/src/util/config/load.js +2 -1
- package/dist/src/util/config/load.js.map +1 -1
- package/dist/src/util/config/manage.d.ts.map +1 -1
- package/dist/src/util/config/manage.js.map +1 -1
- package/dist/src/util/convertEvalResultsToTable.d.ts +16 -0
- package/dist/src/util/convertEvalResultsToTable.d.ts.map +1 -0
- package/dist/src/util/convertEvalResultsToTable.js +136 -0
- package/dist/src/util/convertEvalResultsToTable.js.map +1 -0
- package/dist/src/util/createHash.d.ts +1 -0
- package/dist/src/util/createHash.d.ts.map +1 -1
- package/dist/src/util/createHash.js +9 -0
- package/dist/src/util/createHash.js.map +1 -1
- package/dist/src/util/file.d.ts +8 -0
- package/dist/src/util/file.d.ts.map +1 -0
- package/dist/src/util/file.js +13 -0
- package/dist/src/util/file.js.map +1 -0
- package/dist/src/util/index.d.ts +9 -14
- package/dist/src/util/index.d.ts.map +1 -1
- package/dist/src/util/index.js +132 -268
- package/dist/src/util/index.js.map +1 -1
- package/dist/src/util/time.d.ts +2 -0
- package/dist/src/util/time.d.ts.map +1 -0
- package/dist/src/util/time.js +7 -0
- package/dist/src/util/time.js.map +1 -0
- package/dist/src/util/transform.js +2 -2
- package/dist/src/util/transform.js.map +1 -1
- package/dist/src/validators/providers.d.ts +6 -0
- package/dist/src/validators/providers.d.ts.map +1 -1
- package/dist/src/validators/providers.js +1 -0
- package/dist/src/validators/providers.js.map +1 -1
- package/dist/src/validators/redteam.d.ts +6 -0
- package/dist/src/validators/redteam.d.ts.map +1 -1
- package/dist/test/commands/eval/filterFailingTests.test.js +24 -2
- package/dist/test/commands/eval/filterFailingTests.test.js.map +1 -1
- package/dist/test/evaluator.test.js +152 -74
- package/dist/test/evaluator.test.js.map +1 -1
- package/dist/test/factories/data/eval/database_records.d.ts +142 -0
- package/dist/test/factories/data/eval/database_records.d.ts.map +1 -0
- package/dist/test/factories/data/eval/database_records.js +251 -0
- package/dist/test/factories/data/eval/database_records.js.map +1 -0
- package/dist/test/factories/evalFactory.d.ts +768 -0
- package/dist/test/factories/evalFactory.d.ts.map +1 -0
- package/dist/test/factories/evalFactory.js +121 -0
- package/dist/test/factories/evalFactory.js.map +1 -0
- package/dist/test/index.test.js +20 -35
- package/dist/test/index.test.js.map +1 -1
- package/dist/test/models/eval.test.d.ts +2 -0
- package/dist/test/models/eval.test.d.ts.map +1 -0
- package/dist/test/models/eval.test.js +34 -0
- package/dist/test/models/eval.test.js.map +1 -0
- package/dist/test/providers.test.js +3 -3
- package/dist/test/providers.test.js.map +1 -1
- package/dist/test/server/share.test.d.ts +2 -0
- package/dist/test/server/share.test.d.ts.map +1 -0
- package/dist/test/server/share.test.js +36 -0
- package/dist/test/server/share.test.js.map +1 -0
- package/dist/test/server/v3evalToShare.json +507 -0
- package/dist/test/server/v4evalToShare.json +421 -0
- package/dist/test/types.test.js +56 -3
- package/dist/test/types.test.js.map +1 -1
- package/dist/test/util.file.test.d.ts +2 -0
- package/dist/test/util.file.test.d.ts.map +1 -0
- package/dist/test/util.file.test.js +32 -0
- package/dist/test/util.file.test.js.map +1 -0
- package/dist/test/util.listPrevious.test.d.ts +2 -0
- package/dist/test/util.listPrevious.test.d.ts.map +1 -0
- package/dist/test/util.listPrevious.test.js +37 -0
- package/dist/test/util.listPrevious.test.js.map +1 -0
- package/dist/test/util.test.js +38 -311
- package/dist/test/util.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -8
package/dist/src/evaluator.js
CHANGED
|
@@ -43,6 +43,7 @@ const envars_1 = require("./envars");
|
|
|
43
43
|
const evaluatorHelpers_1 = require("./evaluatorHelpers");
|
|
44
44
|
const logger_1 = __importDefault(require("./logger"));
|
|
45
45
|
const prompt_1 = require("./models/prompt");
|
|
46
|
+
const provider_1 = __importDefault(require("./models/provider"));
|
|
46
47
|
const azureopenaiUtil_1 = require("./providers/azureopenaiUtil");
|
|
47
48
|
const suggestions_1 = require("./suggestions");
|
|
48
49
|
const telemetry_1 = __importDefault(require("./telemetry"));
|
|
@@ -103,8 +104,9 @@ function generateVarCombinations(vars) {
|
|
|
103
104
|
return combinations;
|
|
104
105
|
}
|
|
105
106
|
class Evaluator {
|
|
106
|
-
constructor(testSuite, options) {
|
|
107
|
+
constructor(testSuite, evalRecord, options) {
|
|
107
108
|
this.testSuite = testSuite;
|
|
109
|
+
this.evalRecord = evalRecord;
|
|
108
110
|
this.options = options;
|
|
109
111
|
this.stats = {
|
|
110
112
|
successes: 0,
|
|
@@ -120,7 +122,7 @@ class Evaluator {
|
|
|
120
122
|
this.registers = {};
|
|
121
123
|
}
|
|
122
124
|
async runEval({ provider, prompt, // raw prompt
|
|
123
|
-
test, delay, nunjucksFilters: filters, evaluateOptions, }) {
|
|
125
|
+
test, delay, nunjucksFilters: filters, evaluateOptions, testIdx, promptIdx, }) {
|
|
124
126
|
// Use the original prompt to set the label, not renderedPrompt
|
|
125
127
|
const promptLabel = prompt.label;
|
|
126
128
|
// Set up the special _conversation variable
|
|
@@ -145,6 +147,7 @@ class Evaluator {
|
|
|
145
147
|
provider: {
|
|
146
148
|
id: provider.id(),
|
|
147
149
|
label: provider.label,
|
|
150
|
+
config: provider.config,
|
|
148
151
|
},
|
|
149
152
|
prompt: {
|
|
150
153
|
raw: renderedPrompt,
|
|
@@ -215,6 +218,10 @@ class Evaluator {
|
|
|
215
218
|
latencyMs,
|
|
216
219
|
cost: response.cost,
|
|
217
220
|
metadata: response.metadata,
|
|
221
|
+
promptIdx,
|
|
222
|
+
testIdx,
|
|
223
|
+
testCase: test,
|
|
224
|
+
promptId: prompt.id || '',
|
|
218
225
|
};
|
|
219
226
|
if (response.error) {
|
|
220
227
|
ret.error = response.error;
|
|
@@ -291,12 +298,17 @@ class Evaluator {
|
|
|
291
298
|
score: 0,
|
|
292
299
|
namedScores: {},
|
|
293
300
|
latencyMs,
|
|
301
|
+
promptIdx,
|
|
302
|
+
testIdx,
|
|
303
|
+
testCase: test,
|
|
304
|
+
promptId: prompt.id || '',
|
|
294
305
|
};
|
|
295
306
|
}
|
|
296
307
|
}
|
|
297
308
|
async evaluate() {
|
|
298
309
|
const { testSuite, options } = this;
|
|
299
310
|
const prompts = [];
|
|
311
|
+
const rowsWithSelectBestAssertion = new Set();
|
|
300
312
|
await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'beforeAll', { suite: testSuite });
|
|
301
313
|
if (options.generateSuggestions) {
|
|
302
314
|
// TODO(ian): Move this into its own command/file
|
|
@@ -449,7 +461,7 @@ class Evaluator {
|
|
|
449
461
|
}
|
|
450
462
|
// Set up eval cases
|
|
451
463
|
const runEvalOptions = [];
|
|
452
|
-
let
|
|
464
|
+
let testIdx = 0;
|
|
453
465
|
for (let index = 0; index < tests.length; index++) {
|
|
454
466
|
const testCase = tests[index];
|
|
455
467
|
(0, tiny_invariant_1.default)(Array.isArray(testSuite.defaultTest?.assert || []), `defaultTest.assert is not an array in test case #${index + 1}`);
|
|
@@ -469,7 +481,7 @@ class Evaluator {
|
|
|
469
481
|
const numRepeat = this.options.repeat || 1;
|
|
470
482
|
for (let repeatIndex = 0; repeatIndex < numRepeat; repeatIndex++) {
|
|
471
483
|
for (const vars of varCombinations) {
|
|
472
|
-
let
|
|
484
|
+
let promptIdx = 0;
|
|
473
485
|
// Order matters - keep provider in outer loop to reduce need to swap models during local inference.
|
|
474
486
|
for (const provider of testSuite.providers) {
|
|
475
487
|
for (const prompt of testSuite.prompts) {
|
|
@@ -486,30 +498,18 @@ class Evaluator {
|
|
|
486
498
|
},
|
|
487
499
|
test: { ...testCase, vars, options: testCase.options },
|
|
488
500
|
nunjucksFilters: testSuite.nunjucksFilters,
|
|
489
|
-
|
|
490
|
-
|
|
501
|
+
testIdx,
|
|
502
|
+
promptIdx,
|
|
491
503
|
repeatIndex,
|
|
492
504
|
evaluateOptions: options,
|
|
493
505
|
});
|
|
494
|
-
|
|
506
|
+
promptIdx++;
|
|
495
507
|
}
|
|
496
508
|
}
|
|
497
|
-
|
|
509
|
+
testIdx++;
|
|
498
510
|
}
|
|
499
511
|
}
|
|
500
512
|
}
|
|
501
|
-
// Set up table...
|
|
502
|
-
const isTest = tests.some((t) => !!t.assert);
|
|
503
|
-
const table = {
|
|
504
|
-
head: {
|
|
505
|
-
prompts,
|
|
506
|
-
vars: [
|
|
507
|
-
...Object.keys(testSuite.defaultTest?.vars || {}).sort(),
|
|
508
|
-
...Array.from(varNames).sort(),
|
|
509
|
-
],
|
|
510
|
-
},
|
|
511
|
-
body: [],
|
|
512
|
-
};
|
|
513
513
|
// Determine run parameters
|
|
514
514
|
let concurrency = options.maxConcurrency || exports.DEFAULT_MAX_CONCURRENCY;
|
|
515
515
|
if (concurrency > 1) {
|
|
@@ -525,7 +525,6 @@ class Evaluator {
|
|
|
525
525
|
}
|
|
526
526
|
}
|
|
527
527
|
// Actually run the eval
|
|
528
|
-
const results = [];
|
|
529
528
|
let numComplete = 0;
|
|
530
529
|
const processEvalStep = async (evalStep, index) => {
|
|
531
530
|
if (typeof index !== 'number') {
|
|
@@ -535,61 +534,21 @@ class Evaluator {
|
|
|
535
534
|
test: evalStep.test,
|
|
536
535
|
});
|
|
537
536
|
const row = await this.runEval(evalStep);
|
|
538
|
-
|
|
537
|
+
if (evalStep.test.assert?.some((a) => a.type === 'select-best')) {
|
|
538
|
+
rowsWithSelectBestAssertion.add(row.testIdx);
|
|
539
|
+
}
|
|
539
540
|
numComplete++;
|
|
540
541
|
if (options.progressCallback) {
|
|
541
|
-
options.progressCallback(results.length, runEvalOptions.length, index, evalStep);
|
|
542
|
-
}
|
|
543
|
-
// Bookkeeping for table
|
|
544
|
-
let resultText;
|
|
545
|
-
const outputTextDisplay = (typeof row.response?.output === 'object'
|
|
546
|
-
? JSON.stringify(row.response.output)
|
|
547
|
-
: row.response?.output || row.error || '');
|
|
548
|
-
if (isTest) {
|
|
549
|
-
if (row.success) {
|
|
550
|
-
resultText = `${outputTextDisplay || row.error || ''}`;
|
|
551
|
-
}
|
|
552
|
-
else {
|
|
553
|
-
resultText = `${row.error}\n---\n${outputTextDisplay}`;
|
|
554
|
-
}
|
|
542
|
+
options.progressCallback(this.evalRecord.results.length, runEvalOptions.length, index, evalStep);
|
|
555
543
|
}
|
|
556
|
-
|
|
557
|
-
|
|
544
|
+
try {
|
|
545
|
+
await this.evalRecord.addResult(row, evalStep.test);
|
|
558
546
|
}
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
}
|
|
562
|
-
const { rowIndex, colIndex } = evalStep;
|
|
563
|
-
if (!table.body[rowIndex]) {
|
|
564
|
-
table.body[rowIndex] = {
|
|
565
|
-
description: evalStep.test.description,
|
|
566
|
-
outputs: [],
|
|
567
|
-
test: evalStep.test,
|
|
568
|
-
vars: table.head.vars
|
|
569
|
-
.map((varName) => {
|
|
570
|
-
const varValue = evalStep.test.vars?.[varName] || '';
|
|
571
|
-
if (typeof varValue === 'string') {
|
|
572
|
-
return varValue;
|
|
573
|
-
}
|
|
574
|
-
return JSON.stringify(varValue);
|
|
575
|
-
})
|
|
576
|
-
.flat(),
|
|
577
|
-
};
|
|
547
|
+
catch (error) {
|
|
548
|
+
logger_1.default.error(`Error saving result: ${error} ${JSON.stringify(row)}`);
|
|
578
549
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
score: row.score,
|
|
582
|
-
namedScores: row.namedScores,
|
|
583
|
-
text: resultText,
|
|
584
|
-
prompt: row.prompt.raw,
|
|
585
|
-
provider: row.provider.label || row.provider.id,
|
|
586
|
-
latencyMs: row.latencyMs,
|
|
587
|
-
tokenUsage: row.response?.tokenUsage,
|
|
588
|
-
gradingResult: row.gradingResult,
|
|
589
|
-
cost: row.cost || 0,
|
|
590
|
-
metadata: row.metadata,
|
|
591
|
-
};
|
|
592
|
-
const metrics = table.head.prompts[colIndex].metrics;
|
|
550
|
+
const { promptIdx } = row;
|
|
551
|
+
const metrics = prompts[promptIdx].metrics;
|
|
593
552
|
(0, tiny_invariant_1.default)(metrics, 'Expected prompt.metrics to be set');
|
|
594
553
|
metrics.score += row.score;
|
|
595
554
|
for (const [key, value] of Object.entries(row.namedScores)) {
|
|
@@ -705,7 +664,7 @@ class Evaluator {
|
|
|
705
664
|
// Then run concurrent evaluations
|
|
706
665
|
await async_1.default.forEachOfLimit(concurrentRunEvalOptions, concurrency, processEvalStep);
|
|
707
666
|
// Do we have to run comparisons between row outputs?
|
|
708
|
-
const compareRowsCount =
|
|
667
|
+
const compareRowsCount = rowsWithSelectBestAssertion.size;
|
|
709
668
|
let progressBar;
|
|
710
669
|
if (compareRowsCount > 0 && multibar) {
|
|
711
670
|
progressBar = multibar.create(compareRowsCount, 0, {
|
|
@@ -714,60 +673,72 @@ class Evaluator {
|
|
|
714
673
|
vars: '',
|
|
715
674
|
});
|
|
716
675
|
}
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
676
|
+
let compareCount = 0;
|
|
677
|
+
for (const testIdx of rowsWithSelectBestAssertion) {
|
|
678
|
+
compareCount++;
|
|
679
|
+
const resultsToCompare = this.evalRecord.results.filter((r) => r.testIdx === testIdx);
|
|
680
|
+
if (resultsToCompare.length === 0) {
|
|
681
|
+
logger_1.default.warn(`Expected results to be found for test index ${testIdx}`);
|
|
682
|
+
continue;
|
|
683
|
+
}
|
|
684
|
+
const compareAssertion = resultsToCompare[0].testCase.assert?.find((a) => a.type === 'select-best');
|
|
720
685
|
if (compareAssertion) {
|
|
721
|
-
const outputs =
|
|
722
|
-
const gradingResults = await (0, assertions_1.runCompareAssertion)(
|
|
723
|
-
|
|
686
|
+
const outputs = resultsToCompare.map((r) => r.response?.output || '');
|
|
687
|
+
const gradingResults = await (0, assertions_1.runCompareAssertion)(resultsToCompare[0].testCase, compareAssertion, outputs);
|
|
688
|
+
for (let index = 0; index < resultsToCompare.length; index++) {
|
|
689
|
+
const result = resultsToCompare[index];
|
|
724
690
|
const gradingResult = gradingResults[index];
|
|
725
|
-
if (
|
|
726
|
-
|
|
691
|
+
if (result.gradingResult) {
|
|
692
|
+
result.gradingResult.tokensUsed = result.gradingResult.tokensUsed || {
|
|
727
693
|
total: 0,
|
|
728
694
|
prompt: 0,
|
|
729
695
|
completion: 0,
|
|
730
696
|
};
|
|
731
|
-
|
|
697
|
+
result.gradingResult.tokensUsed = result.gradingResult.tokensUsed || {
|
|
732
698
|
total: 0,
|
|
733
699
|
prompt: 0,
|
|
734
700
|
completion: 0,
|
|
735
701
|
};
|
|
736
|
-
|
|
737
|
-
(
|
|
738
|
-
|
|
739
|
-
(
|
|
702
|
+
result.gradingResult.tokensUsed.total =
|
|
703
|
+
(result.gradingResult.tokensUsed.total || 0) + (gradingResult.tokensUsed?.total || 0);
|
|
704
|
+
result.gradingResult.tokensUsed.prompt =
|
|
705
|
+
(result.gradingResult.tokensUsed.prompt || 0) +
|
|
740
706
|
(gradingResult.tokensUsed?.prompt || 0);
|
|
741
|
-
|
|
742
|
-
(
|
|
707
|
+
result.gradingResult.tokensUsed.completion =
|
|
708
|
+
(result.gradingResult.tokensUsed.completion || 0) +
|
|
743
709
|
(gradingResult.tokensUsed?.completion || 0);
|
|
744
|
-
|
|
745
|
-
|
|
710
|
+
result.success = result.gradingResult.pass =
|
|
711
|
+
result.gradingResult.pass && gradingResult.pass;
|
|
746
712
|
if (!gradingResult.pass) {
|
|
747
713
|
// Failure overrides the reason and the score
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
output.text = `${gradingResult.reason}\n---\n${output.text}`;
|
|
714
|
+
result.gradingResult.reason = gradingResult.reason;
|
|
715
|
+
result.score = result.gradingResult.score = gradingResult.score;
|
|
751
716
|
}
|
|
752
|
-
if (!
|
|
753
|
-
|
|
717
|
+
if (!result.gradingResult.componentResults) {
|
|
718
|
+
result.gradingResult.componentResults = [];
|
|
754
719
|
}
|
|
755
|
-
|
|
720
|
+
result.gradingResult.componentResults.push(gradingResult);
|
|
756
721
|
}
|
|
757
722
|
else {
|
|
758
|
-
|
|
723
|
+
result.gradingResult = gradingResult;
|
|
759
724
|
}
|
|
760
|
-
|
|
725
|
+
if (this.evalRecord.persisted) {
|
|
726
|
+
await result.save();
|
|
727
|
+
}
|
|
728
|
+
}
|
|
761
729
|
if (progressBar) {
|
|
762
730
|
progressBar.increment({
|
|
763
|
-
prompt:
|
|
731
|
+
prompt: resultsToCompare[0].prompt.raw.slice(0, 10).replace(/\n/g, ''),
|
|
764
732
|
});
|
|
765
733
|
}
|
|
766
734
|
else {
|
|
767
|
-
logger_1.default.debug(`Model-graded comparison #${
|
|
735
|
+
logger_1.default.debug(`Model-graded comparison #${compareCount} of ${compareRowsCount} complete`);
|
|
768
736
|
}
|
|
769
737
|
}
|
|
770
738
|
}
|
|
739
|
+
await this.evalRecord.addPrompts(prompts);
|
|
740
|
+
const providers = await provider_1.default.createMultiple(testSuite.providers);
|
|
741
|
+
await this.evalRecord.addProviders(providers);
|
|
771
742
|
// Finish up
|
|
772
743
|
if (multibar) {
|
|
773
744
|
multibar.stop();
|
|
@@ -776,7 +747,7 @@ class Evaluator {
|
|
|
776
747
|
progressBar.stop();
|
|
777
748
|
}
|
|
778
749
|
await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'afterAll', {
|
|
779
|
-
results,
|
|
750
|
+
results: this.evalRecord.results.map((r) => r.toEvaluateResult()),
|
|
780
751
|
suite: testSuite,
|
|
781
752
|
});
|
|
782
753
|
telemetry_1.default.record('eval_ran', {
|
|
@@ -792,14 +763,14 @@ class Evaluator {
|
|
|
792
763
|
assertionTypes: Array.from(new Set(tests.flatMap((t) => t.assert || []).map((a) => a.type))).sort(),
|
|
793
764
|
eventSource: options.eventSource || 'default',
|
|
794
765
|
ci: (0, envars_1.isCI)(),
|
|
795
|
-
hasAnyPass: results.some((r) => r.success),
|
|
766
|
+
hasAnyPass: this.evalRecord.results.some((r) => r.success),
|
|
796
767
|
isRedteam: Boolean(testSuite.redteam),
|
|
797
768
|
});
|
|
798
|
-
return
|
|
769
|
+
return this.evalRecord;
|
|
799
770
|
}
|
|
800
771
|
}
|
|
801
|
-
function evaluate(testSuite, options) {
|
|
802
|
-
const ev = new Evaluator(testSuite, options);
|
|
772
|
+
function evaluate(testSuite, evalRecord, options) {
|
|
773
|
+
const ev = new Evaluator(testSuite, evalRecord, options);
|
|
803
774
|
return ev.evaluate();
|
|
804
775
|
}
|
|
805
776
|
//# sourceMappingURL=evaluator.js.map
|
|
@@ -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":"evaluatorHelpers.d.ts","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluatorHelpers.d.ts","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMtE,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,CA4HjB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,iBAUb"}
|
|
@@ -39,6 +39,7 @@ const esm_1 = require("./esm");
|
|
|
39
39
|
const logger_1 = __importDefault(require("./logger"));
|
|
40
40
|
const pythonUtils_1 = require("./python/pythonUtils");
|
|
41
41
|
const util_1 = require("./util");
|
|
42
|
+
const file_1 = require("./util/file");
|
|
42
43
|
const templates_1 = require("./util/templates");
|
|
43
44
|
const transform_1 = require("./util/transform");
|
|
44
45
|
function resolveVariables(variables) {
|
|
@@ -79,7 +80,7 @@ async function renderPrompt(prompt, vars, nunjucksFilters, provider) {
|
|
|
79
80
|
const filePath = path.resolve(process.cwd(), basePath, value.slice('file://'.length));
|
|
80
81
|
const fileExtension = filePath.split('.').pop();
|
|
81
82
|
logger_1.default.debug(`Loading var ${varName} from file: ${filePath}`);
|
|
82
|
-
if ((0,
|
|
83
|
+
if ((0, file_1.isJavascriptFile)(filePath)) {
|
|
83
84
|
const javascriptOutput = (await (await (0, esm_1.importModule)(filePath))(varName, basePrompt, vars, provider));
|
|
84
85
|
if (javascriptOutput.error) {
|
|
85
86
|
throw new Error(`Error running ${filePath}: ${javascriptOutput.error}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluatorHelpers.js","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"evaluatorHelpers.js","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import assertions from './assertions';
|
|
2
2
|
import * as cache from './cache';
|
|
3
|
+
import Eval from './models/eval';
|
|
3
4
|
import providers, { loadApiProvider } from './providers';
|
|
4
5
|
import { extractEntities } from './redteam/extraction/entities';
|
|
5
6
|
import { extractSystemPurpose } from './redteam/extraction/purpose';
|
|
@@ -7,7 +8,7 @@ import { RedteamPluginBase, RedteamGraderBase } from './redteam/plugins/base';
|
|
|
7
8
|
import type { EvaluateOptions, EvaluateTestSuite } from './types';
|
|
8
9
|
export * from './types';
|
|
9
10
|
export { generateTable } from './table';
|
|
10
|
-
declare function evaluate(testSuite: EvaluateTestSuite, options?: EvaluateOptions): Promise<
|
|
11
|
+
declare function evaluate(testSuite: EvaluateTestSuite, options?: EvaluateOptions): Promise<Eval>;
|
|
11
12
|
declare const redteam: {
|
|
12
13
|
Extractors: {
|
|
13
14
|
extractEntities: typeof extractEntities;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI9E,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EAIlB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI9E,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAIjB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,iBAAe,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,iBAwGlF;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYZ,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,wBAME"}
|
package/dist/src/index.js
CHANGED
|
@@ -37,6 +37,8 @@ exports.assertions = assertions_1.default;
|
|
|
37
37
|
const cache = __importStar(require("./cache"));
|
|
38
38
|
exports.cache = cache;
|
|
39
39
|
const evaluator_1 = require("./evaluator");
|
|
40
|
+
const migrate_1 = require("./migrate");
|
|
41
|
+
const eval_1 = __importDefault(require("./models/eval"));
|
|
40
42
|
const prompts_1 = require("./prompts");
|
|
41
43
|
const providers_1 = __importStar(require("./providers"));
|
|
42
44
|
exports.providers = providers_1.default;
|
|
@@ -50,10 +52,14 @@ const strategies_1 = require("./redteam/strategies");
|
|
|
50
52
|
const telemetry_1 = __importDefault(require("./telemetry"));
|
|
51
53
|
const testCases_1 = require("./testCases");
|
|
52
54
|
const util_1 = require("./util");
|
|
55
|
+
const prompts_2 = require("./validators/prompts");
|
|
53
56
|
__exportStar(require("./types"), exports);
|
|
54
57
|
var table_1 = require("./table");
|
|
55
58
|
Object.defineProperty(exports, "generateTable", { enumerable: true, get: function () { return table_1.generateTable; } });
|
|
56
59
|
async function evaluate(testSuite, options = {}) {
|
|
60
|
+
if (testSuite.writeLatestResults) {
|
|
61
|
+
await (0, migrate_1.runDbMigrations)();
|
|
62
|
+
}
|
|
57
63
|
const constructedTestSuite = {
|
|
58
64
|
...testSuite,
|
|
59
65
|
scenarios: testSuite.scenarios,
|
|
@@ -74,7 +80,11 @@ async function evaluate(testSuite, options = {}) {
|
|
|
74
80
|
else if (typeof promptInput === 'string') {
|
|
75
81
|
return (0, prompts_1.readPrompts)(promptInput);
|
|
76
82
|
}
|
|
77
|
-
|
|
83
|
+
try {
|
|
84
|
+
return prompts_2.PromptSchema.parse(promptInput);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.warn(`Prompt input is not a valid prompt schema: ${error}\nFalling back to serialized JSON as raw prompt.`);
|
|
78
88
|
return {
|
|
79
89
|
raw: JSON.stringify(promptInput),
|
|
80
90
|
label: JSON.stringify(promptInput),
|
|
@@ -113,26 +123,24 @@ async function evaluate(testSuite, options = {}) {
|
|
|
113
123
|
cache.disableCache();
|
|
114
124
|
}
|
|
115
125
|
const parsedProviderPromptMap = (0, prompts_1.readProviderPromptMap)(testSuite, constructedTestSuite.prompts);
|
|
126
|
+
const unifiedConfig = { ...testSuite, prompts: constructedTestSuite.prompts };
|
|
127
|
+
const evalRecord = testSuite.writeLatestResults
|
|
128
|
+
? await eval_1.default.create(unifiedConfig, constructedTestSuite.prompts)
|
|
129
|
+
: new eval_1.default(unifiedConfig);
|
|
116
130
|
// Run the eval!
|
|
117
131
|
const ret = await (0, evaluator_1.evaluate)({
|
|
118
132
|
...constructedTestSuite,
|
|
119
133
|
providerPromptMap: parsedProviderPromptMap,
|
|
120
|
-
}, {
|
|
134
|
+
}, evalRecord, {
|
|
121
135
|
eventSource: 'library',
|
|
122
136
|
...options,
|
|
123
137
|
});
|
|
124
|
-
const unifiedConfig = { ...testSuite, prompts: constructedTestSuite.prompts };
|
|
125
|
-
let evalId = null;
|
|
126
|
-
if (testSuite.writeLatestResults) {
|
|
127
|
-
await (0, util_1.migrateResultsFromFileSystemToDatabase)();
|
|
128
|
-
evalId = await (0, util_1.writeResultsToDatabase)(ret, unifiedConfig);
|
|
129
|
-
}
|
|
130
138
|
if (testSuite.outputPath) {
|
|
131
139
|
if (typeof testSuite.outputPath === 'string') {
|
|
132
|
-
await (0, util_1.writeOutput)(testSuite.outputPath,
|
|
140
|
+
await (0, util_1.writeOutput)(testSuite.outputPath, evalRecord, null);
|
|
133
141
|
}
|
|
134
142
|
else if (Array.isArray(testSuite.outputPath)) {
|
|
135
|
-
await (0, util_1.writeMultipleOutputs)(testSuite.outputPath,
|
|
143
|
+
await (0, util_1.writeMultipleOutputs)(testSuite.outputPath, evalRecord, null);
|
|
136
144
|
}
|
|
137
145
|
}
|
|
138
146
|
await telemetry_1.default.send();
|