promptfoo 0.9.0 → 0.10.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 +5 -5
- package/dist/assertions.d.ts +1 -1
- package/dist/assertions.d.ts.map +1 -1
- package/dist/assertions.js +10 -10
- package/dist/assertions.js.map +1 -1
- package/dist/cache.js +9 -9
- package/dist/cache.js.map +1 -1
- package/dist/evaluator.d.ts +1 -1
- package/dist/evaluator.d.ts.map +1 -1
- package/dist/evaluator.js +29 -22
- package/dist/evaluator.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -14
- package/dist/index.js.map +1 -1
- package/dist/main.js +41 -40
- package/dist/main.js.map +1 -1
- package/dist/providers/localai.js +11 -11
- package/dist/providers/localai.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +30 -21
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers.d.ts +3 -3
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +15 -15
- package/dist/providers.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +43 -15
- package/dist/util.js.map +1 -1
- package/dist/web/client/assets/index-9a9ba400.css +1 -0
- package/dist/web/client/assets/{index-8751749f.js → index-b72d3ca9.js} +12 -12
- package/dist/web/client/index.html +2 -2
- package/dist/web/server.js +9 -9
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/src/assertions.ts +5 -5
- package/src/cache.ts +2 -2
- package/src/evaluator.ts +24 -17
- package/src/index.ts +13 -8
- package/src/main.ts +10 -9
- package/src/providers/localai.ts +3 -3
- package/src/providers/openai.ts +16 -8
- package/src/providers.ts +3 -3
- package/src/types.ts +1 -1
- package/src/util.ts +42 -14
- package/src/web/client/package-lock.json +5729 -0
- package/src/web/client/src/ResultsTable.css +19 -0
- package/src/web/client/src/ResultsTable.tsx +51 -37
- package/src/web/client/src/ResultsView.tsx +7 -7
- package/src/web/server.ts +3 -3
- package/dist/web/client/assets/index-207192fc.css +0 -1
package/dist/main.js
CHANGED
|
@@ -32,14 +32,14 @@ const path_1 = require("path");
|
|
|
32
32
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
33
33
|
const chalk_1 = __importDefault(require("chalk"));
|
|
34
34
|
const commander_1 = require("commander");
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
35
|
+
const logger_1 = __importStar(require("./logger"));
|
|
36
|
+
const providers_1 = require("./providers");
|
|
37
|
+
const evaluator_1 = require("./evaluator");
|
|
38
|
+
const util_1 = require("./util");
|
|
39
|
+
const esm_1 = require("./esm");
|
|
40
|
+
const server_1 = require("./web/server");
|
|
41
|
+
const cache_1 = require("./cache");
|
|
42
|
+
const onboarding_1 = require("./onboarding");
|
|
43
43
|
function createDummyFiles(directory) {
|
|
44
44
|
if (directory) {
|
|
45
45
|
// Make the directory if it doesn't exist
|
|
@@ -49,22 +49,22 @@ function createDummyFiles(directory) {
|
|
|
49
49
|
}
|
|
50
50
|
if (directory) {
|
|
51
51
|
if (!(0, fs_1.existsSync)(directory)) {
|
|
52
|
-
|
|
52
|
+
logger_1.default.info(`Creating directory ${directory} ...`);
|
|
53
53
|
(0, fs_1.mkdirSync)(directory);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
directory = '.';
|
|
58
58
|
}
|
|
59
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'prompts.txt'),
|
|
60
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'promptfooconfig.yaml'),
|
|
61
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'README.md'),
|
|
59
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'prompts.txt'), onboarding_1.DEFAULT_PROMPTS);
|
|
60
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'promptfooconfig.yaml'), onboarding_1.DEFAULT_YAML_CONFIG);
|
|
61
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'README.md'), onboarding_1.DEFAULT_README);
|
|
62
62
|
if (directory === '.') {
|
|
63
|
-
|
|
63
|
+
logger_1.default.info('Wrote prompts.txt and promptfooconfig.js. Open README.md to get started!');
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
logger_1.default.info(`Wrote prompts.txt and promptfooconfig.js to ./${directory}`);
|
|
67
|
+
logger_1.default.info(`\`cd ${directory}\` and open README.md to get started!`);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
async function main() {
|
|
@@ -76,7 +76,7 @@ async function main() {
|
|
|
76
76
|
];
|
|
77
77
|
let config = {};
|
|
78
78
|
for (const path of potentialPaths) {
|
|
79
|
-
const maybeConfig = (0,
|
|
79
|
+
const maybeConfig = (0, util_1.maybeReadConfig)(path);
|
|
80
80
|
if (maybeConfig) {
|
|
81
81
|
config = maybeConfig;
|
|
82
82
|
break;
|
|
@@ -90,7 +90,7 @@ async function main() {
|
|
|
90
90
|
}
|
|
91
91
|
const program = new commander_1.Command();
|
|
92
92
|
program.option('--version', 'Print version', () => {
|
|
93
|
-
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)((0,
|
|
93
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)((0, esm_1.getDirectory)(), '../package.json'), 'utf8'));
|
|
94
94
|
console.log(packageJson.version);
|
|
95
95
|
process.exit(0);
|
|
96
96
|
});
|
|
@@ -105,7 +105,7 @@ async function main() {
|
|
|
105
105
|
.description('Start browser ui')
|
|
106
106
|
.option('-p, --port <number>', 'Port number', '15500')
|
|
107
107
|
.action((cmdObj) => {
|
|
108
|
-
(0,
|
|
108
|
+
(0, server_1.init)(cmdObj.port);
|
|
109
109
|
});
|
|
110
110
|
program
|
|
111
111
|
.command('eval')
|
|
@@ -133,39 +133,40 @@ async function main() {
|
|
|
133
133
|
.action(async (cmdObj) => {
|
|
134
134
|
// Misc settings
|
|
135
135
|
if (cmdObj.verbose) {
|
|
136
|
-
(0,
|
|
136
|
+
(0, logger_1.setLogLevel)('debug');
|
|
137
137
|
}
|
|
138
138
|
if (!cmdObj.cache) {
|
|
139
|
-
(0,
|
|
139
|
+
(0, cache_1.disableCache)();
|
|
140
140
|
}
|
|
141
141
|
// Config parsing
|
|
142
142
|
const maxConcurrency = parseInt(cmdObj.maxConcurrency || '', 10);
|
|
143
143
|
const configPath = cmdObj.config;
|
|
144
144
|
if (configPath) {
|
|
145
|
-
config = (0,
|
|
145
|
+
config = (0, util_1.readConfig)(configPath);
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
148
|
config = {
|
|
149
149
|
prompts: cmdObj.prompts || config.prompts,
|
|
150
150
|
providers: cmdObj.providers || config.providers,
|
|
151
151
|
tests: cmdObj.tests || cmdObj.vars || config.tests,
|
|
152
|
+
defaultTest: config.defaultTest,
|
|
152
153
|
};
|
|
153
154
|
}
|
|
154
155
|
// Validation
|
|
155
156
|
if (!config.prompts || config.prompts.length === 0) {
|
|
156
|
-
|
|
157
|
+
logger_1.default.error(chalk_1.default.red('You must provide at least 1 prompt file'));
|
|
157
158
|
process.exit(1);
|
|
158
159
|
}
|
|
159
160
|
if (!config.providers || config.providers.length === 0) {
|
|
160
|
-
|
|
161
|
+
logger_1.default.error(chalk_1.default.red('You must specify at least 1 provider (for example, openai:gpt-3.5-turbo)'));
|
|
161
162
|
process.exit(1);
|
|
162
163
|
}
|
|
163
164
|
// Parse prompts, providers, and tests
|
|
164
|
-
const parsedPrompts = (0,
|
|
165
|
-
const parsedProviders = await (0,
|
|
166
|
-
const parsedTests = await (0,
|
|
165
|
+
const parsedPrompts = (0, util_1.readPrompts)(config.prompts);
|
|
166
|
+
const parsedProviders = await (0, providers_1.loadApiProviders)(config.providers);
|
|
167
|
+
const parsedTests = await (0, util_1.readTests)(config.tests);
|
|
167
168
|
if (parsedPrompts.length === 0) {
|
|
168
|
-
|
|
169
|
+
logger_1.default.error(chalk_1.default.red('No prompts found'));
|
|
169
170
|
process.exit(1);
|
|
170
171
|
}
|
|
171
172
|
const defaultTest = {
|
|
@@ -191,15 +192,15 @@ async function main() {
|
|
|
191
192
|
};
|
|
192
193
|
if (cmdObj.grader && testSuite.defaultTest) {
|
|
193
194
|
testSuite.defaultTest.options = testSuite.defaultTest.options || {};
|
|
194
|
-
testSuite.defaultTest.options.provider = await (0,
|
|
195
|
+
testSuite.defaultTest.options.provider = await (0, providers_1.loadApiProvider)(cmdObj.grader);
|
|
195
196
|
}
|
|
196
197
|
if (cmdObj.generateSuggestions) {
|
|
197
198
|
options.generateSuggestions = true;
|
|
198
199
|
}
|
|
199
|
-
const summary = await (0,
|
|
200
|
+
const summary = await (0, evaluator_1.evaluate)(testSuite, options);
|
|
200
201
|
if (cmdObj.output) {
|
|
201
|
-
|
|
202
|
-
(0,
|
|
202
|
+
logger_1.default.info(chalk_1.default.yellow(`Writing output to ${cmdObj.output}`));
|
|
203
|
+
(0, util_1.writeOutput)(cmdObj.output, summary);
|
|
203
204
|
}
|
|
204
205
|
else {
|
|
205
206
|
// Output table by default
|
|
@@ -239,21 +240,21 @@ async function main() {
|
|
|
239
240
|
...row.vars,
|
|
240
241
|
]);
|
|
241
242
|
}
|
|
242
|
-
|
|
243
|
+
logger_1.default.info('\n' + table.toString());
|
|
243
244
|
}
|
|
244
245
|
if (cmdObj.view || !cmdObj.write) {
|
|
245
|
-
|
|
246
|
+
logger_1.default.info('Evaluation complete');
|
|
246
247
|
}
|
|
247
248
|
else {
|
|
248
|
-
(0,
|
|
249
|
-
|
|
249
|
+
(0, util_1.writeLatestResults)(summary);
|
|
250
|
+
logger_1.default.info(`Evaluation complete. To use web viewer, run ${chalk_1.default.green('promptfoo view')}`);
|
|
250
251
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
252
|
+
logger_1.default.info(chalk_1.default.green.bold(`Successes: ${summary.stats.successes}`));
|
|
253
|
+
logger_1.default.info(chalk_1.default.red.bold(`Failures: ${summary.stats.failures}`));
|
|
254
|
+
logger_1.default.info(`Token usage: Total ${summary.stats.tokenUsage.total}, Prompt ${summary.stats.tokenUsage.prompt}, Completion ${summary.stats.tokenUsage.completion}, Cached ${summary.stats.tokenUsage.cached}`);
|
|
255
|
+
logger_1.default.info('Done.');
|
|
255
256
|
if (cmdObj.view) {
|
|
256
|
-
(0,
|
|
257
|
+
(0, server_1.init)(parseInt(cmdObj.view, 10) || 15500);
|
|
257
258
|
}
|
|
258
259
|
});
|
|
259
260
|
program.parse(process.argv);
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2BAAwE;AACxE,+BAAwC;AAExC,4DAA+B;AAC/B,kDAA0B;AAC1B,yCAAoC;AAEpC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LocalAiCompletionProvider = exports.LocalAiChatProvider = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
8
|
+
const cache_1 = require("../cache");
|
|
9
|
+
const shared_1 = require("./shared");
|
|
10
10
|
class LocalAiGenericProvider {
|
|
11
11
|
constructor(modelName) {
|
|
12
12
|
this.modelName = modelName;
|
|
@@ -30,23 +30,23 @@ class LocalAiChatProvider extends LocalAiGenericProvider {
|
|
|
30
30
|
prompt,
|
|
31
31
|
temperature: process.env.LOCALAI_TEMPERATURE || 0.7,
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
logger_1.default.debug(`Calling LocalAI API: ${JSON.stringify(body)}`);
|
|
34
34
|
let data, cached = false;
|
|
35
35
|
try {
|
|
36
|
-
({ data, cached } = (await (0,
|
|
36
|
+
({ data, cached } = (await (0, cache_1.fetchJsonWithCache)(`${this.apiBaseUrl}/chat/completions`, {
|
|
37
37
|
method: 'POST',
|
|
38
38
|
headers: {
|
|
39
39
|
'Content-Type': 'application/json',
|
|
40
40
|
},
|
|
41
41
|
body: JSON.stringify(body),
|
|
42
|
-
},
|
|
42
|
+
}, shared_1.REQUEST_TIMEOUT_MS)));
|
|
43
43
|
}
|
|
44
44
|
catch (err) {
|
|
45
45
|
return {
|
|
46
46
|
error: `API call error: ${String(err)}`,
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
logger_1.default.debug(` LocalAI API response: ${JSON.stringify(data)}`);
|
|
50
50
|
try {
|
|
51
51
|
return {
|
|
52
52
|
output: data.choices[0].text,
|
|
@@ -67,23 +67,23 @@ class LocalAiCompletionProvider extends LocalAiGenericProvider {
|
|
|
67
67
|
prompt,
|
|
68
68
|
temperature: process.env.LOCALAI_TEMPERATURE || 0.7,
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
logger_1.default.debug(`Calling LocalAI API: ${JSON.stringify(body)}`);
|
|
71
71
|
let data, cached = false;
|
|
72
72
|
try {
|
|
73
|
-
({ data, cached } = (await (0,
|
|
73
|
+
({ data, cached } = (await (0, cache_1.fetchJsonWithCache)(`${this.apiBaseUrl}/completions`, {
|
|
74
74
|
method: 'POST',
|
|
75
75
|
headers: {
|
|
76
76
|
'Content-Type': 'application/json',
|
|
77
77
|
},
|
|
78
78
|
body: JSON.stringify(body),
|
|
79
|
-
},
|
|
79
|
+
}, shared_1.REQUEST_TIMEOUT_MS)));
|
|
80
80
|
}
|
|
81
81
|
catch (err) {
|
|
82
82
|
return {
|
|
83
83
|
error: `API call error: ${String(err)}`,
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
|
|
86
|
+
logger_1.default.debug(` LocalAI API response: ${JSON.stringify(data)}`);
|
|
87
87
|
try {
|
|
88
88
|
return {
|
|
89
89
|
output: data.choices[0].text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localai.js","sourceRoot":"","sources":["../../src/providers/localai.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"localai.js","sourceRoot":"","sources":["../../src/providers/localai.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAC/B,oCAA8C;AAC9C,qCAA8C;AAI9C,MAAM,sBAAsB;IAI1B,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IAC/E,CAAC;IAED,EAAE;QACA,OAAO,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,QAAQ;QACN,OAAO,qBAAqB,IAAI,CAAC,SAAS,GAAG,CAAC;IAChD,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAa,mBAAoB,SAAQ,sBAAsB;IAC7D,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG;SACpD,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7D,IAAI,IAAI,EACN,MAAM,GAAG,KAAK,CAAC;QACjB,IAAI;YACF,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAA,0BAAkB,EAC3C,GAAG,IAAI,CAAC,UAAU,mBAAmB,EACrC;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,EACD,2BAAkB,CACnB,CAAmB,CAAC,CAAC;SACvB;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,KAAK,EAAE,mBAAmB,MAAM,CAAC,GAAG,CAAC,EAAE;aACxC,CAAC;SACH;QACD,gBAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI;YACF,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;aAC7B,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,KAAK,EAAE,uBAAuB,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aACrE,CAAC;SACH;IACH,CAAC;CACF;AAvCD,kDAuCC;AAED,MAAa,yBAA0B,SAAQ,sBAAsB;IACnE,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG;SACpD,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7D,IAAI,IAAI,EACN,MAAM,GAAG,KAAK,CAAC;QACjB,IAAI;YACF,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAA,0BAAkB,EAC3C,GAAG,IAAI,CAAC,UAAU,cAAc,EAChC;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,EACD,2BAAkB,CACnB,CAAmB,CAAC,CAAC;SACvB;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,KAAK,EAAE,mBAAmB,MAAM,CAAC,GAAG,CAAC,EAAE;aACxC,CAAC;SACH;QACD,gBAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI;YACF,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;aAC7B,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,KAAK,EAAE,uBAAuB,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aACrE,CAAC;SACH;IACH,CAAC;CACF;AAvCD,8DAuCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI5F,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,qBAAsB,YAAW,WAAW;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBAEJ,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQ9C,EAAE,IAAI,MAAM;IAIZ,QAAQ,IAAI,MAAM;IAKZ,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG5F;AAED,qBAAa,uBAAwB,SAAQ,qBAAqB;IAC1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA+DzE;AAED,qBAAa,wBAAyB,SAAQ,qBAAqB;IACjE,MAAM,CAAC,wBAAwB,WAM7B;gBAEU,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOxC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI5F,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,qBAAsB,YAAW,WAAW;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBAEJ,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQ9C,EAAE,IAAI,MAAM;IAIZ,QAAQ,IAAI,MAAM;IAKZ,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG5F;AAED,qBAAa,uBAAwB,SAAQ,qBAAqB;IAC1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA+DzE;AAED,qBAAa,wBAAyB,SAAQ,qBAAqB;IACjE,MAAM,CAAC,wBAAwB,WAM7B;gBAEU,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOxC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA6D5F;AAED,qBAAa,4BAA6B,SAAQ,qBAAqB;IACrE,MAAM,CAAC,kBAAkB,WAOvB;gBAEU,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQxC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA8D5F;AAED,eAAO,MAAM,wBAAwB,yBAAwD,CAAC;AAC9F,eAAO,MAAM,sBAAsB,8BAA4C,CAAC;AAChF,eAAO,MAAM,0BAA0B,8BAA4C,CAAC"}
|
package/dist/providers/openai.js
CHANGED
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DefaultSuggestionsProvider = exports.DefaultGradingProvider = exports.DefaultEmbeddingProvider = exports.OpenAiChatCompletionProvider = exports.OpenAiCompletionProvider = exports.OpenAiEmbeddingProvider = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
8
|
+
const cache_1 = require("../cache");
|
|
9
|
+
const shared_1 = require("./shared");
|
|
10
10
|
const DEFAULT_OPENAI_HOST = 'api.openai.com';
|
|
11
11
|
class OpenAiGenericProvider {
|
|
12
12
|
constructor(modelName, apiKey) {
|
|
@@ -36,14 +36,14 @@ class OpenAiEmbeddingProvider extends OpenAiGenericProvider {
|
|
|
36
36
|
};
|
|
37
37
|
let data, cached = false;
|
|
38
38
|
try {
|
|
39
|
-
({ data, cached } = (await (0,
|
|
39
|
+
({ data, cached } = (await (0, cache_1.fetchJsonWithCache)(`https://${this.apiHost}/v1/embeddings`, {
|
|
40
40
|
method: 'POST',
|
|
41
41
|
headers: {
|
|
42
42
|
'Content-Type': 'application/json',
|
|
43
43
|
Authorization: `Bearer ${this.apiKey}`,
|
|
44
44
|
},
|
|
45
45
|
body: JSON.stringify(body),
|
|
46
|
-
},
|
|
46
|
+
}, shared_1.REQUEST_TIMEOUT_MS)));
|
|
47
47
|
}
|
|
48
48
|
catch (err) {
|
|
49
49
|
return {
|
|
@@ -55,7 +55,7 @@ class OpenAiEmbeddingProvider extends OpenAiGenericProvider {
|
|
|
55
55
|
},
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
logger_1.default.debug(`\tOpenAI API response (embeddings): ${JSON.stringify(data)}`);
|
|
59
59
|
try {
|
|
60
60
|
const embedding = data?.data?.[0]?.embedding;
|
|
61
61
|
if (!embedding) {
|
|
@@ -89,7 +89,7 @@ exports.OpenAiEmbeddingProvider = OpenAiEmbeddingProvider;
|
|
|
89
89
|
class OpenAiCompletionProvider extends OpenAiGenericProvider {
|
|
90
90
|
constructor(modelName, apiKey) {
|
|
91
91
|
if (!OpenAiCompletionProvider.OPENAI_COMPLETION_MODELS.includes(modelName)) {
|
|
92
|
-
|
|
92
|
+
logger_1.default.warn(`Using unknown OpenAI completion model: ${modelName}`);
|
|
93
93
|
}
|
|
94
94
|
super(modelName, apiKey);
|
|
95
95
|
}
|
|
@@ -97,31 +97,40 @@ class OpenAiCompletionProvider extends OpenAiGenericProvider {
|
|
|
97
97
|
if (!this.apiKey) {
|
|
98
98
|
throw new Error('OpenAI API key is not set. Set OPENAI_API_KEY environment variable or pass it as an argument to the constructor.');
|
|
99
99
|
}
|
|
100
|
+
let stop;
|
|
101
|
+
try {
|
|
102
|
+
stop = process.env.OPENAI_STOP
|
|
103
|
+
? JSON.parse(process.env.OPENAI_STOP)
|
|
104
|
+
: ['<|im_end|>', '<|endoftext|>'];
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
throw new Error(`OPENAI_STOP is not a valid JSON string: ${err}`);
|
|
108
|
+
}
|
|
100
109
|
const body = {
|
|
101
110
|
model: this.modelName,
|
|
102
111
|
prompt,
|
|
103
|
-
max_tokens: process.env.OPENAI_MAX_TOKENS || 1024,
|
|
104
|
-
temperature: options?.temperature ?? (process.env.
|
|
105
|
-
stop
|
|
112
|
+
max_tokens: parseInt(process.env.OPENAI_MAX_TOKENS || '1024'),
|
|
113
|
+
temperature: options?.temperature ?? parseFloat(process.env.OPENAI_TEMPERATURE || '0'),
|
|
114
|
+
stop,
|
|
106
115
|
};
|
|
107
|
-
|
|
116
|
+
logger_1.default.debug(`Calling OpenAI API: ${JSON.stringify(body)}`);
|
|
108
117
|
let data, cached = false;
|
|
109
118
|
try {
|
|
110
|
-
({ data, cached } = (await (0,
|
|
119
|
+
({ data, cached } = (await (0, cache_1.fetchJsonWithCache)(`https://${this.apiHost}/v1/completions`, {
|
|
111
120
|
method: 'POST',
|
|
112
121
|
headers: {
|
|
113
122
|
'Content-Type': 'application/json',
|
|
114
123
|
Authorization: `Bearer ${this.apiKey}`,
|
|
115
124
|
},
|
|
116
125
|
body: JSON.stringify(body),
|
|
117
|
-
},
|
|
126
|
+
}, shared_1.REQUEST_TIMEOUT_MS)));
|
|
118
127
|
}
|
|
119
128
|
catch (err) {
|
|
120
129
|
return {
|
|
121
130
|
error: `API call error: ${String(err)}`,
|
|
122
131
|
};
|
|
123
132
|
}
|
|
124
|
-
|
|
133
|
+
logger_1.default.debug(`\tOpenAI API response: ${JSON.stringify(data)}`);
|
|
125
134
|
try {
|
|
126
135
|
return {
|
|
127
136
|
output: data.choices[0].text,
|
|
@@ -152,7 +161,7 @@ exports.OpenAiCompletionProvider = OpenAiCompletionProvider;
|
|
|
152
161
|
class OpenAiChatCompletionProvider extends OpenAiGenericProvider {
|
|
153
162
|
constructor(modelName, apiKey) {
|
|
154
163
|
if (!OpenAiChatCompletionProvider.OPENAI_CHAT_MODELS.includes(modelName)) {
|
|
155
|
-
|
|
164
|
+
logger_1.default.warn(`Using unknown OpenAI chat model: ${modelName}`);
|
|
156
165
|
}
|
|
157
166
|
super(modelName, apiKey);
|
|
158
167
|
}
|
|
@@ -173,27 +182,27 @@ class OpenAiChatCompletionProvider extends OpenAiGenericProvider {
|
|
|
173
182
|
const body = {
|
|
174
183
|
model: this.modelName,
|
|
175
184
|
messages: messages,
|
|
176
|
-
max_tokens: process.env.OPENAI_MAX_TOKENS || 1024,
|
|
177
|
-
temperature: options?.temperature ?? (process.env.
|
|
185
|
+
max_tokens: parseInt(process.env.OPENAI_MAX_TOKENS || '1024'),
|
|
186
|
+
temperature: options?.temperature ?? parseFloat(process.env.OPENAI_TEMPERATURE || '0'),
|
|
178
187
|
};
|
|
179
|
-
|
|
188
|
+
logger_1.default.debug(`Calling OpenAI API: ${JSON.stringify(body)}`);
|
|
180
189
|
let data, cached = false;
|
|
181
190
|
try {
|
|
182
|
-
({ data, cached } = (await (0,
|
|
191
|
+
({ data, cached } = (await (0, cache_1.fetchJsonWithCache)(`https://${this.apiHost}/v1/chat/completions`, {
|
|
183
192
|
method: 'POST',
|
|
184
193
|
headers: {
|
|
185
194
|
'Content-Type': 'application/json',
|
|
186
195
|
Authorization: `Bearer ${this.apiKey}`,
|
|
187
196
|
},
|
|
188
197
|
body: JSON.stringify(body),
|
|
189
|
-
},
|
|
198
|
+
}, shared_1.REQUEST_TIMEOUT_MS)));
|
|
190
199
|
}
|
|
191
200
|
catch (err) {
|
|
192
201
|
return {
|
|
193
202
|
error: `API call error: ${String(err)}`,
|
|
194
203
|
};
|
|
195
204
|
}
|
|
196
|
-
|
|
205
|
+
logger_1.default.debug(`\tOpenAI API response: ${JSON.stringify(data)}`);
|
|
197
206
|
try {
|
|
198
207
|
return {
|
|
199
208
|
output: data.choices[0].message.content,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ApiProvider } from './types
|
|
2
|
-
import { OpenAiCompletionProvider, OpenAiChatCompletionProvider } from './providers/openai
|
|
3
|
-
import { LocalAiCompletionProvider, LocalAiChatProvider } from './providers/localai
|
|
1
|
+
import { ApiProvider } from './types';
|
|
2
|
+
import { OpenAiCompletionProvider, OpenAiChatCompletionProvider } from './providers/openai';
|
|
3
|
+
import { LocalAiCompletionProvider, LocalAiChatProvider } from './providers/localai';
|
|
4
4
|
export declare function loadApiProviders(providerPaths: string | string[]): Promise<ApiProvider[]>;
|
|
5
5
|
export declare function loadApiProvider(providerPath: string): Promise<ApiProvider>;
|
|
6
6
|
declare const _default: {
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAErF,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAO/F;AAED,wBAAsB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuChF;;;;;;;;AAED,wBAME"}
|
package/dist/providers.js
CHANGED
|
@@ -28,8 +28,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.loadApiProvider = exports.loadApiProviders = void 0;
|
|
30
30
|
const node_path_1 = __importDefault(require("node:path"));
|
|
31
|
-
const
|
|
32
|
-
const
|
|
31
|
+
const openai_1 = require("./providers/openai");
|
|
32
|
+
const localai_1 = require("./providers/localai");
|
|
33
33
|
async function loadApiProviders(providerPaths) {
|
|
34
34
|
if (typeof providerPaths === 'string') {
|
|
35
35
|
return [await loadApiProvider(providerPaths)];
|
|
@@ -47,16 +47,16 @@ async function loadApiProvider(providerPath) {
|
|
|
47
47
|
const modelType = options[1];
|
|
48
48
|
const modelName = options[2];
|
|
49
49
|
if (modelType === 'chat') {
|
|
50
|
-
return new
|
|
50
|
+
return new openai_1.OpenAiChatCompletionProvider(modelName || 'gpt-3.5-turbo');
|
|
51
51
|
}
|
|
52
52
|
else if (modelType === 'completion') {
|
|
53
|
-
return new
|
|
53
|
+
return new openai_1.OpenAiCompletionProvider(modelName || 'text-davinci-003');
|
|
54
54
|
}
|
|
55
|
-
else if (
|
|
56
|
-
return new
|
|
55
|
+
else if (openai_1.OpenAiChatCompletionProvider.OPENAI_CHAT_MODELS.includes(modelType)) {
|
|
56
|
+
return new openai_1.OpenAiChatCompletionProvider(modelType);
|
|
57
57
|
}
|
|
58
|
-
else if (
|
|
59
|
-
return new
|
|
58
|
+
else if (openai_1.OpenAiCompletionProvider.OPENAI_COMPLETION_MODELS.includes(modelType)) {
|
|
59
|
+
return new openai_1.OpenAiCompletionProvider(modelType);
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
62
62
|
throw new Error(`Unknown OpenAI model type: ${modelType}. Use one of the following providers: openai:chat:<model name>, openai:completion:<model name>`);
|
|
@@ -67,13 +67,13 @@ async function loadApiProvider(providerPath) {
|
|
|
67
67
|
const modelType = options[1];
|
|
68
68
|
const modelName = options[2];
|
|
69
69
|
if (modelType === 'chat') {
|
|
70
|
-
return new
|
|
70
|
+
return new localai_1.LocalAiChatProvider(modelName);
|
|
71
71
|
}
|
|
72
72
|
else if (modelType === 'completion') {
|
|
73
|
-
return new
|
|
73
|
+
return new localai_1.LocalAiCompletionProvider(modelName);
|
|
74
74
|
}
|
|
75
75
|
else {
|
|
76
|
-
return new
|
|
76
|
+
return new localai_1.LocalAiChatProvider(modelType);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
// Load custom module
|
|
@@ -82,10 +82,10 @@ async function loadApiProvider(providerPath) {
|
|
|
82
82
|
}
|
|
83
83
|
exports.loadApiProvider = loadApiProvider;
|
|
84
84
|
exports.default = {
|
|
85
|
-
OpenAiCompletionProvider:
|
|
86
|
-
OpenAiChatCompletionProvider:
|
|
87
|
-
LocalAiCompletionProvider:
|
|
88
|
-
LocalAiChatProvider:
|
|
85
|
+
OpenAiCompletionProvider: openai_1.OpenAiCompletionProvider,
|
|
86
|
+
OpenAiChatCompletionProvider: openai_1.OpenAiChatCompletionProvider,
|
|
87
|
+
LocalAiCompletionProvider: localai_1.LocalAiCompletionProvider,
|
|
88
|
+
LocalAiChatProvider: localai_1.LocalAiChatProvider,
|
|
89
89
|
loadApiProvider,
|
|
90
90
|
};
|
|
91
91
|
//# sourceMappingURL=providers.js.map
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAI7B
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAI7B,+CAA4F;AAC5F,iDAAqF;AAE9E,KAAK,UAAU,gBAAgB,CAAC,aAAgC;IACrE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QACrC,OAAO,CAAC,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;KAC/C;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAChF;IACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC5C,CAAC;AAPD,4CAOC;AAEM,KAAK,UAAU,eAAe,CAAC,YAAoB;IACxD,IAAI,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;QACvC,qBAAqB;QACrB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,OAAO,IAAI,qCAA4B,CAAC,SAAS,IAAI,eAAe,CAAC,CAAC;SACvE;aAAM,IAAI,SAAS,KAAK,YAAY,EAAE;YACrC,OAAO,IAAI,iCAAwB,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;SACtE;aAAM,IAAI,qCAA4B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC9E,OAAO,IAAI,qCAA4B,CAAC,SAAS,CAAC,CAAC;SACpD;aAAM,IAAI,iCAAwB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAChF,OAAO,IAAI,iCAAwB,CAAC,SAAS,CAAC,CAAC;SAChD;aAAM;YACL,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,gGAAgG,CACxI,CAAC;SACH;KACF;IAED,IAAI,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,OAAO,IAAI,6BAAmB,CAAC,SAAS,CAAC,CAAC;SAC3C;aAAM,IAAI,SAAS,KAAK,YAAY,EAAE;YACrC,OAAO,IAAI,mCAAyB,CAAC,SAAS,CAAC,CAAC;SACjD;aAAM;YACL,OAAO,IAAI,6BAAmB,CAAC,SAAS,CAAC,CAAC;SAC3C;KACF;IAED,qBAAqB;IACrB,MAAM,iBAAiB,GAAG,CAAC,yBAAa,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,uCAAC,CAAC,CAAC,OAAO,CAAC;IACzF,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC;AAvCD,0CAuCC;AAED,kBAAe;IACb,wBAAwB,EAAxB,iCAAwB;IACxB,4BAA4B,EAA5B,qCAA4B;IAC5B,yBAAyB,EAAzB,mCAAyB;IACzB,mBAAmB,EAAnB,6BAAmB;IACnB,eAAe;CAChB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -108,7 +108,7 @@ export interface AtomicTestCase extends TestCase {
|
|
|
108
108
|
export interface TestSuite {
|
|
109
109
|
description?: string;
|
|
110
110
|
providers: ApiProvider[];
|
|
111
|
-
prompts:
|
|
111
|
+
prompts: Prompt[];
|
|
112
112
|
tests?: TestCase[];
|
|
113
113
|
defaultTest?: Partial<TestCase>;
|
|
114
114
|
}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { RequestInfo, RequestInit, Response } from 'node-fetch';
|
|
2
|
-
import type { CsvRow, EvaluateSummary, UnifiedConfig, TestCase } from './types
|
|
2
|
+
import type { CsvRow, EvaluateSummary, UnifiedConfig, TestCase, Prompt } from './types';
|
|
3
3
|
export declare function maybeReadConfig(configPath: string): UnifiedConfig | undefined;
|
|
4
4
|
export declare function readConfig(configPath: string): UnifiedConfig;
|
|
5
|
-
export declare function readPrompts(
|
|
5
|
+
export declare function readPrompts(promptPathOrGlobs: string | string[] | Record<string, string>): Prompt[];
|
|
6
6
|
export declare function fetchCsvFromGoogleSheet(url: string): Promise<string>;
|
|
7
7
|
export declare function readVars(varsPath: string): Promise<CsvRow[]>;
|
|
8
8
|
export declare function readTests(tests: string | TestCase[] | undefined): Promise<TestCase[]>;
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EAAa,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EAAa,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAanG,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAK7E;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAc5D;AAQD,wBAAgB,WAAW,CACzB,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5D,MAAM,EAAE,CA8CV;AAED,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1E;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBlE;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA6B3F;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CA2B9E;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,OAAO,yBAAkB,EACzB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAwBnB;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,QAQ1D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAQ9D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAexD"}
|