promptfoo 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +20 -248
  2. package/dist/__mocks__/esm.js +5 -1
  3. package/dist/__mocks__/esm.js.map +1 -1
  4. package/dist/assertions.d.ts +18 -0
  5. package/dist/assertions.d.ts.map +1 -0
  6. package/dist/assertions.js +128 -0
  7. package/dist/assertions.js.map +1 -0
  8. package/dist/esm.d.ts.map +1 -1
  9. package/dist/esm.js +10 -3
  10. package/dist/esm.js.map +1 -1
  11. package/dist/evaluator.d.ts.map +1 -1
  12. package/dist/evaluator.js +88 -117
  13. package/dist/evaluator.js.map +1 -1
  14. package/dist/index.d.ts +13 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +34 -5
  17. package/dist/index.js.map +1 -1
  18. package/dist/logger.js +18 -11
  19. package/dist/logger.js.map +1 -1
  20. package/dist/main.js +95 -53
  21. package/dist/main.js.map +1 -1
  22. package/dist/prompts.d.ts +4 -0
  23. package/dist/prompts.d.ts.map +1 -1
  24. package/dist/prompts.js +12 -1
  25. package/dist/prompts.js.map +1 -1
  26. package/dist/providers/localai.js +21 -13
  27. package/dist/providers/localai.js.map +1 -1
  28. package/dist/providers/openai.d.ts +10 -5
  29. package/dist/providers/openai.d.ts.map +1 -1
  30. package/dist/providers/openai.js +44 -32
  31. package/dist/providers/openai.js.map +1 -1
  32. package/dist/providers/shared.d.ts.map +1 -1
  33. package/dist/providers/shared.js +5 -2
  34. package/dist/providers/shared.js.map +1 -1
  35. package/dist/providers.d.ts +10 -0
  36. package/dist/providers.d.ts.map +1 -1
  37. package/dist/providers.js +51 -14
  38. package/dist/providers.js.map +1 -1
  39. package/dist/suggestions.d.ts +9 -0
  40. package/dist/suggestions.d.ts.map +1 -0
  41. package/dist/suggestions.js +54 -0
  42. package/dist/suggestions.js.map +1 -0
  43. package/dist/types.d.ts +11 -2
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +2 -1
  46. package/dist/util.d.ts +1 -1
  47. package/dist/util.d.ts.map +1 -1
  48. package/dist/util.js +86 -31
  49. package/dist/util.js.map +1 -1
  50. package/dist/web/client/assets/index-207192fc.css +1 -0
  51. package/dist/web/client/assets/index-8751749f.js +172 -0
  52. package/dist/web/client/index.html +2 -2
  53. package/dist/web/server.js +38 -31
  54. package/dist/web/server.js.map +1 -1
  55. package/package.json +14 -4
  56. package/src/assertions.ts +154 -0
  57. package/src/esm.ts +5 -2
  58. package/src/evaluator.ts +61 -139
  59. package/src/index.ts +12 -0
  60. package/src/main.ts +28 -3
  61. package/src/prompts.ts +9 -0
  62. package/src/providers/openai.ts +28 -15
  63. package/src/providers/shared.ts +1 -1
  64. package/src/providers.ts +8 -0
  65. package/src/suggestions.ts +63 -0
  66. package/src/types.ts +14 -2
  67. package/src/util.ts +24 -3
  68. package/src/web/client/package.json +1 -0
  69. package/src/web/client/src/App.css +4 -0
  70. package/src/web/client/src/App.tsx +29 -5
  71. package/src/web/client/src/Logo.css +5 -0
  72. package/src/web/client/src/NavBar.css +18 -0
  73. package/src/web/client/src/NavBar.tsx +12 -1
  74. package/src/web/client/src/index.css +10 -0
  75. package/src/web/server.ts +2 -2
  76. package/dist/web/client/assets/index-710f1308.css +0 -1
  77. package/dist/web/client/assets/index-900b20c0.js +0 -172
package/dist/main.js CHANGED
@@ -1,20 +1,48 @@
1
1
  #!/usr/bin/env node
2
- import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
3
- import { parse, join as pathJoin } from 'path';
4
- import Table from 'cli-table3';
5
- import chalk from 'chalk';
6
- import { Command } from 'commander';
7
- import logger, { setLogLevel } from './logger.js';
8
- import { loadApiProvider } from './providers.js';
9
- import { evaluate } from './evaluator.js';
10
- import { readPrompts, readVars, writeLatestResults, writeOutput } from './util.js';
11
- import { getDirectory } from './esm.js';
12
- import { init } from './web/server.js';
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const fs_1 = require("fs");
31
+ const path_1 = require("path");
32
+ const cli_table3_1 = __importDefault(require("cli-table3"));
33
+ const chalk_1 = __importDefault(require("chalk"));
34
+ const commander_1 = require("commander");
35
+ const logger_js_1 = __importStar(require("./logger.js"));
36
+ const providers_js_1 = require("./providers.js");
37
+ const evaluator_js_1 = require("./evaluator.js");
38
+ const util_js_1 = require("./util.js");
39
+ const esm_js_1 = require("./esm.js");
40
+ const server_js_1 = require("./web/server.js");
13
41
  function createDummyFiles(directory) {
14
42
  if (directory) {
15
43
  // Make the directory if it doesn't exist
16
- if (!existsSync(directory)) {
17
- mkdirSync(directory);
44
+ if (!(0, fs_1.existsSync)(directory)) {
45
+ (0, fs_1.mkdirSync)(directory);
18
46
  }
19
47
  }
20
48
  const dummyPrompts = `Your first prompt goes here
@@ -28,7 +56,7 @@ These prompts are nunjucks templates, so you can use logic like this:
28
56
  {{ var1 }}
29
57
  {% endif %}`;
30
58
  const dummyVars = 'var1,var2,var3\nvalue1,value2,value3\nanother value1,another value2,another value3';
31
- const dummyConfig = `export default {
59
+ const dummyConfig = `module.exports = {
32
60
  prompts: ['prompts.txt'],
33
61
  providers: ['openai:gpt-3.5-turbo'],
34
62
  vars: 'vars.csv',
@@ -42,36 +70,40 @@ promptfoo eval
42
70
  You'll probably want to change a few of the prompts in prompts.txt and the variables in vars.csv before letting it rip.
43
71
  `;
44
72
  if (directory) {
45
- if (!existsSync(directory)) {
46
- logger.info(`Creating directory ${directory} ...`);
47
- mkdirSync(directory);
73
+ if (!(0, fs_1.existsSync)(directory)) {
74
+ logger_js_1.default.info(`Creating directory ${directory} ...`);
75
+ (0, fs_1.mkdirSync)(directory);
48
76
  }
49
77
  }
50
78
  else {
51
79
  directory = '.';
52
80
  }
53
- writeFileSync(pathJoin(process.cwd(), directory, 'prompts.txt'), dummyPrompts);
54
- writeFileSync(pathJoin(process.cwd(), directory, 'vars.csv'), dummyVars);
55
- writeFileSync(pathJoin(process.cwd(), directory, 'promptfooconfig.js'), dummyConfig);
56
- writeFileSync(pathJoin(process.cwd(), directory, 'README.md'), readme);
81
+ (0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'prompts.txt'), dummyPrompts);
82
+ (0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'vars.csv'), dummyVars);
83
+ (0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'promptfooconfig.js'), dummyConfig);
84
+ (0, fs_1.writeFileSync)((0, path_1.join)(process.cwd(), directory, 'README.md'), readme);
57
85
  if (directory === '.') {
58
- logger.info('Wrote prompts.txt, vars.csv, and promptfooconfig.js. Open README.md to get started!');
86
+ logger_js_1.default.info('Wrote prompts.txt, vars.csv, and promptfooconfig.js. Open README.md to get started!');
59
87
  }
60
88
  else {
61
- logger.info(`Wrote prompts.txt, vars.csv, and promptfooconfig.js to ${directory}`);
62
- logger.info(`\`cd ${directory}\` and open README.md to get started!`);
89
+ logger_js_1.default.info(`Wrote prompts.txt, vars.csv, and promptfooconfig.js to ${directory}`);
90
+ logger_js_1.default.info(`\`cd ${directory}\` and open README.md to get started!`);
63
91
  }
64
92
  }
65
93
  async function main() {
66
94
  let defaultConfig = {};
67
- if (existsSync('promptfooconfig.js')) {
95
+ if ((0, fs_1.existsSync)('promptfooconfig.js')) {
68
96
  // @ts-ignore
69
- defaultConfig = (await import(pathJoin(process.cwd(), './promptfooconfig.js'))).default;
70
- logger.info('Loaded default config from promptfooconfig.js');
97
+ defaultConfig = (await Promise.resolve(`${(0, path_1.join)(process.cwd(), './promptfooconfig.js')}`).then(s => __importStar(require(s)))).default;
98
+ logger_js_1.default.info('Loaded default config from promptfooconfig.js');
99
+ }
100
+ if ((0, fs_1.existsSync)('promptfooconfig.json')) {
101
+ defaultConfig = JSON.parse((0, fs_1.readFileSync)('promptfooconfig.json', 'utf-8'));
102
+ logger_js_1.default.info('Loaded default config from promptfooconfig.json');
71
103
  }
72
- const program = new Command();
104
+ const program = new commander_1.Command();
73
105
  program.option('--version', 'Print version', () => {
74
- const packageJson = JSON.parse(readFileSync(pathJoin(getDirectory(), '../package.json'), 'utf8'));
106
+ const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)((0, esm_js_1.getDirectory)(), '../package.json'), 'utf8'));
75
107
  console.log(packageJson.version);
76
108
  process.exit(0);
77
109
  });
@@ -86,7 +118,7 @@ async function main() {
86
118
  .description('Start browser ui')
87
119
  .option('-p, --port <number>', 'Port number', '15500')
88
120
  .action((cmdObj) => {
89
- init(cmdObj.port);
121
+ (0, server_js_1.init)(cmdObj.port);
90
122
  });
91
123
  program
92
124
  .command('eval')
@@ -98,21 +130,24 @@ async function main() {
98
130
  .option('-c, --config <path>', 'Path to configuration file. Automatically loads promptfooconfig.js', defaultConfig.config)
99
131
  .option('-j, --max-concurrency <number>', 'Maximum number of concurrent API calls', String(defaultConfig.maxConcurrency))
100
132
  .option('--table-cell-max-length <number>', 'Truncate console table cells to this length', '250')
133
+ .option('--suggest-prompts <number>', 'Generate N new prompts and append them to the prompt list')
134
+ .option('--prompt-prefix <path>', 'This prefix is prepended to every prompt', defaultConfig.promptPrefix)
135
+ .option('--prompt-suffix <path>', 'This suffix is append to every prompt', defaultConfig.promptSuffix)
101
136
  .option('--no-write', 'Do not write results to promptfoo directory')
102
137
  .option('--grader', 'Model that will grade outputs', defaultConfig.grader)
103
138
  .option('--verbose', 'Show debug logs', defaultConfig.verbose)
104
- .option('--view', 'View in browser ui')
139
+ .option('--view [port]', 'View in browser ui')
105
140
  .action(async (cmdObj) => {
106
141
  if (cmdObj.verbose) {
107
- setLogLevel('debug');
142
+ (0, logger_js_1.setLogLevel)('debug');
108
143
  }
109
144
  const configPath = cmdObj.config;
110
145
  let config = {};
111
146
  if (configPath) {
112
- const ext = parse(configPath).ext;
147
+ const ext = (0, path_1.parse)(configPath).ext;
113
148
  switch (ext) {
114
149
  case '.json':
115
- const content = readFileSync(configPath, 'utf-8');
150
+ const content = (0, fs_1.readFileSync)(configPath, 'utf-8');
116
151
  config = JSON.parse(content);
117
152
  break;
118
153
  case '.js':
@@ -124,34 +159,41 @@ async function main() {
124
159
  }
125
160
  let vars = [];
126
161
  if (cmdObj.vars) {
127
- vars = readVars(cmdObj.vars);
162
+ vars = (0, util_js_1.readVars)(cmdObj.vars);
128
163
  }
129
- const providers = await Promise.all(cmdObj.providers.map(async (p) => await loadApiProvider(p)));
164
+ const providers = await Promise.all(cmdObj.providers.map(async (p) => await (0, providers_js_1.loadApiProvider)(p)));
130
165
  const maxConcurrency = parseInt(cmdObj.maxConcurrency || '', 10);
131
166
  const options = {
132
- prompts: readPrompts(cmdObj.prompts),
167
+ prompts: (0, util_js_1.readPrompts)(cmdObj.prompts),
133
168
  vars,
134
169
  providers,
135
170
  showProgressBar: true,
136
171
  maxConcurrency: !isNaN(maxConcurrency) && maxConcurrency > 0 ? maxConcurrency : undefined,
172
+ prompt: {
173
+ prefix: cmdObj.promptPrefix,
174
+ suffix: cmdObj.promptSuffix,
175
+ },
137
176
  ...config,
138
177
  };
139
178
  if (cmdObj.grader) {
140
179
  options.grading = {
141
- provider: await loadApiProvider(cmdObj.grader),
180
+ provider: await (0, providers_js_1.loadApiProvider)(cmdObj.grader),
142
181
  };
143
182
  }
144
- const summary = await evaluate(options);
183
+ if (cmdObj.generateSuggestions) {
184
+ options.prompt.generateSuggestions = true;
185
+ }
186
+ const summary = await (0, evaluator_js_1.evaluate)(options);
145
187
  if (cmdObj.output) {
146
- logger.info(chalk.yellow(`Writing output to ${cmdObj.output}`));
147
- writeOutput(cmdObj.output, summary);
188
+ logger_js_1.default.info(chalk_1.default.yellow(`Writing output to ${cmdObj.output}`));
189
+ (0, util_js_1.writeOutput)(cmdObj.output, summary);
148
190
  }
149
191
  else {
150
192
  // Output table by default
151
193
  const maxWidth = process.stdout.columns ? process.stdout.columns - 10 : 120;
152
194
  const head = summary.table.head;
153
195
  const headLength = head.prompts.length + head.vars.length;
154
- const table = new Table({
196
+ const table = new cli_table3_1.default({
155
197
  head: [...head.prompts, ...head.vars],
156
198
  colWidths: Array(headLength).fill(Math.floor(maxWidth / headLength)),
157
199
  wordWrap: true,
@@ -170,13 +212,13 @@ async function main() {
170
212
  }
171
213
  if (col.startsWith('[PASS]')) {
172
214
  // color '[PASS]' green
173
- return chalk.green.bold(col.slice(0, 6)) + col.slice(6);
215
+ return chalk_1.default.green.bold(col.slice(0, 6)) + col.slice(6);
174
216
  }
175
217
  else if (col.startsWith('[FAIL]')) {
176
218
  // color everything red up until '---'
177
219
  return col
178
220
  .split('---')
179
- .map((c, idx) => (idx === 0 ? chalk.red.bold(c) : c))
221
+ .map((c, idx) => (idx === 0 ? chalk_1.default.red.bold(c) : c))
180
222
  .join('---');
181
223
  }
182
224
  return col;
@@ -184,21 +226,21 @@ async function main() {
184
226
  ...row.vars,
185
227
  ]);
186
228
  }
187
- logger.info('\n' + table.toString());
229
+ logger_js_1.default.info('\n' + table.toString());
188
230
  }
189
231
  if (cmdObj.noWrite || cmdObj.view) {
190
- logger.info('Evaluation complete');
232
+ logger_js_1.default.info('Evaluation complete');
191
233
  }
192
234
  else {
193
- writeLatestResults(summary);
194
- logger.info(`Evaluation complete. To use web viewer, run ${chalk.green('promptfoo view')}`);
235
+ (0, util_js_1.writeLatestResults)(summary);
236
+ logger_js_1.default.info(`Evaluation complete. To use web viewer, run ${chalk_1.default.green('promptfoo view')}`);
195
237
  }
196
- logger.info(chalk.green.bold(`Successes: ${summary.stats.successes}`));
197
- logger.info(chalk.red.bold(`Failures: ${summary.stats.failures}`));
198
- logger.info(`Token usage: Total ${summary.stats.tokenUsage.total} Prompt ${summary.stats.tokenUsage.prompt} Completion ${summary.stats.tokenUsage.completion}`);
199
- logger.info('Done.');
238
+ logger_js_1.default.info(chalk_1.default.green.bold(`Successes: ${summary.stats.successes}`));
239
+ logger_js_1.default.info(chalk_1.default.red.bold(`Failures: ${summary.stats.failures}`));
240
+ logger_js_1.default.info(`Token usage: Total ${summary.stats.tokenUsage.total} Prompt ${summary.stats.tokenUsage.prompt} Completion ${summary.stats.tokenUsage.completion}`);
241
+ logger_js_1.default.info('Done.');
200
242
  if (cmdObj.view) {
201
- init(15500);
243
+ (0, server_js_1.init)(parseInt(cmdObj.view, 10) || 15500);
202
244
  }
203
245
  });
204
246
  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":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -1,2 +1,6 @@
1
1
  export declare const DEFAULT_GRADING_PROMPT: string;
2
+ export declare const SUGGEST_PROMPTS_SYSTEM_MESSAGE: {
3
+ role: string;
4
+ content: string;
5
+ };
2
6
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,QAmBjC,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,QAmBjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;CAO1C,CAAC"}
package/dist/prompts.js CHANGED
@@ -1,4 +1,7 @@
1
- export const DEFAULT_GRADING_PROMPT = JSON.stringify([
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUGGEST_PROMPTS_SYSTEM_MESSAGE = exports.DEFAULT_GRADING_PROMPT = void 0;
4
+ exports.DEFAULT_GRADING_PROMPT = JSON.stringify([
2
5
  {
3
6
  role: 'system',
4
7
  content: `You are grading content according to a user-specified rubric. If the statement in the rubric is true, then the content passes the test. You respond with a JSON object with this structure: {pass: boolean; reason: string;}.
@@ -18,4 +21,12 @@ Rubric: Does not speak like a pirate
18
21
  content: 'Content: {{ content }}\nRubric: {{ rubric }}',
19
22
  },
20
23
  ]);
24
+ exports.SUGGEST_PROMPTS_SYSTEM_MESSAGE = {
25
+ role: 'system',
26
+ content: `You're helping a scientist who is tuning a prompt for a large language model. You will receive messages, and each message is a full prompt. Generate a candidate variation of the given prompt. This variation will be tested for quality in order to select a winner.
27
+
28
+ Substantially revise the prompt, revising its structure and content however necessary to make it perform better, while preserving the original intent and including important details.
29
+
30
+ Your output is going to be copied directly into the program. It should contain the prompt ONLY`,
31
+ };
21
32
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;IACnD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;;;;;;;;;;gEAUmD;KAC7D;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,8CAA8C;KACxD;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;IACnD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;;;;;;;;;;gEAUmD;KAC7D;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,8CAA8C;KACxD;CACF,CAAC,CAAC;AAEU,QAAA,8BAA8B,GAAG;IAC5C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;;;;+FAIoF;CAC9F,CAAC"}
@@ -1,6 +1,12 @@
1
- import logger from '../logger.js';
2
- import { fetchWithTimeout } from '../util.js';
3
- import { REQUEST_TIMEOUT_MS } from './shared.js';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LocalAiCompletionProvider = exports.LocalAiChatProvider = void 0;
7
+ const logger_js_1 = __importDefault(require("../logger.js"));
8
+ const util_js_1 = require("../util.js");
9
+ const shared_js_1 = require("./shared.js");
4
10
  class LocalAiGenericProvider {
5
11
  constructor(modelName) {
6
12
  this.modelName = modelName;
@@ -17,23 +23,23 @@ class LocalAiGenericProvider {
17
23
  throw new Error('Not implemented');
18
24
  }
19
25
  }
20
- export class LocalAiChatProvider extends LocalAiGenericProvider {
26
+ class LocalAiChatProvider extends LocalAiGenericProvider {
21
27
  async callApi(prompt) {
22
28
  const body = {
23
29
  model: this.modelName,
24
30
  prompt,
25
31
  temperature: process.env.LOCALAI_TEMPERATURE || 0.7,
26
32
  };
27
- logger.debug(`Calling LocalAI API: ${JSON.stringify(body)}`);
33
+ logger_js_1.default.debug(`Calling LocalAI API: ${JSON.stringify(body)}`);
28
34
  let response, data;
29
35
  try {
30
- response = await fetchWithTimeout(`${this.apiBaseUrl}/chat/completions`, {
36
+ response = await (0, util_js_1.fetchWithTimeout)(`${this.apiBaseUrl}/chat/completions`, {
31
37
  method: 'POST',
32
38
  headers: {
33
39
  'Content-Type': 'application/json',
34
40
  },
35
41
  body: JSON.stringify(body),
36
- }, REQUEST_TIMEOUT_MS);
42
+ }, shared_js_1.REQUEST_TIMEOUT_MS);
37
43
  data = (await response.json());
38
44
  }
39
45
  catch (err) {
@@ -41,7 +47,7 @@ export class LocalAiChatProvider extends LocalAiGenericProvider {
41
47
  error: `API call error: ${String(err)}`,
42
48
  };
43
49
  }
44
- logger.debug(` LocalAI API response: ${JSON.stringify(data)}`);
50
+ logger_js_1.default.debug(` LocalAI API response: ${JSON.stringify(data)}`);
45
51
  try {
46
52
  return {
47
53
  output: data.choices[0].text,
@@ -54,23 +60,24 @@ export class LocalAiChatProvider extends LocalAiGenericProvider {
54
60
  }
55
61
  }
56
62
  }
57
- export class LocalAiCompletionProvider extends LocalAiGenericProvider {
63
+ exports.LocalAiChatProvider = LocalAiChatProvider;
64
+ class LocalAiCompletionProvider extends LocalAiGenericProvider {
58
65
  async callApi(prompt) {
59
66
  const body = {
60
67
  model: this.modelName,
61
68
  prompt,
62
69
  temperature: process.env.LOCALAI_TEMPERATURE || 0.7,
63
70
  };
64
- logger.debug(`Calling LocalAI API: ${JSON.stringify(body)}`);
71
+ logger_js_1.default.debug(`Calling LocalAI API: ${JSON.stringify(body)}`);
65
72
  let response, data;
66
73
  try {
67
- response = await fetchWithTimeout(`${this.apiBaseUrl}/completions`, {
74
+ response = await (0, util_js_1.fetchWithTimeout)(`${this.apiBaseUrl}/completions`, {
68
75
  method: 'POST',
69
76
  headers: {
70
77
  'Content-Type': 'application/json',
71
78
  },
72
79
  body: JSON.stringify(body),
73
- }, REQUEST_TIMEOUT_MS);
80
+ }, shared_js_1.REQUEST_TIMEOUT_MS);
74
81
  data = (await response.json());
75
82
  }
76
83
  catch (err) {
@@ -78,7 +85,7 @@ export class LocalAiCompletionProvider extends LocalAiGenericProvider {
78
85
  error: `API call error: ${String(err)}`,
79
86
  };
80
87
  }
81
- logger.debug(` LocalAI API response: ${JSON.stringify(data)}`);
88
+ logger_js_1.default.debug(` LocalAI API response: ${JSON.stringify(data)}`);
82
89
  try {
83
90
  return {
84
91
  output: data.choices[0].text,
@@ -91,4 +98,5 @@ export class LocalAiCompletionProvider extends LocalAiGenericProvider {
91
98
  }
92
99
  }
93
100
  }
101
+ exports.LocalAiCompletionProvider = LocalAiCompletionProvider;
94
102
  //# sourceMappingURL=localai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localai.js","sourceRoot":"","sources":["../../src/providers/localai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localai.js","sourceRoot":"","sources":["../../src/providers/localai.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,31 @@
1
1
  import type { ApiProvider, ProviderEmbeddingResponse, ProviderResponse } from '../types.js';
2
+ interface OpenAiCompletionOptions {
3
+ temperature: number;
4
+ }
2
5
  declare class OpenAiGenericProvider implements ApiProvider {
3
6
  modelName: string;
4
- apiKey: string;
7
+ apiKey?: string;
5
8
  apiHost: string;
6
9
  constructor(modelName: string, apiKey?: string);
7
10
  id(): string;
8
11
  toString(): string;
9
- callApi(prompt: string): Promise<ProviderResponse>;
12
+ callApi(prompt: string, options?: OpenAiCompletionOptions): Promise<ProviderResponse>;
10
13
  }
11
14
  export declare class OpenAiEmbeddingProvider extends OpenAiGenericProvider {
12
15
  callEmbeddingApi(text: string): Promise<ProviderEmbeddingResponse>;
13
16
  }
14
- export declare const DefaultEmbeddingProvider: OpenAiEmbeddingProvider;
15
17
  export declare class OpenAiCompletionProvider extends OpenAiGenericProvider {
16
18
  static OPENAI_COMPLETION_MODELS: string[];
17
19
  constructor(modelName: string, apiKey?: string);
18
- callApi(prompt: string): Promise<ProviderResponse>;
20
+ callApi(prompt: string, options?: OpenAiCompletionOptions): Promise<ProviderResponse>;
19
21
  }
20
22
  export declare class OpenAiChatCompletionProvider extends OpenAiGenericProvider {
21
23
  static OPENAI_CHAT_MODELS: string[];
22
24
  constructor(modelName: string, apiKey?: string);
23
- callApi(prompt: string): Promise<ProviderResponse>;
25
+ callApi(prompt: string, options?: OpenAiCompletionOptions): Promise<ProviderResponse>;
24
26
  }
27
+ export declare const DefaultEmbeddingProvider: OpenAiEmbeddingProvider;
28
+ export declare const DefaultGradingProvider: OpenAiChatCompletionProvider;
29
+ export declare const DefaultSuggestionsProvider: OpenAiChatCompletionProvider;
25
30
  export {};
26
31
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ5F,cAAM,qBAAsB,YAAW,WAAW;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;gBAEJ,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAc9C,EAAE,IAAI,MAAM;IAIZ,QAAQ,IAAI,MAAM;IAKZ,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAGzD;AAED,qBAAa,uBAAwB,SAAQ,qBAAqB;IAC1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoEzE;AAED,eAAO,MAAM,wBAAwB,yBAAwD,CAAC;AAE9F,qBAAa,wBAAyB,SAAQ,qBAAqB;IACjE,MAAM,CAAC,wBAAwB,WAM7B;gBAEU,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOxC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA8CzD;AAED,qBAAa,4BAA6B,SAAQ,qBAAqB;IACrE,MAAM,CAAC,kBAAkB,WAOvB;gBAEU,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOxC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsDzD"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ5F,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;CAoEzE;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;CAoD5F;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;CA4D5F;AAED,eAAO,MAAM,wBAAwB,yBAAwD,CAAC;AAC9F,eAAO,MAAM,sBAAsB,8BAA4C,CAAC;AAChF,eAAO,MAAM,0BAA0B,8BAA4C,CAAC"}