promptfoo 0.57.0 → 0.58.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.
- package/dist/package.json +2 -2
- package/dist/src/assertions/AssertionsResult.d.ts +31 -0
- package/dist/src/assertions/AssertionsResult.d.ts.map +1 -0
- package/dist/src/assertions/AssertionsResult.js +84 -0
- package/dist/src/assertions/AssertionsResult.js.map +1 -0
- package/dist/src/assertions/validateAssertions.d.ts +6 -0
- package/dist/src/assertions/validateAssertions.d.ts.map +1 -0
- package/dist/src/assertions/validateAssertions.js +35 -0
- package/dist/src/assertions/validateAssertions.js.map +1 -0
- package/dist/src/assertions.d.ts.map +1 -1
- package/dist/src/assertions.js +66 -62
- package/dist/src/assertions.js.map +1 -1
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +1 -0
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/main.js +4 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/providers/azureopenaiUtil.d.ts.map +1 -1
- package/dist/src/providers/azureopenaiUtil.js +4 -1
- package/dist/src/providers/azureopenaiUtil.js.map +1 -1
- package/dist/src/providers/pythonCompletion.d.ts.map +1 -1
- package/dist/src/providers/pythonCompletion.js +4 -0
- package/dist/src/providers/pythonCompletion.js.map +1 -1
- package/dist/src/providers/scriptCompletion.d.ts.map +1 -1
- package/dist/src/providers/scriptCompletion.js +7 -2
- package/dist/src/providers/scriptCompletion.js.map +1 -1
- package/dist/src/providers/vertex.d.ts.map +1 -1
- package/dist/src/providers/vertex.js +2 -0
- package/dist/src/providers/vertex.js.map +1 -1
- package/dist/src/python/wrapper.d.ts.map +1 -1
- package/dist/src/python/wrapper.js +2 -1
- package/dist/src/python/wrapper.js.map +1 -1
- package/dist/src/types.d.ts +10 -3
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/util.d.ts +1 -0
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +15 -1
- package/dist/src/util.js.map +1 -1
- package/dist/src/web/nextui/404/index.html +1 -1
- package/dist/src/web/nextui/404.html +1 -1
- package/dist/src/web/nextui/_next/static/chunks/app/setup/page-1e746f842289d480.js +1 -0
- package/dist/src/web/nextui/auth/login/index.html +1 -1
- package/dist/src/web/nextui/auth/login/index.txt +1 -1
- package/dist/src/web/nextui/auth/signup/index.html +1 -1
- package/dist/src/web/nextui/auth/signup/index.txt +1 -1
- package/dist/src/web/nextui/datasets/index.html +1 -1
- package/dist/src/web/nextui/datasets/index.txt +1 -1
- package/dist/src/web/nextui/eval/index.html +1 -1
- package/dist/src/web/nextui/eval/index.txt +1 -1
- package/dist/src/web/nextui/index.html +1 -1
- package/dist/src/web/nextui/index.txt +1 -1
- package/dist/src/web/nextui/progress/index.html +1 -1
- package/dist/src/web/nextui/progress/index.txt +1 -1
- package/dist/src/web/nextui/prompts/index.html +1 -1
- package/dist/src/web/nextui/prompts/index.txt +1 -1
- package/dist/src/web/nextui/setup/index.html +1 -1
- package/dist/src/web/nextui/setup/index.txt +2 -2
- package/package.json +2 -2
- package/dist/src/web/nextui/_next/static/chunks/app/setup/page-1d8e707bf06b6d74.js +0 -1
- /package/dist/src/web/nextui/_next/static/{3BrycjzrBIZyXUXHQkzf3 → S2i0Aozu7CXAnJesa85Bk}/_buildManifest.js +0 -0
- /package/dist/src/web/nextui/_next/static/{3BrycjzrBIZyXUXHQkzf3 → S2i0Aozu7CXAnJesa85Bk}/_ssgManifest.js +0 -0
package/dist/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "promptfoo",
|
|
3
3
|
"description": "LLM eval & testing toolkit",
|
|
4
4
|
"author": "Ian Webster",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.58.0",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "commonjs",
|
|
8
8
|
"repository": "promptfoo/promptfoo",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"proxy-agent": "^6.3.1",
|
|
115
115
|
"python-shell": "^5.0.0",
|
|
116
116
|
"replicate": "^0.27.1",
|
|
117
|
-
"rouge": "
|
|
117
|
+
"rouge": "git+https://github.com/kenlimmj/rouge.git#f35111b599aca55f1d4dc1d4a3d15e28e7f7c55f",
|
|
118
118
|
"semver": "^7.5.3",
|
|
119
119
|
"socket.io": "^4.6.1",
|
|
120
120
|
"tiny-invariant": "^1.3.1",
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AssertionSet, GradingResult } from '../types';
|
|
2
|
+
interface ParentAssertionSet {
|
|
3
|
+
index: number;
|
|
4
|
+
assertionSet: AssertionSet;
|
|
5
|
+
}
|
|
6
|
+
export declare class AssertionsResult {
|
|
7
|
+
static noAssertsResult(): GradingResult;
|
|
8
|
+
private tokensUsed;
|
|
9
|
+
private threshold;
|
|
10
|
+
private _parentAssertionSet;
|
|
11
|
+
private totalScore;
|
|
12
|
+
private totalWeight;
|
|
13
|
+
private failedReason;
|
|
14
|
+
private componentResults;
|
|
15
|
+
private namedScores;
|
|
16
|
+
private result;
|
|
17
|
+
constructor({ threshold, parentAssertionSet, }?: {
|
|
18
|
+
threshold?: number;
|
|
19
|
+
parentAssertionSet?: ParentAssertionSet;
|
|
20
|
+
});
|
|
21
|
+
get parentAssertionSet(): ParentAssertionSet | undefined;
|
|
22
|
+
addResult({ index, result, metric, weight, }: {
|
|
23
|
+
index: number;
|
|
24
|
+
result: GradingResult;
|
|
25
|
+
metric?: string;
|
|
26
|
+
weight?: number;
|
|
27
|
+
}): void;
|
|
28
|
+
testResult(): GradingResult;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=AssertionsResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssertionsResult.d.ts","sourceRoot":"","sources":["../../../src/assertions/AssertionsResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQvD,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,eAAe,IAAI,aAAa;IAUvC,OAAO,CAAC,UAAU,CAEhB;IACF,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,MAAM,CAA8B;gBAEhC,EACV,SAAS,EACT,kBAAkB,GACnB,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACpC;IAKN,IAAI,kBAAkB,mCAErB;IAED,SAAS,CAAC,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,aAAa,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IA0BD,UAAU,IAAI,aAAa;CAiC5B"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssertionsResult = void 0;
|
|
4
|
+
const DEFAULT_TOKENS_USED = {
|
|
5
|
+
total: 0,
|
|
6
|
+
prompt: 0,
|
|
7
|
+
completion: 0,
|
|
8
|
+
};
|
|
9
|
+
class AssertionsResult {
|
|
10
|
+
static noAssertsResult() {
|
|
11
|
+
return {
|
|
12
|
+
pass: true,
|
|
13
|
+
score: 1,
|
|
14
|
+
reason: 'No assertions',
|
|
15
|
+
tokensUsed: { ...DEFAULT_TOKENS_USED },
|
|
16
|
+
assertion: null,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
constructor({ threshold, parentAssertionSet, } = {}) {
|
|
20
|
+
this.tokensUsed = {
|
|
21
|
+
...DEFAULT_TOKENS_USED,
|
|
22
|
+
};
|
|
23
|
+
this.totalScore = 0;
|
|
24
|
+
this.totalWeight = 0;
|
|
25
|
+
this.componentResults = [];
|
|
26
|
+
this.namedScores = {};
|
|
27
|
+
this.result = null;
|
|
28
|
+
this.threshold = threshold;
|
|
29
|
+
this._parentAssertionSet = parentAssertionSet;
|
|
30
|
+
}
|
|
31
|
+
get parentAssertionSet() {
|
|
32
|
+
return this._parentAssertionSet;
|
|
33
|
+
}
|
|
34
|
+
addResult({ index, result, metric, weight = 1, }) {
|
|
35
|
+
this.totalScore += result.score * weight;
|
|
36
|
+
this.totalWeight += weight;
|
|
37
|
+
this.componentResults[index] = result;
|
|
38
|
+
if (metric) {
|
|
39
|
+
this.namedScores[metric] = (this.namedScores[metric] || 0) + result.score;
|
|
40
|
+
}
|
|
41
|
+
if (result.tokensUsed) {
|
|
42
|
+
this.tokensUsed.total += result.tokensUsed.total;
|
|
43
|
+
this.tokensUsed.prompt += result.tokensUsed.prompt;
|
|
44
|
+
this.tokensUsed.completion += result.tokensUsed.completion;
|
|
45
|
+
}
|
|
46
|
+
if (result.pass) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.failedReason = result.reason;
|
|
50
|
+
if (process.env.PROMPTFOO_SHORT_CIRCUIT_TEST_FAILURES) {
|
|
51
|
+
throw new Error(result.reason);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
testResult() {
|
|
55
|
+
if (this.result) {
|
|
56
|
+
return this.result;
|
|
57
|
+
}
|
|
58
|
+
const score = this.totalScore / this.totalWeight;
|
|
59
|
+
let pass = !this.failedReason;
|
|
60
|
+
let reason = !this.failedReason ? 'All assertions passed' : this.failedReason;
|
|
61
|
+
if (this.threshold) {
|
|
62
|
+
// Existence of a test threshold overrides the pass/fail status of individual assertions
|
|
63
|
+
pass = score >= this.threshold;
|
|
64
|
+
if (pass) {
|
|
65
|
+
reason = `Aggregate score ${score.toFixed(2)} ≥ ${this.threshold} threshold`;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
reason = `Aggregate score ${score.toFixed(2)} < ${this.threshold} threshold`;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
this.result = {
|
|
72
|
+
pass,
|
|
73
|
+
score,
|
|
74
|
+
reason,
|
|
75
|
+
namedScores: this.namedScores,
|
|
76
|
+
tokensUsed: this.tokensUsed,
|
|
77
|
+
componentResults: this.componentResults,
|
|
78
|
+
assertion: null,
|
|
79
|
+
};
|
|
80
|
+
return this.result;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.AssertionsResult = AssertionsResult;
|
|
84
|
+
//# sourceMappingURL=AssertionsResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssertionsResult.js","sourceRoot":"","sources":["../../../src/assertions/AssertionsResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TestCase } from '../types';
|
|
2
|
+
export declare class AssertValiationError extends Error {
|
|
3
|
+
constructor(message: string, testCase: TestCase);
|
|
4
|
+
}
|
|
5
|
+
export declare function validateAssertions(tests: TestCase<Record<string, string | object | string[]>>[]): void;
|
|
6
|
+
//# sourceMappingURL=validateAssertions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAssertions.d.ts","sourceRoot":"","sources":["../../../src/assertions/validateAssertions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAMhD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,QAU/F"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAssertions = exports.AssertValiationError = void 0;
|
|
4
|
+
class AssertValiationError extends Error {
|
|
5
|
+
constructor(message, testCase) {
|
|
6
|
+
const testCaseDescription = testCase.description || JSON.stringify(testCase);
|
|
7
|
+
super(`${message} in:\n${testCaseDescription}`);
|
|
8
|
+
this.name = 'AssertValiationError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.AssertValiationError = AssertValiationError;
|
|
12
|
+
function validateAssertions(tests) {
|
|
13
|
+
for (const test of tests) {
|
|
14
|
+
if (test.assert) {
|
|
15
|
+
for (const assertion of test.assert) {
|
|
16
|
+
if (assertion.type === 'assert-set') {
|
|
17
|
+
validateAssertSet(assertion, test);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.validateAssertions = validateAssertions;
|
|
24
|
+
function validateAssertSet(assertion, test) {
|
|
25
|
+
if (!('assert' in assertion)) {
|
|
26
|
+
throw new AssertValiationError('assert-set must have an `assert` property', test);
|
|
27
|
+
}
|
|
28
|
+
if (!Array.isArray(assertion.assert)) {
|
|
29
|
+
throw new AssertValiationError('assert-set `assert` must be an array of assertions', test);
|
|
30
|
+
}
|
|
31
|
+
if (assertion.assert.some((assertion) => assertion.type === 'assert-set')) {
|
|
32
|
+
throw new AssertValiationError('assert-set must not have child assert-sets', test);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=validateAssertions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAssertions.js","sourceRoot":"","sources":["../../../src/assertions/validateAssertions.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe,EAAE,QAAkB;QAC7C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE7E,KAAK,CAAC,GAAG,OAAO,SAAS,mBAAmB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAPD,oDAOC;AAED,SAAgB,kBAAkB,CAAC,KAA6D;IAC9F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;gBACnC,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE;oBACnC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;iBACpC;aACF;SACF;KACF;AACH,CAAC;AAVD,gDAUC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,IAAc;IAC1D,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE;QAC5B,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,IAAI,CAAC,CAAC;KACnF;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QACpC,MAAM,IAAI,oBAAoB,CAAC,oDAAoD,EAAE,IAAI,CAAC,CAAC;KAC5F;IAED,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;QACzE,MAAM,IAAI,oBAAoB,CAAC,4CAA4C,EAAE,IAAI,CAAC,CAAC;KACpF;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../src/assertions.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../src/assertions.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOpG,eAAO,MAAM,4BAA4B,oBASvC,CAAC;AAwCH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,GACL,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAoFzB;AAED,wBAAsB,YAAY,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,GACL,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAg+BzB;AAgCD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC,CAe1B;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAU3E;;;;;;;;;;;;;AAGD,wBAWE"}
|
package/dist/src/assertions.js
CHANGED
|
@@ -22,6 +22,7 @@ const matchers_1 = require("./matchers");
|
|
|
22
22
|
const openaiUtil_1 = require("./providers/openaiUtil");
|
|
23
23
|
const wrapper_1 = require("./python/wrapper");
|
|
24
24
|
const esm_1 = require("./esm");
|
|
25
|
+
const AssertionsResult_1 = require("./assertions/AssertionsResult");
|
|
25
26
|
const ASSERTIONS_MAX_CONCURRENCY = process.env.PROMPTFOO_ASSERTIONS_MAX_CONCURRENCY
|
|
26
27
|
? parseInt(process.env.PROMPTFOO_ASSERTIONS_MAX_CONCURRENCY, 10)
|
|
27
28
|
: 3;
|
|
@@ -53,33 +54,46 @@ function handleRougeScore(baseType, assertion, expected, output, inverted) {
|
|
|
53
54
|
pass,
|
|
54
55
|
score: inverted ? 1 - score : score,
|
|
55
56
|
reason: pass
|
|
56
|
-
? `${baseType.toUpperCase()} score ${score} is greater than or equal to threshold ${assertion.threshold || 0.75}`
|
|
57
|
-
: `${baseType.toUpperCase()} score ${score} is less than threshold ${assertion.threshold || 0.75}`,
|
|
57
|
+
? `${baseType.toUpperCase()} score ${score.toFixed(2)} is greater than or equal to threshold ${assertion.threshold || 0.75}`
|
|
58
|
+
: `${baseType.toUpperCase()} score ${score.toFixed(2)} is less than threshold ${assertion.threshold || 0.75}`,
|
|
58
59
|
assertion,
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
62
|
async function runAssertions({ prompt, provider, test, output, latencyMs, logProbs, cost, }) {
|
|
62
|
-
const tokensUsed = {
|
|
63
|
-
total: 0,
|
|
64
|
-
prompt: 0,
|
|
65
|
-
completion: 0,
|
|
66
|
-
};
|
|
67
63
|
if (!test.assert || test.assert.length < 1) {
|
|
68
|
-
return
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
return AssertionsResult_1.AssertionsResult.noAssertsResult();
|
|
65
|
+
}
|
|
66
|
+
const mainAssertResult = new AssertionsResult_1.AssertionsResult({
|
|
67
|
+
threshold: test.threshold,
|
|
68
|
+
});
|
|
69
|
+
const subAssertResults = [];
|
|
70
|
+
const asserts = test.assert
|
|
71
|
+
.map((assertion, i) => {
|
|
72
|
+
if (assertion.type === 'assert-set') {
|
|
73
|
+
const subAssertResult = new AssertionsResult_1.AssertionsResult({
|
|
74
|
+
threshold: assertion.threshold,
|
|
75
|
+
parentAssertionSet: {
|
|
76
|
+
assertionSet: assertion,
|
|
77
|
+
index: i,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
subAssertResults.push(subAssertResult);
|
|
81
|
+
return assertion.assert.map((subAssert, j) => {
|
|
82
|
+
return {
|
|
83
|
+
assertion: subAssert,
|
|
84
|
+
assertResult: subAssertResult,
|
|
85
|
+
index: j,
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return { assertion, assertResult: mainAssertResult, index: i };
|
|
90
|
+
})
|
|
91
|
+
.flat();
|
|
92
|
+
await async_1.default.forEachOfLimit(asserts, ASSERTIONS_MAX_CONCURRENCY, async ({ assertion, assertResult, index }) => {
|
|
77
93
|
if (assertion.type.startsWith('select-')) {
|
|
78
94
|
// Select-type assertions are handled separately because they depend on multiple outputs.
|
|
79
95
|
return;
|
|
80
96
|
}
|
|
81
|
-
const weight = assertion.weight ?? 1;
|
|
82
|
-
totalWeight += weight;
|
|
83
97
|
const result = await runAssertion({
|
|
84
98
|
prompt,
|
|
85
99
|
provider,
|
|
@@ -90,45 +104,24 @@ async function runAssertions({ prompt, provider, test, output, latencyMs, logPro
|
|
|
90
104
|
logProbs,
|
|
91
105
|
cost,
|
|
92
106
|
});
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
tokensUsed.total += result.tokensUsed.total;
|
|
100
|
-
tokensUsed.prompt += result.tokensUsed.prompt;
|
|
101
|
-
tokensUsed.completion += result.tokensUsed.completion;
|
|
102
|
-
}
|
|
103
|
-
if (!result.pass) {
|
|
104
|
-
allPass = false;
|
|
105
|
-
failedReason = result.reason;
|
|
106
|
-
if (process.env.PROMPTFOO_SHORT_CIRCUIT_TEST_FAILURES) {
|
|
107
|
-
throw new Error(result.reason);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
107
|
+
assertResult.addResult({
|
|
108
|
+
index,
|
|
109
|
+
result,
|
|
110
|
+
metric: assertion.metric,
|
|
111
|
+
weight: assertion.weight,
|
|
112
|
+
});
|
|
110
113
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
pass: allPass,
|
|
125
|
-
score: finalScore,
|
|
126
|
-
namedScores: namedScores,
|
|
127
|
-
reason: finalReason,
|
|
128
|
-
tokensUsed,
|
|
129
|
-
componentResults,
|
|
130
|
-
assertion: null,
|
|
131
|
-
};
|
|
114
|
+
subAssertResults.forEach((subAssertResult) => {
|
|
115
|
+
const result = subAssertResult.testResult();
|
|
116
|
+
const { index, assertionSet: { metric, weight }, } = subAssertResult.parentAssertionSet;
|
|
117
|
+
mainAssertResult.addResult({
|
|
118
|
+
index,
|
|
119
|
+
result,
|
|
120
|
+
metric,
|
|
121
|
+
weight,
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
return mainAssertResult.testResult();
|
|
132
125
|
}
|
|
133
126
|
exports.runAssertions = runAssertions;
|
|
134
127
|
async function runAssertion({ prompt, provider, assertion, test, output, latencyMs, logProbs, cost, }) {
|
|
@@ -158,8 +151,7 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
158
151
|
if (typeof renderedValue === 'string') {
|
|
159
152
|
if (renderedValue.startsWith('file://')) {
|
|
160
153
|
const basePath = cliState_1.default.basePath || '';
|
|
161
|
-
|
|
162
|
-
const filePath = renderedValue.slice('file://'.length);
|
|
154
|
+
const filePath = path_1.default.resolve(basePath, renderedValue.slice('file://'.length));
|
|
163
155
|
if (filePath.endsWith('.js') || filePath.endsWith('.cjs') || filePath.endsWith('.mjs')) {
|
|
164
156
|
const requiredModule = await (0, esm_1.importModule)(filePath);
|
|
165
157
|
if (typeof requiredModule === 'function') {
|
|
@@ -175,7 +167,7 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
175
167
|
}
|
|
176
168
|
else if (filePath.endsWith('.py')) {
|
|
177
169
|
try {
|
|
178
|
-
const pythonScriptOutput = await (0, wrapper_1.runPython)(
|
|
170
|
+
const pythonScriptOutput = await (0, wrapper_1.runPython)(filePath, 'get_assert', [output, context]);
|
|
179
171
|
valueFromScript = pythonScriptOutput;
|
|
180
172
|
logger_1.default.debug(`Python script ${filePath} output: ${valueFromScript}`);
|
|
181
173
|
logger_1.default.debug(`Python script ${filePath} output: ${valueFromScript}`);
|
|
@@ -208,13 +200,13 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
208
200
|
renderedValue = renderedValue.map((v) => nunjucks.renderString(String(v), test.vars || {}));
|
|
209
201
|
}
|
|
210
202
|
if (baseType === 'equals') {
|
|
211
|
-
pass = renderedValue == outputString;
|
|
203
|
+
pass = (renderedValue == outputString) !== inverse;
|
|
212
204
|
return {
|
|
213
205
|
pass,
|
|
214
206
|
score: pass ? 1 : 0,
|
|
215
207
|
reason: pass
|
|
216
208
|
? 'Assertion passed'
|
|
217
|
-
: `Expected output "${renderedValue}"
|
|
209
|
+
: `Expected output "${renderedValue}" to ${inverse ? 'not ' : ''}equal "${outputString}"`,
|
|
218
210
|
assertion,
|
|
219
211
|
};
|
|
220
212
|
}
|
|
@@ -280,6 +272,9 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
280
272
|
}
|
|
281
273
|
if (baseType === 'contains-any') {
|
|
282
274
|
(0, tiny_invariant_1.default)(renderedValue, '"contains-any" assertion type must have a value');
|
|
275
|
+
if (typeof renderedValue === 'string') {
|
|
276
|
+
renderedValue = renderedValue.split(',').map((v) => v.trim());
|
|
277
|
+
}
|
|
283
278
|
(0, tiny_invariant_1.default)(Array.isArray(renderedValue), '"contains-any" assertion type must have an array value');
|
|
284
279
|
pass = renderedValue.some((value) => outputString.includes(String(value))) !== inverse;
|
|
285
280
|
return {
|
|
@@ -293,6 +288,9 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
293
288
|
}
|
|
294
289
|
if (baseType === 'icontains-any') {
|
|
295
290
|
(0, tiny_invariant_1.default)(renderedValue, '"icontains-any" assertion type must have a value');
|
|
291
|
+
if (typeof renderedValue === 'string') {
|
|
292
|
+
renderedValue = renderedValue.split(',').map((v) => v.trim());
|
|
293
|
+
}
|
|
296
294
|
(0, tiny_invariant_1.default)(Array.isArray(renderedValue), '"icontains-any" assertion type must have an array value');
|
|
297
295
|
pass =
|
|
298
296
|
renderedValue.some((value) => outputString.toLowerCase().includes(String(value).toLowerCase())) !== inverse;
|
|
@@ -307,6 +305,9 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
307
305
|
}
|
|
308
306
|
if (baseType === 'contains-all') {
|
|
309
307
|
(0, tiny_invariant_1.default)(renderedValue, '"contains-all" assertion type must have a value');
|
|
308
|
+
if (typeof renderedValue === 'string') {
|
|
309
|
+
renderedValue = renderedValue.split(',').map((v) => v.trim());
|
|
310
|
+
}
|
|
310
311
|
(0, tiny_invariant_1.default)(Array.isArray(renderedValue), '"contains-all" assertion type must have an array value');
|
|
311
312
|
pass = renderedValue.every((value) => outputString.includes(String(value))) !== inverse;
|
|
312
313
|
return {
|
|
@@ -320,6 +321,9 @@ async function runAssertion({ prompt, provider, assertion, test, output, latency
|
|
|
320
321
|
}
|
|
321
322
|
if (baseType === 'icontains-all') {
|
|
322
323
|
(0, tiny_invariant_1.default)(renderedValue, '"icontains-all" assertion type must have a value');
|
|
324
|
+
if (typeof renderedValue === 'string') {
|
|
325
|
+
renderedValue = renderedValue.split(',').map((v) => v.trim());
|
|
326
|
+
}
|
|
323
327
|
(0, tiny_invariant_1.default)(Array.isArray(renderedValue), '"icontains-all" assertion type must have an array value');
|
|
324
328
|
pass =
|
|
325
329
|
renderedValue.every((value) => outputString.toLowerCase().includes(String(value).toLowerCase())) !== inverse;
|
|
@@ -814,7 +818,7 @@ ${isMultiline
|
|
|
814
818
|
}
|
|
815
819
|
}
|
|
816
820
|
if (baseType === 'rouge-n') {
|
|
817
|
-
(0, tiny_invariant_1.default)(typeof renderedValue === 'string'
|
|
821
|
+
(0, tiny_invariant_1.default)(typeof renderedValue === 'string', '"rouge" assertion type must be a string value');
|
|
818
822
|
return handleRougeScore(baseType, assertion, renderedValue, outputString, inverse);
|
|
819
823
|
}
|
|
820
824
|
if (baseType === 'levenshtein') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../src/assertions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../src/assertions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EAGf,eAAe,EAEf,iBAAiB,EACjB,MAAM,EAEN,SAAS,
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EAGf,eAAe,EAEf,iBAAiB,EACjB,MAAM,EAEN,SAAS,EAGV,MAAM,SAAS,CAAC;AACjB,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,CAqClC;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,CAsHjB;AAivBD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,4BAGtE"}
|
package/dist/src/evaluator.js
CHANGED
|
@@ -276,6 +276,7 @@ class Evaluator {
|
|
|
276
276
|
else {
|
|
277
277
|
response = await (test.provider || provider).callApi(renderedPrompt, {
|
|
278
278
|
vars,
|
|
279
|
+
// These are removed in python and script providers, but every Javascript provider gets them
|
|
279
280
|
logger: logger_1.default,
|
|
280
281
|
fetchWithCache: cache_1.fetchWithCache,
|
|
281
282
|
getCache: cache_1.getCache,
|