promptfoo 0.10.0 → 0.11.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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # promptfoo: test your prompts
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/promptfoo)](https://npmjs.com/package/promptfoo)
4
- ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/typpo/promptfoo/main.yml)
4
+ [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/typpo/promptfoo/main.yml)](https://github.com/typpo/promptfoo/actions/workflows/main.yml)
5
5
 
6
6
  `promptfoo` is a tool for testing and evaluating LLM prompt quality.
7
7
 
@@ -22,11 +22,11 @@ promptfoo produces matrix views that let you quickly evaluate outputs across man
22
22
 
23
23
  Here's an example of a side-by-side comparison of multiple prompts and inputs:
24
24
 
25
- ![Prompt evaluation matrix - web viewer](https://github.com/typpo/promptfoo/assets/310310/ddcd77df-2783-425e-ade9-1a20dd0b6cd2)
25
+ ![prompt evaluation matrix - web viewer](https://github.com/typpo/promptfoo/assets/310310/2b79e8f8-9b79-49e7-bffb-24cba18352f2)
26
26
 
27
27
  It works on the command line too:
28
28
 
29
- ![Prompt evaluation](https://user-images.githubusercontent.com/310310/235529431-f4d5c395-d569-448e-9697-cd637e0372a5.gif)
29
+ ![Prompt evaluation](https://github.com/typpo/promptfoo/assets/310310/480e1114-d049-40b9-bd5f-f81c15060284)
30
30
 
31
31
  ## Workflow
32
32
 
@@ -61,41 +61,51 @@ The YAML configuration format runs each prompt through a series of example input
61
61
  See the [Configuration docs](https://www.promptfoo.dev/docs/configuration/guide) for a detailed guide.
62
62
 
63
63
  ```yaml
64
- prompts: [prompts.txt]
65
- providers: [openai:gpt-3.5-turbo]
64
+ prompts: [prompt1.txt, prompt2.txt]
65
+ providers: [openai:gpt-3.5-turbo, localai:chat:vicuna]
66
+ defaultTest:
67
+ assert:
66
68
  tests:
67
- - description: First test case - automatic review
68
- vars:
69
- var1: first variable's value
70
- var2: another value
71
- var3: some other value
72
- assert:
73
- - type: equality
74
- value: expected LLM output goes here
75
- - type: function
76
- value: output.includes('some text')
77
-
78
- - description: Second test case - manual review
79
- # Test cases don't need assertions if you prefer to review the output yourself
80
- vars:
81
- var1: new value
82
- var2: another value
83
- var3: third value
84
-
85
- - description: Third test case - other types of automatic review
86
- vars:
87
- var1: yet another value
88
- var2: and another
89
- var3: dear llm, please output your response in json format
90
- assert:
91
- - type: contains-json
92
- - type: similarity
93
- value: ensures that output is semantically similar to this text
69
+ - vars:
70
+ language: French
71
+ input: Hello world
72
+ assert:
73
+ - type: contains-json
74
+ - type: javascript
75
+ value: output.statsWith('Bonjour')
76
+ - vars:
77
+ language: German
78
+ input: How's it going?
79
+ - type: similar
80
+ value: was geht
81
+ threshold: 0.6 # cosine similarity
94
82
  - type: llm-rubric
95
- value: ensure that output contains a reference to X
83
+ value: does not describe self as an AI, model, or chatbot
96
84
  ```
97
85
 
98
- ### Tests on spreadsheet
86
+ ### Supported assertion types
87
+
88
+ See [Test assertions](https://promptfoo.dev/docs/configuration/expected-outputs) for full details.
89
+
90
+ | Assertion Type | Returns true if... |
91
+ | --------------- | ------------------------------------------------------------------------- |
92
+ | `equals` | output matches exactly |
93
+ | `contains` | output contains substring |
94
+ | `icontains` | output contains substring, case insensitive |
95
+ | `regex` | output matches regex |
96
+ | `contains-some` | output contains some in list of substrings |
97
+ | `contains-all` | output contains all list of substrings |
98
+ | `is-json` | output is valid json |
99
+ | `contains-json` | output contains valid json |
100
+ | `javascript` | provided Javascript function validates the output |
101
+ | `webhook` | provided webhook returns `{pass: true}` |
102
+ | `similar` | embeddings and cosine similarity are above a threshold |
103
+ | `llm-rubric` | LLM output matches a given rubric, using a Language Model to grade output |
104
+ | `rouge-n` | Rouge-N score is above a given threshold |
105
+
106
+ Every test type can be negated by prepending `not-`. For example, `not-equals` or `not-regex`.
107
+
108
+ ### Tests from spreadsheet
99
109
 
100
110
  Some people prefer to configure their LLM tests in a CSV. In that case, the config is pretty simple:
101
111
 
@@ -190,7 +200,7 @@ You can also use `promptfoo` as a library in your project by importing the `eval
190
200
  }
191
201
 
192
202
  interface Assertion {
193
- type: 'equality' | 'is-json' | 'contains-json' | 'function' | 'similarity' | 'llm-rubric';
203
+ type: string;
194
204
  value?: string;
195
205
  threshold?: number; // For similarity assertions
196
206
  provider?: ApiProvider; // For assertions that require an LLM provider
@@ -1,7 +1,7 @@
1
1
  import type { Assertion, GradingConfig, GradingResult, AtomicTestCase } from './types';
2
2
  export declare function runAssertions(test: AtomicTestCase, output: string): Promise<GradingResult>;
3
3
  export declare function runAssertion(assertion: Assertion, test: AtomicTestCase, output: string): Promise<GradingResult>;
4
- export declare function matchesSimilarity(expected: string, output: string, threshold: number): Promise<GradingResult>;
4
+ export declare function matchesSimilarity(expected: string, output: string, threshold: number, inverse?: boolean): Promise<GradingResult>;
5
5
  export declare function matchesLlmRubric(expected: string, output: string, options?: GradingConfig): Promise<GradingResult>;
6
6
  export declare function assertionFromString(expected: string): Assertion;
7
7
  declare const _default: {
@@ -1 +1 @@
1
- {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAY,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMjG,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyBhG;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CA0DxB;AAoBD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CA0CxB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAmC/D;;;;;AAED,wBAGE"}
1
+ {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,SAAS,EAET,aAAa,EACb,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AA+BjB,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyBhG;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CA6MxB;AAoBD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CA+D/D;;;;;AAED,wBAGE"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.assertionFromString = exports.matchesLlmRubric = exports.matchesSimilarity = exports.runAssertion = exports.runAssertions = void 0;
7
+ const rouge_1 = __importDefault(require("rouge"));
7
8
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
8
9
  const nunjucks_1 = __importDefault(require("nunjucks"));
9
10
  const openai_1 = require("./providers/openai");
@@ -12,6 +13,19 @@ const providers_1 = require("./providers");
12
13
  const prompts_1 = require("./prompts");
13
14
  const SIMILAR_REGEX = /similar(?::|\((\d+(\.\d+)?)\):)/;
14
15
  const DEFAULT_SEMANTIC_SIMILARITY_THRESHOLD = 0.8;
16
+ function handleRougeScore(baseType, assertion, expected, output, inverted) {
17
+ const fnName = baseType[baseType.length - 1];
18
+ const rougeMethod = rouge_1.default[fnName];
19
+ const score = rougeMethod(output, expected);
20
+ console.log(output, expected, score);
21
+ const pass = score >= (assertion.threshold || 0.75) != inverted;
22
+ return {
23
+ pass,
24
+ reason: pass
25
+ ? `${baseType.toUpperCase()} score ${score} is greater than or equal to threshold ${assertion.threshold || 0.75}`
26
+ : `${baseType.toUpperCase()} score ${score} is less than threshold ${assertion.threshold || 0.75}`,
27
+ };
28
+ }
15
29
  async function runAssertions(test, output) {
16
30
  const tokensUsed = {
17
31
  total: 0,
@@ -37,56 +51,159 @@ async function runAssertions(test, output) {
37
51
  exports.runAssertions = runAssertions;
38
52
  async function runAssertion(assertion, test, output) {
39
53
  let pass = false;
40
- if (assertion.type === 'equals') {
54
+ (0, tiny_invariant_1.default)(assertion.type, `Assertion must have a type: ${JSON.stringify(assertion)}`);
55
+ const inverse = assertion.type.startsWith('not-');
56
+ const baseType = inverse ? assertion.type.slice(4) : assertion.type;
57
+ if (baseType === 'equals') {
41
58
  pass = assertion.value === output;
42
59
  return {
43
60
  pass,
44
61
  reason: pass ? 'Assertion passed' : `Expected output "${assertion.value}"`,
45
62
  };
46
63
  }
47
- if (assertion.type === 'is-json') {
64
+ if (baseType === 'is-json') {
48
65
  try {
49
66
  JSON.parse(output);
50
- return { pass: true, reason: 'Assertion passed' };
67
+ pass = !inverse;
51
68
  }
52
69
  catch (err) {
53
- return {
54
- pass: false,
55
- reason: `Expected output to be valid JSON, but it isn't.\nError: ${err}`,
56
- };
70
+ pass = inverse;
57
71
  }
72
+ return { pass, reason: pass ? 'Assertion passed' : 'Expected output to be valid JSON' };
73
+ }
74
+ if (baseType === 'contains') {
75
+ (0, tiny_invariant_1.default)(assertion.value, '"contains" assertion type must have a string value');
76
+ (0, tiny_invariant_1.default)(typeof assertion.value === 'string', '"contains" assertion type must have a string value');
77
+ pass = output.includes(assertion.value) !== inverse;
78
+ return {
79
+ pass,
80
+ reason: pass
81
+ ? 'Assertion passed'
82
+ : `Expected output to ${inverse ? 'not ' : ''}contain "${assertion.value}"`,
83
+ };
84
+ }
85
+ if (baseType === 'contains-any') {
86
+ (0, tiny_invariant_1.default)(assertion.value, '"contains-any" assertion type must have a value');
87
+ (0, tiny_invariant_1.default)(Array.isArray(assertion.value), '"contains-any" assertion type must have an array value');
88
+ pass = assertion.value.some((value) => output.includes(value)) !== inverse;
89
+ return {
90
+ pass,
91
+ reason: pass
92
+ ? 'Assertion passed'
93
+ : `Expected output to ${inverse ? 'not ' : ''}contain one of "${assertion.value.join(', ')}"`,
94
+ };
95
+ }
96
+ if (baseType === 'contains-all') {
97
+ (0, tiny_invariant_1.default)(assertion.value, '"contains-all" assertion type must have a value');
98
+ (0, tiny_invariant_1.default)(Array.isArray(assertion.value), '"contains-all" assertion type must have an array value');
99
+ pass = assertion.value.every((value) => output.includes(value)) !== inverse;
100
+ return {
101
+ pass,
102
+ reason: pass
103
+ ? 'Assertion passed'
104
+ : `Expected output to ${inverse ? 'not ' : ''}contain all of "${assertion.value.join(', ')}"`,
105
+ };
106
+ }
107
+ if (baseType === 'regex') {
108
+ (0, tiny_invariant_1.default)(assertion.value, '"regex" assertion type must have a string value');
109
+ (0, tiny_invariant_1.default)(typeof assertion.value === 'string', '"contains" assertion type must have a string value');
110
+ const regex = new RegExp(assertion.value);
111
+ pass = regex.test(output) !== inverse;
112
+ return {
113
+ pass,
114
+ reason: pass
115
+ ? 'Assertion passed'
116
+ : `Expected output to ${inverse ? 'not ' : ''}match regex "${assertion.value}"`,
117
+ };
118
+ }
119
+ if (baseType === 'icontains') {
120
+ (0, tiny_invariant_1.default)(assertion.value, '"icontains" assertion type must have a string value');
121
+ (0, tiny_invariant_1.default)(typeof assertion.value === 'string', '"icontains" assertion type must have a string value');
122
+ pass = output.toLowerCase().includes(assertion.value.toLowerCase()) !== inverse;
123
+ return {
124
+ pass,
125
+ reason: pass
126
+ ? 'Assertion passed'
127
+ : `Expected output to ${inverse ? 'not ' : ''}contain "${assertion.value}"`,
128
+ };
58
129
  }
59
- if (assertion.type === 'contains-json') {
60
- const pass = containsJSON(output);
130
+ if (baseType === 'contains-json') {
131
+ pass = containsJSON(output) !== inverse;
61
132
  return {
62
133
  pass,
63
- reason: pass ? 'Assertion passed' : 'Expected output to contain valid JSON',
134
+ reason: pass
135
+ ? 'Assertion passed'
136
+ : `Expected output to ${inverse ? 'not ' : ''}contain valid JSON`,
64
137
  };
65
138
  }
66
- if (assertion.type === 'javascript') {
139
+ if (baseType === 'javascript') {
67
140
  try {
68
- const customFunction = new Function('output', `return ${assertion.value}`);
69
- pass = customFunction(output);
141
+ const customFunction = new Function('output', 'context', `return ${assertion.value}`);
142
+ const context = {
143
+ vars: test.vars || {},
144
+ };
145
+ pass = customFunction(output, context) !== inverse;
70
146
  }
71
147
  catch (err) {
72
148
  return {
73
149
  pass: false,
74
- reason: `Custom function threw error: ${err.message}`,
150
+ reason: `Custom function threw error: ${err.message}
151
+ ${assertion.value}`,
75
152
  };
76
153
  }
77
154
  return {
78
155
  pass,
79
- reason: pass ? 'Assertion passed' : `Custom function returned false`,
156
+ reason: pass
157
+ ? 'Assertion passed'
158
+ : `Custom function returned ${inverse ? 'true' : 'false'}
159
+ ${assertion.value}`,
80
160
  };
81
161
  }
82
- if (assertion.type === 'similar') {
162
+ if (baseType === 'similar') {
83
163
  (0, tiny_invariant_1.default)(assertion.value, 'Similarity assertion must have a string value');
84
- return matchesSimilarity(assertion.value, output, assertion.threshold || 0.75);
164
+ (0, tiny_invariant_1.default)(typeof assertion.value === 'string', '"contains" assertion type must have a string value');
165
+ return matchesSimilarity(assertion.value, output, assertion.threshold || 0.75, inverse);
85
166
  }
86
- if (assertion.type === 'llm-rubric') {
167
+ if (baseType === 'llm-rubric') {
87
168
  (0, tiny_invariant_1.default)(assertion.value, 'Similarity assertion must have a string value');
169
+ (0, tiny_invariant_1.default)(typeof assertion.value === 'string', '"contains" assertion type must have a string value');
88
170
  return matchesLlmRubric(assertion.value, output, test.options);
89
171
  }
172
+ if (baseType === 'webhook') {
173
+ (0, tiny_invariant_1.default)(assertion.value, '"webhook" assertion type must have a URL value');
174
+ (0, tiny_invariant_1.default)(typeof assertion.value === 'string', '"webhook" assertion type must have a URL value');
175
+ try {
176
+ const context = {
177
+ vars: test.vars || {},
178
+ };
179
+ const response = await (0, util_1.fetchWithTimeout)(assertion.value, {
180
+ method: 'POST',
181
+ headers: {
182
+ 'Content-Type': 'application/json',
183
+ },
184
+ body: JSON.stringify({ output, context }),
185
+ }, process.env.WEBHOOK_TIMEOUT ? parseInt(process.env.WEBHOOK_TIMEOUT, 10) : 5000);
186
+ if (!response.ok) {
187
+ throw new Error(`Webhook response status: ${response.status}`);
188
+ }
189
+ const jsonResponse = await response.json();
190
+ pass = jsonResponse.pass !== inverse;
191
+ }
192
+ catch (err) {
193
+ return {
194
+ pass: false,
195
+ reason: `Webhook error: ${err.message}`,
196
+ };
197
+ }
198
+ return {
199
+ pass,
200
+ reason: pass ? 'Assertion passed' : `Webhook returned ${inverse ? 'true' : 'false'}`,
201
+ };
202
+ }
203
+ if (baseType === 'rouge-n') {
204
+ (0, tiny_invariant_1.default)(assertion.value, '"rouge" assertion type must a value (string or string array)');
205
+ return handleRougeScore(baseType, assertion, assertion.value, output, inverse);
206
+ }
90
207
  throw new Error('Unknown assertion type: ' + assertion.type);
91
208
  }
92
209
  exports.runAssertion = runAssertion;
@@ -105,7 +222,7 @@ function containsJSON(str) {
105
222
  return false;
106
223
  }
107
224
  }
108
- async function matchesSimilarity(expected, output, threshold) {
225
+ async function matchesSimilarity(expected, output, threshold, inverse = false) {
109
226
  const expectedEmbedding = await openai_1.DefaultEmbeddingProvider.callEmbeddingApi(expected);
110
227
  const outputEmbedding = await openai_1.DefaultEmbeddingProvider.callEmbeddingApi(output);
111
228
  const tokensUsed = {
@@ -129,16 +246,19 @@ async function matchesSimilarity(expected, output, threshold) {
129
246
  };
130
247
  }
131
248
  const similarity = (0, util_1.cosineSimilarity)(expectedEmbedding.embedding, outputEmbedding.embedding);
132
- if (similarity < threshold) {
249
+ const pass = inverse ? similarity <= threshold : similarity >= threshold;
250
+ const greaterThanReason = `Similarity ${similarity} is greater than threshold ${threshold}`;
251
+ const lessThanReason = `Similarity ${similarity} is less than threshold ${threshold}`;
252
+ if (pass) {
133
253
  return {
134
- pass: false,
135
- reason: `Similarity ${similarity} is less than threshold ${threshold}`,
254
+ pass: true,
255
+ reason: inverse ? lessThanReason : greaterThanReason,
136
256
  tokensUsed,
137
257
  };
138
258
  }
139
259
  return {
140
- pass: true,
141
- reason: `Similarity ${similarity} is greater than threshold ${threshold}`,
260
+ pass: false,
261
+ reason: inverse ? greaterThanReason : lessThanReason,
142
262
  tokensUsed,
143
263
  };
144
264
  }
@@ -190,16 +310,7 @@ async function matchesLlmRubric(expected, output, options) {
190
310
  }
191
311
  exports.matchesLlmRubric = matchesLlmRubric;
192
312
  function assertionFromString(expected) {
193
- const match = expected.match(SIMILAR_REGEX);
194
- if (match) {
195
- const threshold = parseFloat(match[1]) || DEFAULT_SEMANTIC_SIMILARITY_THRESHOLD;
196
- const rest = expected.replace(SIMILAR_REGEX, '').trim();
197
- return {
198
- type: 'similar',
199
- value: rest,
200
- threshold,
201
- };
202
- }
313
+ // Legacy options
203
314
  if (expected.startsWith('fn:') || expected.startsWith('eval:')) {
204
315
  // TODO(1.0): delete eval: legacy option
205
316
  const sliceLength = expected.startsWith('fn:') ? 'fn:'.length : 'eval:'.length;
@@ -215,11 +326,42 @@ function assertionFromString(expected) {
215
326
  value: expected.slice(6),
216
327
  };
217
328
  }
329
+ // New options
330
+ const assertionRegex = /^(not-)?(equals|contains|contains-any|contains-all|regex|icontains):(.+)$/;
331
+ const regexMatch = expected.match(assertionRegex);
332
+ if (regexMatch) {
333
+ const [_, notPrefix, type, value] = regexMatch;
334
+ const fullType = notPrefix ? `not-${type}` : type;
335
+ if (type === 'contains-any' || type === 'contains-all') {
336
+ return {
337
+ type: fullType,
338
+ value: value.split(',').map((s) => s.trim()),
339
+ };
340
+ }
341
+ else {
342
+ return {
343
+ type: fullType,
344
+ value,
345
+ };
346
+ }
347
+ }
348
+ // Options that require some special handling
349
+ const match = expected.match(SIMILAR_REGEX);
350
+ if (match) {
351
+ const threshold = parseFloat(match[1]) || DEFAULT_SEMANTIC_SIMILARITY_THRESHOLD;
352
+ const rest = expected.replace(SIMILAR_REGEX, '').trim();
353
+ return {
354
+ type: 'similar',
355
+ value: rest,
356
+ threshold,
357
+ };
358
+ }
218
359
  if (expected === 'is-json' || expected === 'contains-json') {
219
360
  return {
220
361
  type: expected,
221
362
  };
222
363
  }
364
+ // Default to equality
223
365
  return {
224
366
  type: 'equals',
225
367
  value: expected,
@@ -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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"}
package/dist/evaluator.js CHANGED
@@ -125,7 +125,7 @@ class Evaluator {
125
125
  catch (err) {
126
126
  return {
127
127
  ...setup,
128
- error: String(err),
128
+ error: String(err) + '\n\n' + err.stack,
129
129
  success: false,
130
130
  };
131
131
  }
@@ -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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"}
package/dist/main.js CHANGED
@@ -76,7 +76,7 @@ async function main() {
76
76
  ];
77
77
  let config = {};
78
78
  for (const path of potentialPaths) {
79
- const maybeConfig = (0, util_1.maybeReadConfig)(path);
79
+ const maybeConfig = await (0, util_1.maybeReadConfig)(path);
80
80
  if (maybeConfig) {
81
81
  config = maybeConfig;
82
82
  break;
@@ -125,8 +125,8 @@ async function main() {
125
125
  .option('--suggest-prompts <number>', 'Generate N new prompts and append them to the prompt list')
126
126
  .option('--prompt-prefix <path>', 'This prefix is prepended to every prompt', config.defaultTest?.options?.prefix)
127
127
  .option('--prompt-suffix <path>', 'This suffix is append to every prompt', config.defaultTest?.options?.suffix)
128
- .option('--no-write', 'Do not write results to promptfoo directory')
129
- .option('--no-cache', 'Do not read or write results to disk cache')
128
+ .option('--no-write', 'Do not write results to promptfoo directory', config?.commandLineOptions?.write)
129
+ .option('--no-cache', 'Do not read or write results to disk cache', config?.commandLineOptions?.cache)
130
130
  .option('--grader', 'Model that will grade outputs', config?.commandLineOptions?.grader)
131
131
  .option('--verbose', 'Show debug logs', config?.commandLineOptions?.verbose)
132
132
  .option('--view [port]', 'View in browser ui')
@@ -142,7 +142,7 @@ async function main() {
142
142
  const maxConcurrency = parseInt(cmdObj.maxConcurrency || '', 10);
143
143
  const configPath = cmdObj.config;
144
144
  if (configPath) {
145
- config = (0, util_1.readConfig)(configPath);
145
+ config = await (0, util_1.readConfig)(configPath);
146
146
  }
147
147
  else {
148
148
  config = {
@@ -217,8 +217,9 @@ async function main() {
217
217
  },
218
218
  });
219
219
  // Skip first row (header) and add the rest. Color PASS/FAIL
220
- for (const row of summary.table.body) {
220
+ for (const row of summary.table.body.slice(0, 25)) {
221
221
  table.push([
222
+ ...row.vars,
222
223
  ...row.outputs.map((col) => {
223
224
  const tableCellMaxLength = parseInt(cmdObj.tableCellMaxLength || '', 10);
224
225
  if (!isNaN(tableCellMaxLength) && col.length > tableCellMaxLength) {
@@ -237,10 +238,13 @@ async function main() {
237
238
  }
238
239
  return col;
239
240
  }),
240
- ...row.vars,
241
241
  ]);
242
242
  }
243
243
  logger_1.default.info('\n' + table.toString());
244
+ if (summary.table.body.length > 25) {
245
+ const rowsLeft = summary.table.body.length - 25;
246
+ logger_1.default.info(`... ${rowsLeft} more row${rowsLeft === 1 ? '' : 's'} not shown ...\n`);
247
+ }
244
248
  }
245
249
  if (cmdObj.view || !cmdObj.write) {
246
250
  logger_1.default.info('Evaluation complete');
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}