promptfoo 0.71.1 → 0.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/LICENSE +1 -1
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/generate/redteam.d.ts +43 -13
  4. package/dist/src/commands/generate/redteam.d.ts.map +1 -1
  5. package/dist/src/commands/generate/redteam.js +63 -22
  6. package/dist/src/commands/generate/redteam.js.map +1 -1
  7. package/dist/src/commands/redteam.d.ts +0 -7
  8. package/dist/src/commands/redteam.d.ts.map +1 -1
  9. package/dist/src/commands/redteam.js +72 -89
  10. package/dist/src/commands/redteam.js.map +1 -1
  11. package/dist/src/commands/share.d.ts.map +1 -1
  12. package/dist/src/commands/share.js +4 -1
  13. package/dist/src/commands/share.js.map +1 -1
  14. package/dist/src/constants.d.ts +1 -0
  15. package/dist/src/constants.d.ts.map +1 -1
  16. package/dist/src/constants.js +6 -1
  17. package/dist/src/constants.js.map +1 -1
  18. package/dist/src/database.d.ts +1129 -3
  19. package/dist/src/database.d.ts.map +1 -1
  20. package/dist/src/onboarding.d.ts.map +1 -1
  21. package/dist/src/onboarding.js +23 -36
  22. package/dist/src/onboarding.js.map +1 -1
  23. package/dist/src/providers/bedrock.js +1 -1
  24. package/dist/src/providers/bedrock.js.map +1 -1
  25. package/dist/src/providers/manualInput.d.ts +15 -0
  26. package/dist/src/providers/manualInput.d.ts.map +1 -0
  27. package/dist/src/providers/manualInput.js +33 -0
  28. package/dist/src/providers/manualInput.js.map +1 -0
  29. package/dist/src/providers/mistral.d.ts.map +1 -1
  30. package/dist/src/providers/mistral.js +7 -0
  31. package/dist/src/providers/mistral.js.map +1 -1
  32. package/dist/src/providers.d.ts.map +1 -1
  33. package/dist/src/providers.js +12 -9
  34. package/dist/src/providers.js.map +1 -1
  35. package/dist/src/redteam/constants.d.ts +2 -2
  36. package/dist/src/redteam/constants.d.ts.map +1 -1
  37. package/dist/src/redteam/constants.js +1 -1
  38. package/dist/src/redteam/constants.js.map +1 -1
  39. package/dist/src/redteam/index.d.ts +2 -6
  40. package/dist/src/redteam/index.d.ts.map +1 -1
  41. package/dist/src/redteam/index.js +7 -16
  42. package/dist/src/redteam/index.js.map +1 -1
  43. package/dist/src/redteam/methods/injections.d.ts.map +1 -1
  44. package/dist/src/redteam/methods/injections.js +10 -0
  45. package/dist/src/redteam/methods/injections.js.map +1 -1
  46. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  47. package/dist/src/redteam/plugins/harmful.js +20 -17
  48. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  49. package/dist/src/redteam/providers/iterative.js +1 -1
  50. package/dist/src/redteam/providers/iterative.js.map +1 -1
  51. package/dist/src/redteam/providers/iterativeImage.js +1 -1
  52. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  53. package/dist/src/types.d.ts +30599 -174
  54. package/dist/src/types.d.ts.map +1 -1
  55. package/dist/src/types.js +242 -1
  56. package/dist/src/types.js.map +1 -1
  57. package/dist/src/updates.d.ts.map +1 -1
  58. package/dist/src/updates.js +2 -4
  59. package/dist/src/updates.js.map +1 -1
  60. package/dist/src/util/index.d.ts +521 -3
  61. package/dist/src/util/index.d.ts.map +1 -1
  62. package/dist/src/util/index.js +11 -10
  63. package/dist/src/util/index.js.map +1 -1
  64. package/dist/src/web/nextui/404/index.html +1 -1
  65. package/dist/src/web/nextui/404.html +1 -1
  66. package/dist/src/web/nextui/_next/static/chunks/{258-9bad5f8846b93785.js → 258-4acb452fe85cff6f.js} +2 -2
  67. package/dist/src/web/nextui/_next/static/chunks/{540-ab57db4fdf86cc8a.js → 448-4da3bf74eae4996a.js} +7 -7
  68. package/dist/src/web/nextui/_next/static/chunks/53-fae6e50ace6c83a1.js +1 -0
  69. package/dist/src/web/nextui/_next/static/chunks/{106-40e3e363c957c313.js → 578-8efe57f906f7573c.js} +6 -6
  70. package/dist/src/web/nextui/_next/static/chunks/737-538f50dc31cc8c49.js +1 -0
  71. package/dist/src/web/nextui/_next/static/chunks/{531-efd0c50e833e81f1.js → 905-0da344cee75690e7.js} +4 -4
  72. package/dist/src/web/nextui/_next/static/chunks/932-75585b3be8ce494d.js +1 -0
  73. package/dist/src/web/nextui/_next/static/chunks/973-ffe3726c956d08ef.js +2 -0
  74. package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-2e2c0c725127ea2d.js +1 -0
  75. package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-ccdb1f6890601666.js +1 -0
  76. package/dist/src/web/nextui/_next/static/chunks/app/datasets/{page-4f93aacd25866d60.js → page-642db4f4a8e8ba40.js} +1 -1
  77. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-7bc08c50ac222ddd.js → page-0a39d3450aa09dda.js} +1 -1
  78. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-32eaa14d2384c5b0.js +1 -0
  79. package/dist/src/web/nextui/_next/static/chunks/app/layout-4282b1d33566e258.js +1 -0
  80. package/dist/src/web/nextui/_next/static/chunks/app/{page-e07a0ddbf3d6e21c.js → page-5650318e57510b6c.js} +1 -1
  81. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-462526776efd6fd6.js +1 -0
  82. package/dist/src/web/nextui/_next/static/chunks/app/prompts/{page-50e27c24c9e255bd.js → page-0ae78bc0bf7c56bc.js} +1 -1
  83. package/dist/src/web/nextui/_next/static/chunks/app/report/{page-6716acff9825da98.js → page-e4f7851d41eb0f92.js} +1 -1
  84. package/dist/src/web/nextui/_next/static/chunks/app/setup/{page-59d712c1f56ecac6.js → page-6cde750ec428cd75.js} +1 -1
  85. package/dist/src/web/nextui/_next/static/chunks/{webpack-8a9bc9ee0defb756.js → webpack-c9f728822666f852.js} +1 -1
  86. package/dist/src/web/nextui/_next/static/css/5bd2f45de1f3ba83.css +1 -0
  87. package/dist/src/web/nextui/auth/login/index.html +1 -1
  88. package/dist/src/web/nextui/auth/login/index.txt +6 -6
  89. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  90. package/dist/src/web/nextui/auth/signup/index.txt +6 -6
  91. package/dist/src/web/nextui/datasets/index.html +1 -1
  92. package/dist/src/web/nextui/datasets/index.txt +6 -6
  93. package/dist/src/web/nextui/eval/index.html +1 -1
  94. package/dist/src/web/nextui/eval/index.txt +6 -6
  95. package/dist/src/web/nextui/index.html +1 -1
  96. package/dist/src/web/nextui/index.txt +5 -5
  97. package/dist/src/web/nextui/progress/index.html +1 -1
  98. package/dist/src/web/nextui/progress/index.txt +6 -6
  99. package/dist/src/web/nextui/prompts/index.html +1 -1
  100. package/dist/src/web/nextui/prompts/index.txt +6 -6
  101. package/dist/src/web/nextui/report/index.html +1 -1
  102. package/dist/src/web/nextui/report/index.txt +6 -6
  103. package/dist/src/web/nextui/setup/index.html +1 -27
  104. package/dist/src/web/nextui/setup/index.txt +7 -7
  105. package/dist/src/web/server.d.ts.map +1 -1
  106. package/dist/src/web/server.js +2 -1
  107. package/dist/src/web/server.js.map +1 -1
  108. package/package.json +2 -2
  109. package/dist/src/web/nextui/_next/static/chunks/215-f97c02cbf00861f3.js +0 -1
  110. package/dist/src/web/nextui/_next/static/chunks/611-d73a08bebf1d6f3c.js +0 -1
  111. package/dist/src/web/nextui/_next/static/chunks/770-8ec8b39ce6f615c4.js +0 -2
  112. package/dist/src/web/nextui/_next/static/chunks/858-9393537662061ee7.js +0 -1
  113. package/dist/src/web/nextui/_next/static/chunks/873-177b84c58d904b5a.js +0 -1
  114. package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-3bd92b90dc19429b.js +0 -1
  115. package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-557ff1f8c491e68a.js +0 -1
  116. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-b26513300f6f0273.js +0 -1
  117. package/dist/src/web/nextui/_next/static/chunks/app/layout-1b9c6b87155ccc6f.js +0 -1
  118. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-e8235b15bd64fb03.js +0 -1
  119. package/dist/src/web/nextui/_next/static/css/106779eb64615639.css +0 -1
  120. /package/dist/src/web/nextui/_next/static/{FqU2doca_2rkP7LW_2ZLN → 8E4q0Tmu22G1wENZyXEq0}/_buildManifest.js +0 -0
  121. /package/dist/src/web/nextui/_next/static/{FqU2doca_2rkP7LW_2ZLN → 8E4q0Tmu22G1wENZyXEq0}/_ssgManifest.js +0 -0
@@ -15,7 +15,7 @@ export declare function writeResultsToDatabase(results: EvaluateSummary, config:
15
15
  *
16
16
  * @returns Last n evals in descending order.
17
17
  */
18
- export declare function listPreviousResults(limit?: number, filterDescription?: string): ResultLightweight[];
18
+ export declare function listPreviousResults(limit?: number, filterDescription?: string, datasetId?: string): ResultLightweight[];
19
19
  /**
20
20
  * @deprecated Used only for migration to sqlite
21
21
  */
@@ -51,9 +51,527 @@ export declare function getPromptsForTestCasesHash(testCasesSha256: string, limi
51
51
  export declare function getPromptsForTestCases(testCases: TestCase[]): Promise<PromptWithMetadata[]>;
52
52
  export declare function getTestCasesWithPredicate(predicate: (result: ResultsFile) => boolean, limit: number): Promise<TestCasesWithMetadata[]>;
53
53
  export declare function getPrompts(limit?: number): Promise<PromptWithMetadata[]>;
54
- export declare function getTestCases(limit?: number): Promise<TestCasesWithMetadata[]>;
54
+ export declare function getTestCases(limit?: number): Promise<{
55
+ prompts: {
56
+ id: string;
57
+ prompt: {
58
+ label: string;
59
+ provider: string;
60
+ raw: string;
61
+ function?: ((args_0: {
62
+ vars: Record<string, any>;
63
+ provider?: {
64
+ id: (...args: unknown[]) => string;
65
+ callApi: (((args_0: string, args_1: {
66
+ vars: Record<string, string | {}>;
67
+ logger?: any;
68
+ fetchWithCache?: any;
69
+ getCache?: any;
70
+ } | undefined, args_2: {
71
+ includeLogProbs?: boolean | undefined;
72
+ originalProvider?: any;
73
+ } | undefined, ...args_3: unknown[]) => Promise<{
74
+ output?: any;
75
+ cached?: boolean | undefined;
76
+ cost?: number | undefined;
77
+ error?: string | undefined;
78
+ logProbs?: number[] | undefined;
79
+ metadata?: import("zod").objectOutputType<{
80
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
81
+ }, import("zod").ZodAny, "strip"> | undefined;
82
+ tokenUsage?: {
83
+ prompt?: number | undefined;
84
+ cached?: number | undefined;
85
+ completion?: number | undefined;
86
+ total?: number | undefined;
87
+ } | undefined;
88
+ }>) & {
89
+ label?: string | undefined;
90
+ }) | (((args_0: string, args_1: {
91
+ includeLogProbs?: boolean | undefined;
92
+ originalProvider?: any;
93
+ } | undefined, ...args_2: unknown[]) => Promise<{
94
+ output?: any;
95
+ cached?: boolean | undefined;
96
+ cost?: number | undefined;
97
+ error?: string | undefined;
98
+ logProbs?: number[] | undefined;
99
+ metadata?: import("zod").objectOutputType<{
100
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
101
+ }, import("zod").ZodAny, "strip"> | undefined;
102
+ tokenUsage?: {
103
+ prompt?: number | undefined;
104
+ cached?: number | undefined;
105
+ completion?: number | undefined;
106
+ total?: number | undefined;
107
+ } | undefined;
108
+ }>) & {
109
+ label?: string | undefined;
110
+ });
111
+ delay?: number | undefined;
112
+ label?: string | undefined;
113
+ transform?: string | undefined;
114
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
115
+ error?: string | undefined;
116
+ tokenUsage?: {
117
+ prompt?: number | undefined;
118
+ cached?: number | undefined;
119
+ completion?: number | undefined;
120
+ total?: number | undefined;
121
+ } | undefined;
122
+ embedding?: number[] | undefined;
123
+ }>) | undefined;
124
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
125
+ error?: string | undefined;
126
+ classification?: Record<string, number> | undefined;
127
+ }>) | undefined;
128
+ } | undefined;
129
+ }, ...args_1: unknown[]) => Promise<any>) | undefined;
130
+ id?: string | undefined;
131
+ display?: string | undefined;
132
+ metrics?: {
133
+ cost: number;
134
+ tokenUsage: {
135
+ prompt?: number | undefined;
136
+ cached?: number | undefined;
137
+ completion?: number | undefined;
138
+ total?: number | undefined;
139
+ };
140
+ score: number;
141
+ testPassCount: number;
142
+ testFailCount: number;
143
+ assertPassCount: number;
144
+ assertFailCount: number;
145
+ totalLatencyMs: number;
146
+ namedScores: Record<string, number>;
147
+ } | undefined;
148
+ };
149
+ evalId: string;
150
+ }[];
151
+ id: string;
152
+ testCases: string | (string | {
153
+ options?: ({
154
+ prefix?: string | undefined;
155
+ suffix?: string | undefined;
156
+ } & {
157
+ transform?: string | undefined;
158
+ postprocess?: string | undefined;
159
+ storeOutputAs?: string | undefined;
160
+ } & {
161
+ rubricPrompt?: string | string[] | undefined;
162
+ provider?: any;
163
+ factuality?: {
164
+ subset?: number | undefined;
165
+ superset?: number | undefined;
166
+ agree?: number | undefined;
167
+ disagree?: number | undefined;
168
+ differButFactual?: number | undefined;
169
+ } | undefined;
170
+ } & {
171
+ disableVarExpansion?: boolean | undefined;
172
+ disableConversationVar?: boolean | undefined;
173
+ }) | undefined;
174
+ vars?: Record<string, string | string[] | {}> | undefined;
175
+ provider?: string | {
176
+ prompts?: string[] | undefined;
177
+ delay?: number | undefined;
178
+ config?: any;
179
+ id?: string | undefined;
180
+ label?: string | undefined;
181
+ transform?: string | undefined;
182
+ env?: {
183
+ ANTHROPIC_API_KEY?: string | undefined;
184
+ BAM_API_KEY?: string | undefined;
185
+ BAM_API_HOST?: string | undefined;
186
+ AZURE_OPENAI_API_HOST?: string | undefined;
187
+ AZURE_OPENAI_API_KEY?: string | undefined;
188
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
189
+ AZURE_OPENAI_BASE_URL?: string | undefined;
190
+ AWS_BEDROCK_REGION?: string | undefined;
191
+ COHERE_API_KEY?: string | undefined;
192
+ OPENAI_API_KEY?: string | undefined;
193
+ OPENAI_API_HOST?: string | undefined;
194
+ OPENAI_API_BASE_URL?: string | undefined;
195
+ OPENAI_BASE_URL?: string | undefined;
196
+ OPENAI_ORGANIZATION?: string | undefined;
197
+ REPLICATE_API_KEY?: string | undefined;
198
+ REPLICATE_API_TOKEN?: string | undefined;
199
+ LOCALAI_BASE_URL?: string | undefined;
200
+ MISTRAL_API_HOST?: string | undefined;
201
+ MISTRAL_API_BASE_URL?: string | undefined;
202
+ PALM_API_KEY?: string | undefined;
203
+ PALM_API_HOST?: string | undefined;
204
+ GOOGLE_API_KEY?: string | undefined;
205
+ GOOGLE_API_HOST?: string | undefined;
206
+ VERTEX_API_KEY?: string | undefined;
207
+ VERTEX_API_HOST?: string | undefined;
208
+ VERTEX_PROJECT_ID?: string | undefined;
209
+ VERTEX_REGION?: string | undefined;
210
+ VERTEX_PUBLISHER?: string | undefined;
211
+ MISTRAL_API_KEY?: string | undefined;
212
+ CLOUDFLARE_API_KEY?: string | undefined;
213
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
214
+ } | undefined;
215
+ } | {
216
+ id: (...args: unknown[]) => string;
217
+ callApi: (((args_0: string, args_1: {
218
+ vars: Record<string, string | {}>;
219
+ logger?: any;
220
+ fetchWithCache?: any;
221
+ getCache?: any;
222
+ } | undefined, args_2: {
223
+ includeLogProbs?: boolean | undefined;
224
+ originalProvider?: any;
225
+ } | undefined, ...args_3: unknown[]) => Promise<{
226
+ output?: any;
227
+ cached?: boolean | undefined;
228
+ cost?: number | undefined;
229
+ error?: string | undefined;
230
+ logProbs?: number[] | undefined;
231
+ metadata?: import("zod").objectOutputType<{
232
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
233
+ }, import("zod").ZodAny, "strip"> | undefined;
234
+ tokenUsage?: {
235
+ prompt?: number | undefined;
236
+ cached?: number | undefined;
237
+ completion?: number | undefined;
238
+ total?: number | undefined;
239
+ } | undefined;
240
+ }>) & {
241
+ label?: string | undefined;
242
+ }) | (((args_0: string, args_1: {
243
+ includeLogProbs?: boolean | undefined;
244
+ originalProvider?: any;
245
+ } | undefined, ...args_2: unknown[]) => Promise<{
246
+ output?: any;
247
+ cached?: boolean | undefined;
248
+ cost?: number | undefined;
249
+ error?: string | undefined;
250
+ logProbs?: number[] | undefined;
251
+ metadata?: import("zod").objectOutputType<{
252
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
253
+ }, import("zod").ZodAny, "strip"> | undefined;
254
+ tokenUsage?: {
255
+ prompt?: number | undefined;
256
+ cached?: number | undefined;
257
+ completion?: number | undefined;
258
+ total?: number | undefined;
259
+ } | undefined;
260
+ }>) & {
261
+ label?: string | undefined;
262
+ });
263
+ delay?: number | undefined;
264
+ label?: string | undefined;
265
+ transform?: string | undefined;
266
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
267
+ error?: string | undefined;
268
+ tokenUsage?: {
269
+ prompt?: number | undefined;
270
+ cached?: number | undefined;
271
+ completion?: number | undefined;
272
+ total?: number | undefined;
273
+ } | undefined;
274
+ embedding?: number[] | undefined;
275
+ }>) | undefined;
276
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
277
+ error?: string | undefined;
278
+ classification?: Record<string, number> | undefined;
279
+ }>) | undefined;
280
+ } | undefined;
281
+ description?: string | undefined;
282
+ providerOutput?: string | {} | undefined;
283
+ assert?: ({
284
+ type: import("../types").AssertionType;
285
+ value?: import("../types").AssertionValue | undefined;
286
+ transform?: string | undefined;
287
+ rubricPrompt?: string | string[] | undefined;
288
+ provider?: any;
289
+ threshold?: number | undefined;
290
+ weight?: number | undefined;
291
+ metric?: string | undefined;
292
+ } | {
293
+ type: "assert-set";
294
+ assert: {
295
+ type: import("../types").AssertionType;
296
+ value?: import("../types").AssertionValue | undefined;
297
+ transform?: string | undefined;
298
+ rubricPrompt?: string | string[] | undefined;
299
+ provider?: any;
300
+ threshold?: number | undefined;
301
+ weight?: number | undefined;
302
+ metric?: string | undefined;
303
+ }[];
304
+ threshold?: number | undefined;
305
+ weight?: number | undefined;
306
+ metric?: string | undefined;
307
+ })[] | undefined;
308
+ threshold?: number | undefined;
309
+ })[];
310
+ recentEvalDate: Date;
311
+ recentEvalId: string;
312
+ count: number;
313
+ }[]>;
55
314
  export declare function getPromptFromHash(hash: string): Promise<PromptWithMetadata | undefined>;
56
- export declare function getDatasetFromHash(hash: string): Promise<TestCasesWithMetadata | undefined>;
315
+ export declare function getDatasetFromHash(hash: string): Promise<{
316
+ prompts: {
317
+ id: string;
318
+ prompt: {
319
+ label: string;
320
+ provider: string;
321
+ raw: string;
322
+ function?: ((args_0: {
323
+ vars: Record<string, any>;
324
+ provider?: {
325
+ id: (...args: unknown[]) => string;
326
+ callApi: (((args_0: string, args_1: {
327
+ vars: Record<string, string | {}>;
328
+ logger?: any;
329
+ fetchWithCache?: any;
330
+ getCache?: any;
331
+ } | undefined, args_2: {
332
+ includeLogProbs?: boolean | undefined;
333
+ originalProvider?: any;
334
+ } | undefined, ...args_3: unknown[]) => Promise<{
335
+ output?: any;
336
+ cached?: boolean | undefined;
337
+ cost?: number | undefined;
338
+ error?: string | undefined;
339
+ logProbs?: number[] | undefined;
340
+ metadata?: import("zod").objectOutputType<{
341
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
342
+ }, import("zod").ZodAny, "strip"> | undefined;
343
+ tokenUsage?: {
344
+ prompt?: number | undefined;
345
+ cached?: number | undefined;
346
+ completion?: number | undefined;
347
+ total?: number | undefined;
348
+ } | undefined;
349
+ }>) & {
350
+ label?: string | undefined;
351
+ }) | (((args_0: string, args_1: {
352
+ includeLogProbs?: boolean | undefined;
353
+ originalProvider?: any;
354
+ } | undefined, ...args_2: unknown[]) => Promise<{
355
+ output?: any;
356
+ cached?: boolean | undefined;
357
+ cost?: number | undefined;
358
+ error?: string | undefined;
359
+ logProbs?: number[] | undefined;
360
+ metadata?: import("zod").objectOutputType<{
361
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
362
+ }, import("zod").ZodAny, "strip"> | undefined;
363
+ tokenUsage?: {
364
+ prompt?: number | undefined;
365
+ cached?: number | undefined;
366
+ completion?: number | undefined;
367
+ total?: number | undefined;
368
+ } | undefined;
369
+ }>) & {
370
+ label?: string | undefined;
371
+ });
372
+ delay?: number | undefined;
373
+ label?: string | undefined;
374
+ transform?: string | undefined;
375
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
376
+ error?: string | undefined;
377
+ tokenUsage?: {
378
+ prompt?: number | undefined;
379
+ cached?: number | undefined;
380
+ completion?: number | undefined;
381
+ total?: number | undefined;
382
+ } | undefined;
383
+ embedding?: number[] | undefined;
384
+ }>) | undefined;
385
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
386
+ error?: string | undefined;
387
+ classification?: Record<string, number> | undefined;
388
+ }>) | undefined;
389
+ } | undefined;
390
+ }, ...args_1: unknown[]) => Promise<any>) | undefined;
391
+ id?: string | undefined;
392
+ display?: string | undefined;
393
+ metrics?: {
394
+ cost: number;
395
+ tokenUsage: {
396
+ prompt?: number | undefined;
397
+ cached?: number | undefined;
398
+ completion?: number | undefined;
399
+ total?: number | undefined;
400
+ };
401
+ score: number;
402
+ testPassCount: number;
403
+ testFailCount: number;
404
+ assertPassCount: number;
405
+ assertFailCount: number;
406
+ totalLatencyMs: number;
407
+ namedScores: Record<string, number>;
408
+ } | undefined;
409
+ };
410
+ evalId: string;
411
+ }[];
412
+ id: string;
413
+ testCases: string | (string | {
414
+ options?: ({
415
+ prefix?: string | undefined;
416
+ suffix?: string | undefined;
417
+ } & {
418
+ transform?: string | undefined;
419
+ postprocess?: string | undefined;
420
+ storeOutputAs?: string | undefined;
421
+ } & {
422
+ rubricPrompt?: string | string[] | undefined;
423
+ provider?: any;
424
+ factuality?: {
425
+ subset?: number | undefined;
426
+ superset?: number | undefined;
427
+ agree?: number | undefined;
428
+ disagree?: number | undefined;
429
+ differButFactual?: number | undefined;
430
+ } | undefined;
431
+ } & {
432
+ disableVarExpansion?: boolean | undefined;
433
+ disableConversationVar?: boolean | undefined;
434
+ }) | undefined;
435
+ vars?: Record<string, string | string[] | {}> | undefined;
436
+ provider?: string | {
437
+ prompts?: string[] | undefined;
438
+ delay?: number | undefined;
439
+ config?: any;
440
+ id?: string | undefined;
441
+ label?: string | undefined;
442
+ transform?: string | undefined;
443
+ env?: {
444
+ ANTHROPIC_API_KEY?: string | undefined;
445
+ BAM_API_KEY?: string | undefined;
446
+ BAM_API_HOST?: string | undefined;
447
+ AZURE_OPENAI_API_HOST?: string | undefined;
448
+ AZURE_OPENAI_API_KEY?: string | undefined;
449
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
450
+ AZURE_OPENAI_BASE_URL?: string | undefined;
451
+ AWS_BEDROCK_REGION?: string | undefined;
452
+ COHERE_API_KEY?: string | undefined;
453
+ OPENAI_API_KEY?: string | undefined;
454
+ OPENAI_API_HOST?: string | undefined;
455
+ OPENAI_API_BASE_URL?: string | undefined;
456
+ OPENAI_BASE_URL?: string | undefined;
457
+ OPENAI_ORGANIZATION?: string | undefined;
458
+ REPLICATE_API_KEY?: string | undefined;
459
+ REPLICATE_API_TOKEN?: string | undefined;
460
+ LOCALAI_BASE_URL?: string | undefined;
461
+ MISTRAL_API_HOST?: string | undefined;
462
+ MISTRAL_API_BASE_URL?: string | undefined;
463
+ PALM_API_KEY?: string | undefined;
464
+ PALM_API_HOST?: string | undefined;
465
+ GOOGLE_API_KEY?: string | undefined;
466
+ GOOGLE_API_HOST?: string | undefined;
467
+ VERTEX_API_KEY?: string | undefined;
468
+ VERTEX_API_HOST?: string | undefined;
469
+ VERTEX_PROJECT_ID?: string | undefined;
470
+ VERTEX_REGION?: string | undefined;
471
+ VERTEX_PUBLISHER?: string | undefined;
472
+ MISTRAL_API_KEY?: string | undefined;
473
+ CLOUDFLARE_API_KEY?: string | undefined;
474
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
475
+ } | undefined;
476
+ } | {
477
+ id: (...args: unknown[]) => string;
478
+ callApi: (((args_0: string, args_1: {
479
+ vars: Record<string, string | {}>;
480
+ logger?: any;
481
+ fetchWithCache?: any;
482
+ getCache?: any;
483
+ } | undefined, args_2: {
484
+ includeLogProbs?: boolean | undefined;
485
+ originalProvider?: any;
486
+ } | undefined, ...args_3: unknown[]) => Promise<{
487
+ output?: any;
488
+ cached?: boolean | undefined;
489
+ cost?: number | undefined;
490
+ error?: string | undefined;
491
+ logProbs?: number[] | undefined;
492
+ metadata?: import("zod").objectOutputType<{
493
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
494
+ }, import("zod").ZodAny, "strip"> | undefined;
495
+ tokenUsage?: {
496
+ prompt?: number | undefined;
497
+ cached?: number | undefined;
498
+ completion?: number | undefined;
499
+ total?: number | undefined;
500
+ } | undefined;
501
+ }>) & {
502
+ label?: string | undefined;
503
+ }) | (((args_0: string, args_1: {
504
+ includeLogProbs?: boolean | undefined;
505
+ originalProvider?: any;
506
+ } | undefined, ...args_2: unknown[]) => Promise<{
507
+ output?: any;
508
+ cached?: boolean | undefined;
509
+ cost?: number | undefined;
510
+ error?: string | undefined;
511
+ logProbs?: number[] | undefined;
512
+ metadata?: import("zod").objectOutputType<{
513
+ redteamFinalPrompt: import("zod").ZodOptional<import("zod").ZodString>;
514
+ }, import("zod").ZodAny, "strip"> | undefined;
515
+ tokenUsage?: {
516
+ prompt?: number | undefined;
517
+ cached?: number | undefined;
518
+ completion?: number | undefined;
519
+ total?: number | undefined;
520
+ } | undefined;
521
+ }>) & {
522
+ label?: string | undefined;
523
+ });
524
+ delay?: number | undefined;
525
+ label?: string | undefined;
526
+ transform?: string | undefined;
527
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
528
+ error?: string | undefined;
529
+ tokenUsage?: {
530
+ prompt?: number | undefined;
531
+ cached?: number | undefined;
532
+ completion?: number | undefined;
533
+ total?: number | undefined;
534
+ } | undefined;
535
+ embedding?: number[] | undefined;
536
+ }>) | undefined;
537
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
538
+ error?: string | undefined;
539
+ classification?: Record<string, number> | undefined;
540
+ }>) | undefined;
541
+ } | undefined;
542
+ description?: string | undefined;
543
+ providerOutput?: string | {} | undefined;
544
+ assert?: ({
545
+ type: import("../types").AssertionType;
546
+ value?: import("../types").AssertionValue | undefined;
547
+ transform?: string | undefined;
548
+ rubricPrompt?: string | string[] | undefined;
549
+ provider?: any;
550
+ threshold?: number | undefined;
551
+ weight?: number | undefined;
552
+ metric?: string | undefined;
553
+ } | {
554
+ type: "assert-set";
555
+ assert: {
556
+ type: import("../types").AssertionType;
557
+ value?: import("../types").AssertionValue | undefined;
558
+ transform?: string | undefined;
559
+ rubricPrompt?: string | string[] | undefined;
560
+ provider?: any;
561
+ threshold?: number | undefined;
562
+ weight?: number | undefined;
563
+ metric?: string | undefined;
564
+ }[];
565
+ threshold?: number | undefined;
566
+ weight?: number | undefined;
567
+ metric?: string | undefined;
568
+ })[] | undefined;
569
+ threshold?: number | undefined;
570
+ })[];
571
+ recentEvalDate: Date;
572
+ recentEvalId: string;
573
+ count: number;
574
+ } | undefined>;
57
575
  export declare function getEvalsWithPredicate(predicate: (result: ResultsFile) => boolean, limit: number): Promise<EvalWithMetadata[]>;
58
576
  export declare function getEvals(limit?: number): Promise<EvalWithMetadata[]>;
59
577
  export declare function getEvalFromId(hash: string): Promise<EvalWithMetadata | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,eAAe,EAEpB,KAAK,iBAAiB,EAIvB,MAAM,UAAU,CAAC;AAKlB,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,iBAqF5B;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,iBAK5B;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,UAEjC;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CASxE;AAID,wBAAgB,sBAAsB,CAAC,iBAAiB,GAAE,OAAe,GAAG,MAAM,CAMjF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,SAAS,CAAC,EAAE,IAAI,GACf,OAAO,CAAC,MAAM,CAAC,CA4FjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,GAAE,MAA4B,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,iBAAiB,EAAE,CAyBrB;AAED;;GAEG;AACH,wBAAgB,sCAAsC,IAAI,MAAM,EAAE,CAYjE;AAID;;GAEG;AACH,wBAAgB,8BAA8B,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAqB7F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAqB9C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,UAExC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAgBlE;AAID,wBAAsB,sCAAsC,kBA0D3D;AAKD,wBAAgB,qBAAqB,CAAC,SAAS,SAAwB,QAKtE;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC,CAmC3E;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAClC,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAsB,iBAAiB,CACrC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAgClC;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkE/B;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,MAA4B,iCAOpC;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,iCAI3D;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAuElC;AAED,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAA4B,iCAE7D;AAED,wBAAsB,YAAY,CAAC,KAAK,GAAE,MAA4B,oCAErE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,2CAQnD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,8CAQpD;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwC7B;AAED,wBAAsB,QAAQ,CAAC,KAAK,GAAE,MAA4B,+BAEjE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,yCAQ/C;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,iBAa9C;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAc7F;AAED,wBAAgB,WAAW,SAG1B;AAED,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACnC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,gBA0CzF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,QAOnD;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,MAA4B,GAAG,cAAc,EAAE,CA+BxF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,SAAS,CAQvF;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,EAC7D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,WAG9D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAMvF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,GAAE,OAAe,GAAG,MAAM,CAelF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAsBvF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOhD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BxD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAoCA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"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"}
@@ -278,28 +278,26 @@ async function writeResultsToDatabase(results, config, createdAt) {
278
278
  *
279
279
  * @returns Last n evals in descending order.
280
280
  */
281
- function listPreviousResults(limit = DEFAULT_QUERY_LIMIT, filterDescription) {
281
+ function listPreviousResults(limit = DEFAULT_QUERY_LIMIT, filterDescription, datasetId) {
282
282
  const db = (0, database_1.getDb)();
283
- let results = db
283
+ const query = db
284
284
  .select({
285
285
  evalId: database_1.evals.id,
286
286
  createdAt: database_1.evals.createdAt,
287
287
  description: database_1.evals.description,
288
288
  config: database_1.evals.config,
289
+ datasetId: database_1.evalsToDatasets.datasetId,
289
290
  })
290
291
  .from(database_1.evals)
291
- .orderBy((0, drizzle_orm_1.desc)(database_1.evals.createdAt))
292
- .limit(limit)
293
- .all();
294
- if (filterDescription) {
295
- const regex = new RegExp(filterDescription, 'i');
296
- results = results.filter((result) => regex.test(result.description || ''));
297
- }
292
+ .leftJoin(database_1.evalsToDatasets, (0, drizzle_orm_1.eq)(database_1.evals.id, database_1.evalsToDatasets.evalId))
293
+ .where((0, drizzle_orm_1.and)(datasetId ? (0, drizzle_orm_1.eq)(database_1.evalsToDatasets.datasetId, datasetId) : undefined, filterDescription ? (0, drizzle_orm_1.like)(database_1.evals.description, `%${filterDescription}%`) : undefined));
294
+ const results = query.orderBy((0, drizzle_orm_1.desc)(database_1.evals.createdAt)).limit(limit).all();
298
295
  return results.map((result) => ({
299
296
  evalId: result.evalId,
300
297
  createdAt: result.createdAt,
301
298
  description: result.description,
302
299
  numTests: result.config.tests?.length || 0,
300
+ datasetId: result.datasetId,
303
301
  }));
304
302
  }
305
303
  /**
@@ -459,20 +457,23 @@ async function readResult(id) {
459
457
  author: database_1.evals.author,
460
458
  results: database_1.evals.results,
461
459
  config: database_1.evals.config,
460
+ datasetId: database_1.evalsToDatasets.datasetId,
462
461
  })
463
462
  .from(database_1.evals)
463
+ .leftJoin(database_1.evalsToDatasets, (0, drizzle_orm_1.eq)(database_1.evals.id, database_1.evalsToDatasets.evalId))
464
464
  .where((0, drizzle_orm_1.eq)(database_1.evals.id, id))
465
465
  .execute();
466
466
  if (evalResult.length === 0) {
467
467
  return undefined;
468
468
  }
469
- const { id: resultId, createdAt, results, config, author } = evalResult[0];
469
+ const { id: resultId, createdAt, results, config, author, datasetId } = evalResult[0];
470
470
  const result = {
471
471
  version: 3,
472
472
  createdAt: new Date(createdAt).toISOString().slice(0, 10),
473
473
  author,
474
474
  results,
475
475
  config,
476
+ datasetId,
476
477
  };
477
478
  return {
478
479
  id: resultId,