@crowandraven/evalkeeper 0.1.1 → 0.2.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 +2 -2
- package/dist/attention.js +2 -1
- package/dist/attention.js.map +1 -1
- package/dist/board.d.ts +2 -0
- package/dist/glossary.d.ts +1 -1
- package/dist/glossary.js +1 -1
- package/dist/glossary.js.map +1 -1
- package/dist/health.js +1 -1
- package/dist/health.js.map +1 -1
- package/dist/models.d.ts +27 -1
- package/dist/models.js +19 -2
- package/dist/models.js.map +1 -1
- package/dist/runner.d.ts +10 -1
- package/dist/runner.js +34 -6
- package/dist/runner.js.map +1 -1
- package/dist/settings.d.ts +42 -3
- package/dist/settings.js +100 -11
- package/dist/settings.js.map +1 -1
- package/dist/store.d.ts +5 -0
- package/dist/suggest.js +4 -2
- package/dist/suggest.js.map +1 -1
- package/dist/testing.js +21 -0
- package/dist/testing.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.js.map +1 -1
- package/dist/weekly.js +4 -2
- package/dist/weekly.js.map +1 -1
- package/package.json +2 -2
- package/src/attention.ts +2 -1
- package/src/board.ts +2 -0
- package/src/glossary.ts +1 -1
- package/src/health.ts +3 -1
- package/src/models.ts +48 -3
- package/src/runner.ts +43 -4
- package/src/settings.ts +124 -14
- package/src/store.ts +5 -0
- package/src/suggest.ts +3 -1
- package/src/testing.ts +23 -0
- package/src/types.ts +6 -0
- package/src/weekly.ts +4 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# evalkeeper
|
|
1
|
+
# @crowandraven/evalkeeper
|
|
2
2
|
|
|
3
|
-
The core of [Evalkeeper](
|
|
3
|
+
The core of [Evalkeeper](https://github.com/seanhudson/evalkeeper), an eval harness for the AI features in TypeScript apps: suite and check types, stats,
|
|
4
4
|
paired comparisons, model suggestions, suite health, grader helpers, and
|
|
5
5
|
the runner. Pure TypeScript; the runner (`@crowandraven/evalkeeper/runner`) is
|
|
6
6
|
server-only, and `@crowandraven/evalkeeper/memory` is an in-memory store for tests and
|
package/dist/attention.js
CHANGED
|
@@ -7,7 +7,8 @@ export function attention(boards) {
|
|
|
7
7
|
let slowest = null;
|
|
8
8
|
let costliest = null;
|
|
9
9
|
for (const b of boards) {
|
|
10
|
-
|
|
10
|
+
// The best model's score: a baseline is code, not a model to switch to.
|
|
11
|
+
const tested = b.rows.filter((r) => !r.baseline && current(r));
|
|
11
12
|
if (tested.length) {
|
|
12
13
|
const rateOf = (r) => {
|
|
13
14
|
const t = current(r);
|
package/dist/attention.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attention.js","sourceRoot":"","sources":["../src/attention.ts"],"names":[],"mappings":"AAkCA,MAAM,OAAO,GAAG,CAAC,CAAW,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAEnE;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAoB;IAC5C,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"attention.js","sourceRoot":"","sources":["../src/attention.ts"],"names":[],"mappings":"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"}
|
package/dist/board.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export type BoardRow = {
|
|
|
17
17
|
label: string;
|
|
18
18
|
live: boolean;
|
|
19
19
|
fallback: boolean;
|
|
20
|
+
/** Code, not a model (`ModelInfo.baseline`): compared, never made live or the fallback. */
|
|
21
|
+
baseline: boolean;
|
|
20
22
|
testing: boolean;
|
|
21
23
|
/** The newest test failed: why, in a line. Older results still show. */
|
|
22
24
|
failed: string | null;
|
package/dist/glossary.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare const GLOSSARY: {
|
|
|
33
33
|
readonly makeCase: "Turns this rating into a draft case on its real input. A thumbs down needs a person to write the right answer; a thumbs up proposes the model's answer for a person to confirm.";
|
|
34
34
|
readonly needsAnswer: "A draft case with no answer yet. Write what a good answer is; until then, tests leave it out.";
|
|
35
35
|
readonly weeklyCheck: "Each suite's quick set, answered again on its live model every week. A drop of 15 points or more against last week's check of the same model, instructions, and grading is drift.";
|
|
36
|
-
readonly versions: "Each numbered version of this feature's settings (model, fallback, reasoning), with who changed it, when, why, and
|
|
36
|
+
readonly versions: "Each numbered version of this feature's settings (model, fallback, reasoning, output limit, temperature), with who changed it, when, why, and its evidence. Any version can be made live again.";
|
|
37
37
|
readonly suites: "One suite per AI feature: its cases, the answers people confirmed, and the checks that grade any model against them. Open one to compare models and choose the live one.";
|
|
38
38
|
readonly answerKey: "The cases and the answers tests grade against. Only confirmed answers count: a model can draft answers, but they stay pending until a person confirms them. Open a case to see how each model did on it.";
|
|
39
39
|
readonly checks: "What a good answer gets right, one thing per check. Serious checks catch mistakes that change what your product does; minor ones, fair differences of judgment. Each has a bar its pass rate should reach.";
|
package/dist/glossary.js
CHANGED
|
@@ -33,7 +33,7 @@ export const GLOSSARY = {
|
|
|
33
33
|
makeCase: "Turns this rating into a draft case on its real input. A thumbs down needs a person to write the right answer; a thumbs up proposes the model's answer for a person to confirm.",
|
|
34
34
|
needsAnswer: "A draft case with no answer yet. Write what a good answer is; until then, tests leave it out.",
|
|
35
35
|
weeklyCheck: "Each suite's quick set, answered again on its live model every week. A drop of 15 points or more against last week's check of the same model, instructions, and grading is drift.",
|
|
36
|
-
versions: "Each numbered version of this feature's settings (model, fallback, reasoning), with who changed it, when, why, and
|
|
36
|
+
versions: "Each numbered version of this feature's settings (model, fallback, reasoning, output limit, temperature), with who changed it, when, why, and its evidence. Any version can be made live again.",
|
|
37
37
|
suites: "One suite per AI feature: its cases, the answers people confirmed, and the checks that grade any model against them. Open one to compare models and choose the live one.",
|
|
38
38
|
answerKey: "The cases and the answers tests grade against. Only confirmed answers count: a model can draft answers, but they stay pending until a person confirms them. Open a case to see how each model did on it.",
|
|
39
39
|
checks: "What a good answer gets right, one thing per check. Serious checks catch mistakes that change what your product does; minor ones, fair differences of judgment. Each has a bar its pass rate should reach.",
|
package/dist/glossary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossary.js","sourceRoot":"","sources":["../src/glossary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EACH,mJAAmJ;IACrJ,eAAe,EACb,yGAAyG;IAC3G,IAAI,EAAE,6GAA6G;IACnH,IAAI,EAAE,oEAAoE;IAC1E,WAAW,EACT,uIAAuI;IACzI,IAAI,EAAE,qCAAqC;IAC3C,QAAQ,EACN,gGAAgG;IAClG,QAAQ,EACN,+HAA+H;IACjI,SAAS,EACP,uHAAuH;IACzH,OAAO,EACL,6HAA6H;IAC/H,KAAK,EACH,4GAA4G;IAC9G,GAAG,EAAE,wCAAwC;IAC7C,SAAS,EAAE,6DAA6D;IACxE,WAAW,EACT,0GAA0G;IAC5G,OAAO,EACL,yFAAyF;IAC3F,GAAG,EAAE,2EAA2E;IAChF,IAAI,EAAE,6GAA6G;IACnH,UAAU,EACR,wIAAwI;IAC1I,QAAQ,EACN,+IAA+I;IACjJ,OAAO,EACL,wFAAwF;IAC1F,IAAI,EAAE,wEAAwE;IAC9E,OAAO,EACL,+GAA+G;IACjH,OAAO,EACL,qEAAqE;IACvE,SAAS,EAAE,iEAAiE;IAC5E,MAAM,EACJ,6FAA6F;IAC/F,SAAS,EACP,qJAAqJ;IACvJ,QAAQ,EACN,iLAAiL;IACnL,WAAW,EACT,+FAA+F;IACjG,WAAW,EACT,mLAAmL;IACrL,QAAQ,EACN,
|
|
1
|
+
{"version":3,"file":"glossary.js","sourceRoot":"","sources":["../src/glossary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EACH,mJAAmJ;IACrJ,eAAe,EACb,yGAAyG;IAC3G,IAAI,EAAE,6GAA6G;IACnH,IAAI,EAAE,oEAAoE;IAC1E,WAAW,EACT,uIAAuI;IACzI,IAAI,EAAE,qCAAqC;IAC3C,QAAQ,EACN,gGAAgG;IAClG,QAAQ,EACN,+HAA+H;IACjI,SAAS,EACP,uHAAuH;IACzH,OAAO,EACL,6HAA6H;IAC/H,KAAK,EACH,4GAA4G;IAC9G,GAAG,EAAE,wCAAwC;IAC7C,SAAS,EAAE,6DAA6D;IACxE,WAAW,EACT,0GAA0G;IAC5G,OAAO,EACL,yFAAyF;IAC3F,GAAG,EAAE,2EAA2E;IAChF,IAAI,EAAE,6GAA6G;IACnH,UAAU,EACR,wIAAwI;IAC1I,QAAQ,EACN,+IAA+I;IACjJ,OAAO,EACL,wFAAwF;IAC1F,IAAI,EAAE,wEAAwE;IAC9E,OAAO,EACL,+GAA+G;IACjH,OAAO,EACL,qEAAqE;IACvE,SAAS,EAAE,iEAAiE;IAC5E,MAAM,EACJ,6FAA6F;IAC/F,SAAS,EACP,qJAAqJ;IACvJ,QAAQ,EACN,iLAAiL;IACnL,WAAW,EACT,+FAA+F;IACjG,WAAW,EACT,mLAAmL;IACrL,QAAQ,EACN,iMAAiM;IACnM,MAAM,EACJ,0KAA0K;IAC5K,SAAS,EACP,0MAA0M;IAC5M,MAAM,EACJ,4MAA4M;IAC9M,kBAAkB,EAChB,wKAAwK;IAC1K,gBAAgB,EACd,wKAAwK;IAC1K,mBAAmB,EACjB,+FAA+F;IACjG,qBAAqB,EACnB,qIAAqI;CAC/H,CAAC"}
|
package/dist/health.js
CHANGED
|
@@ -19,7 +19,7 @@ provisional = 0,
|
|
|
19
19
|
/** Your model catalog, for retirements and the fallback's provider. */
|
|
20
20
|
models = {}) {
|
|
21
21
|
const liveRow = rows.find((r) => r.live) ?? null;
|
|
22
|
-
const testedModels = rows.filter((r) => r.test && !r.test.stale).length;
|
|
22
|
+
const testedModels = rows.filter((r) => !r.baseline && r.test && !r.test.stale).length;
|
|
23
23
|
const t = liveRow?.test;
|
|
24
24
|
const live = liveRow && t ? { label: liveRow.label, rate: t.right / t.total } : null;
|
|
25
25
|
const base = { live, testedModels };
|
package/dist/health.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAqC,MAAM,YAAY,CAAC;AAwBzE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CACzB,IAAgB,EAChB,MAAkB,EAClB,QAAuB,EACvB,KAAa;AACb,0CAA0C;AAC1C,WAAW,GAAG,CAAC;AACf,uEAAuE;AACvE,SAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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"}
|
package/dist/models.d.ts
CHANGED
|
@@ -17,6 +17,16 @@ export type ModelInfo = {
|
|
|
17
17
|
/** USD per 1M tokens, for estimates and the cost of each answer. */
|
|
18
18
|
inputPer1M?: number;
|
|
19
19
|
outputPer1M?: number;
|
|
20
|
+
/**
|
|
21
|
+
* USD per 1M input tokens read from the provider's prompt cache. Unset:
|
|
22
|
+
* cached input costs `inputPer1M`, which overstates rather than flatters.
|
|
23
|
+
*/
|
|
24
|
+
cachedInputPer1M?: number;
|
|
25
|
+
/**
|
|
26
|
+
* USD per 1M input tokens written to the prompt cache (Anthropic bills
|
|
27
|
+
* these above the input price). Unset: they cost `inputPer1M`.
|
|
28
|
+
*/
|
|
29
|
+
cacheWriteInputPer1M?: number;
|
|
20
30
|
/** Reasoning efforts it accepts, lowest first. */
|
|
21
31
|
efforts?: ReasoningEffort[];
|
|
22
32
|
/**
|
|
@@ -32,15 +42,31 @@ export type ModelInfo = {
|
|
|
32
42
|
* model's own estimate written out, with no distribution for choices.
|
|
33
43
|
*/
|
|
34
44
|
decisions?: "native" | "prompted";
|
|
45
|
+
/**
|
|
46
|
+
* Code your app runs instead of a model (a matcher, a rules engine) or
|
|
47
|
+
* alongside it, tested so the board shows whether a model beats it. A
|
|
48
|
+
* baseline is compared like any model but never suggested as live or as
|
|
49
|
+
* the fallback. Give it a label that says what it is.
|
|
50
|
+
*/
|
|
51
|
+
baseline?: boolean;
|
|
35
52
|
};
|
|
36
53
|
/** Your app's models, by id. */
|
|
37
54
|
export type ModelCatalog = Record<string, ModelInfo>;
|
|
55
|
+
/** Whether a catalog entry is a baseline (code, not a model): never suggested. */
|
|
56
|
+
export declare function isBaseline(models: ModelCatalog, model: string): boolean;
|
|
38
57
|
/** "January 2027" for a retiring model; null when it isn't retiring. */
|
|
39
58
|
export declare function retiresLabel(models: ModelCatalog, model: string): string | null;
|
|
40
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* The cost of a call from its token counts; null when the price is unknown.
|
|
61
|
+
* `cachedInput` and `cacheWriteInput` are the parts of `input` read from
|
|
62
|
+
* and written to the provider's prompt cache, priced at the model's cache
|
|
63
|
+
* prices when it has them.
|
|
64
|
+
*/
|
|
41
65
|
export declare function priceCall(models: ModelCatalog, model: string, tokens: {
|
|
42
66
|
input: number;
|
|
43
67
|
output: number;
|
|
68
|
+
cachedInput?: number;
|
|
69
|
+
cacheWriteInput?: number;
|
|
44
70
|
}): number | null;
|
|
45
71
|
/**
|
|
46
72
|
* The effort a model actually gets for a requested one: the same if it
|
package/dist/models.js
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/** How hard a reasoning model thinks, where the model takes a setting. */
|
|
6
6
|
export const REASONING_EFFORTS = ["none", "low", "medium", "high"];
|
|
7
|
+
/** Whether a catalog entry is a baseline (code, not a model): never suggested. */
|
|
8
|
+
export function isBaseline(models, model) {
|
|
9
|
+
return models[model]?.baseline === true;
|
|
10
|
+
}
|
|
7
11
|
/** "January 2027" for a retiring model; null when it isn't retiring. */
|
|
8
12
|
export function retiresLabel(models, model) {
|
|
9
13
|
const when = models[model]?.retiring;
|
|
@@ -16,12 +20,25 @@ export function retiresLabel(models, model) {
|
|
|
16
20
|
timeZone: "UTC",
|
|
17
21
|
});
|
|
18
22
|
}
|
|
19
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The cost of a call from its token counts; null when the price is unknown.
|
|
25
|
+
* `cachedInput` and `cacheWriteInput` are the parts of `input` read from
|
|
26
|
+
* and written to the provider's prompt cache, priced at the model's cache
|
|
27
|
+
* prices when it has them.
|
|
28
|
+
*/
|
|
20
29
|
export function priceCall(models, model, tokens) {
|
|
21
30
|
const m = models[model];
|
|
22
31
|
if (m?.inputPer1M === undefined || m.outputPer1M === undefined)
|
|
23
32
|
return null;
|
|
24
|
-
|
|
33
|
+
// The cache parts are subsets of input: never count more than it has.
|
|
34
|
+
const cached = Math.min(Math.max(tokens.cachedInput ?? 0, 0), tokens.input);
|
|
35
|
+
const written = Math.min(Math.max(tokens.cacheWriteInput ?? 0, 0), tokens.input - cached);
|
|
36
|
+
const plain = tokens.input - cached - written;
|
|
37
|
+
return ((plain * m.inputPer1M +
|
|
38
|
+
cached * (m.cachedInputPer1M ?? m.inputPer1M) +
|
|
39
|
+
written * (m.cacheWriteInputPer1M ?? m.inputPer1M) +
|
|
40
|
+
tokens.output * m.outputPer1M) /
|
|
41
|
+
1e6);
|
|
25
42
|
}
|
|
26
43
|
/**
|
|
27
44
|
* The effort a model actually gets for a requested one: the same if it
|
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAoD5E,kFAAkF;AAClF,MAAM,UAAU,UAAU,CAAC,MAAoB,EAAE,KAAa;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AAC1C,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAC1B,MAAoB,EACpB,KAAa;IAEb,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACxE,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,MAAoB,EACpB,KAAa,EACb,MAKC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5E,sEAAsE;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,CAAC,EACxC,MAAM,CAAC,KAAK,GAAG,MAAM,CACtB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,OAAO,CACL,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU;QACnB,MAAM,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,CAAC;QAC7C,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,UAAU,CAAC;QAClD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC;QAChC,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,MAAoB,EACpB,KAAa,EACb,SAA6C;IAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACvC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC"}
|
package/dist/runner.d.ts
CHANGED
|
@@ -66,12 +66,15 @@ export type RunnerOptions = {
|
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
68
|
/**
|
|
69
|
-
* Which model a feature runs on now, its fallback,
|
|
69
|
+
* Which model a feature runs on now, its fallback, its reasoning setting,
|
|
70
|
+
* and its temperature.
|
|
70
71
|
*/
|
|
71
72
|
export type Route = {
|
|
72
73
|
model: string;
|
|
73
74
|
fallbackModel: string | null;
|
|
74
75
|
reasoningEffort: ReasoningEffort | null;
|
|
76
|
+
/** Null or unset: no temperature sent. */
|
|
77
|
+
temperature?: number | null;
|
|
75
78
|
};
|
|
76
79
|
/**
|
|
77
80
|
* How to run a test: fresh (no reuse), and, for a test continued in a new request, its leg
|
|
@@ -97,6 +100,8 @@ export declare function requestHashFor(r: {
|
|
|
97
100
|
prompt: string;
|
|
98
101
|
input: unknown;
|
|
99
102
|
repeat: number;
|
|
103
|
+
/** Left out of the hash when null, so requests without one reuse as before. */
|
|
104
|
+
temperature?: number | null;
|
|
100
105
|
}): string;
|
|
101
106
|
/** Changes whenever a case or its answer in use does. */
|
|
102
107
|
export declare function datasetVersion(cases: CaseRecord[]): string;
|
|
@@ -146,6 +151,8 @@ export declare function createRunner(opts: RunnerOptions): {
|
|
|
146
151
|
fresh?: boolean;
|
|
147
152
|
/** The setting to test; undefined: the operation's live one. */
|
|
148
153
|
reasoningEffort?: ReasoningEffort | null;
|
|
154
|
+
/** The temperature to test; undefined: the operation's live one. */
|
|
155
|
+
temperature?: number | null;
|
|
149
156
|
}) => Promise<{
|
|
150
157
|
cases: number;
|
|
151
158
|
/** Answers the test will need: cases times repeats. */
|
|
@@ -163,6 +170,8 @@ export declare function createRunner(opts: RunnerOptions): {
|
|
|
163
170
|
startedBy?: string | null;
|
|
164
171
|
/** A reasoning setting to test; undefined: the operation's own. */
|
|
165
172
|
reasoningEffort?: ReasoningEffort | null;
|
|
173
|
+
/** A temperature to test; undefined: the operation's live one. */
|
|
174
|
+
temperature?: number | null;
|
|
166
175
|
/** For the estimate: pass the same `fresh` to runEval. */
|
|
167
176
|
fresh?: boolean;
|
|
168
177
|
}) => Promise<{
|
package/dist/runner.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
8
|
import { compareRuns } from "./compare.js";
|
|
9
9
|
import { isStuck, shouldContinue } from "./legs.js";
|
|
10
|
-
import { effortFor, } from "./models.js";
|
|
10
|
+
import { effortFor, isBaseline, } from "./models.js";
|
|
11
11
|
import { allPassed } from "./stats.js";
|
|
12
12
|
import { pickQuickSet } from "./quickSet.js";
|
|
13
13
|
import { stableJson } from "./stableJson.js";
|
|
@@ -47,6 +47,7 @@ export function requestHashFor(r) {
|
|
|
47
47
|
prompt: r.prompt,
|
|
48
48
|
input: r.input,
|
|
49
49
|
repeat: r.repeat,
|
|
50
|
+
...(r.temperature != null ? { temperature: r.temperature } : {}),
|
|
50
51
|
}), 64);
|
|
51
52
|
}
|
|
52
53
|
/** Changes whenever a case or its answer in use does. */
|
|
@@ -132,6 +133,12 @@ export function createRunner(opts) {
|
|
|
132
133
|
return (await opts.route(operation)).reasoningEffort;
|
|
133
134
|
return null;
|
|
134
135
|
}
|
|
136
|
+
/** The operation's live temperature: the route's, else none. */
|
|
137
|
+
async function liveTemperatureFor(operation) {
|
|
138
|
+
if (!opts.route)
|
|
139
|
+
return null;
|
|
140
|
+
return (await opts.route(operation)).temperature ?? null;
|
|
141
|
+
}
|
|
135
142
|
/**
|
|
136
143
|
* What a test would cost. Answers an identical request gave in the last
|
|
137
144
|
* 7 days are reused for free, so only the rest are priced: a retest
|
|
@@ -140,13 +147,16 @@ export function createRunner(opts) {
|
|
|
140
147
|
*/
|
|
141
148
|
async function estimateRun(suiteKey, model, set, repeats, o = {}) {
|
|
142
149
|
const suite = suiteOrThrow(suiteKey);
|
|
143
|
-
const [cases, perCall, prompt, effort] = await Promise.all([
|
|
150
|
+
const [cases, perCall, prompt, effort, temperature] = await Promise.all([
|
|
144
151
|
casesFor(suite.key, set),
|
|
145
152
|
opts.estimateCallCost?.(suite.operation, model) ?? null,
|
|
146
153
|
opts.promptVersion(suite.operation),
|
|
147
154
|
o.reasoningEffort !== undefined
|
|
148
155
|
? o.reasoningEffort
|
|
149
156
|
: liveEffortFor(suite.operation),
|
|
157
|
+
o.temperature !== undefined
|
|
158
|
+
? o.temperature
|
|
159
|
+
: liveTemperatureFor(suite.operation),
|
|
150
160
|
]);
|
|
151
161
|
const answers = cases.length * repeats;
|
|
152
162
|
const since = new Date(Date.now() - REUSE_DAYS * 86_400_000);
|
|
@@ -159,6 +169,7 @@ export function createRunner(opts) {
|
|
|
159
169
|
prompt,
|
|
160
170
|
input: c.input,
|
|
161
171
|
repeat: i + 1,
|
|
172
|
+
temperature,
|
|
162
173
|
}), since))))).filter(Boolean).length;
|
|
163
174
|
return {
|
|
164
175
|
cases: cases.length,
|
|
@@ -175,9 +186,13 @@ export function createRunner(opts) {
|
|
|
175
186
|
const reasoningEffort = args.reasoningEffort !== undefined
|
|
176
187
|
? args.reasoningEffort
|
|
177
188
|
: await liveEffortFor(suite.operation);
|
|
189
|
+
const temperature = args.temperature !== undefined
|
|
190
|
+
? args.temperature
|
|
191
|
+
: await liveTemperatureFor(suite.operation);
|
|
178
192
|
const [estimate, promptVersion] = await Promise.all([
|
|
179
193
|
estimateRun(suite.key, args.model, set, repeats, {
|
|
180
194
|
reasoningEffort,
|
|
195
|
+
temperature,
|
|
181
196
|
fresh: Boolean(args.fresh),
|
|
182
197
|
}),
|
|
183
198
|
opts.promptVersion(suite.operation),
|
|
@@ -188,6 +203,7 @@ export function createRunner(opts) {
|
|
|
188
203
|
model: args.model,
|
|
189
204
|
promptVersion,
|
|
190
205
|
reasoningEffort: args.reasoningEffort !== undefined ? args.reasoningEffort : liveEffort,
|
|
206
|
+
temperature,
|
|
191
207
|
set,
|
|
192
208
|
repeats,
|
|
193
209
|
datasetVersion: null,
|
|
@@ -290,6 +306,7 @@ export function createRunner(opts) {
|
|
|
290
306
|
prompt: run.promptVersion,
|
|
291
307
|
input: c.input,
|
|
292
308
|
repeat,
|
|
309
|
+
temperature: run.temperature ?? null,
|
|
293
310
|
});
|
|
294
311
|
const earlier = o.fresh
|
|
295
312
|
? null
|
|
@@ -317,6 +334,7 @@ export function createRunner(opts) {
|
|
|
317
334
|
const output = await withTimeout(suite.run(suite.input.parse(c.input), {
|
|
318
335
|
model: run.model,
|
|
319
336
|
reasoningEffort: run.reasoningEffort ?? null,
|
|
337
|
+
temperature: run.temperature ?? null,
|
|
320
338
|
onCost: (usd) => (cost += usd),
|
|
321
339
|
}), timeout);
|
|
322
340
|
await store.createOutput({
|
|
@@ -443,6 +461,7 @@ export function createRunner(opts) {
|
|
|
443
461
|
set: "SMOKE",
|
|
444
462
|
startedBy: SCHEDULED,
|
|
445
463
|
reasoningEffort: route.reasoningEffort,
|
|
464
|
+
temperature: route.temperature ?? null,
|
|
446
465
|
});
|
|
447
466
|
return run.id;
|
|
448
467
|
}
|
|
@@ -544,14 +563,19 @@ export function createRunner(opts) {
|
|
|
544
563
|
if (r.status === "SUCCEEDED" && !latestDone.has(runKey(r)))
|
|
545
564
|
latestDone.set(runKey(r), r);
|
|
546
565
|
}
|
|
547
|
-
const
|
|
566
|
+
const liveTemperature = route.temperature ?? null;
|
|
567
|
+
// A test at another temperature than the live one answered differently.
|
|
568
|
+
const isCurrent = (r) => r.datasetVersion === current &&
|
|
569
|
+
r.promptVersion === prompt &&
|
|
570
|
+
(r.temperature ?? null) === liveTemperature;
|
|
548
571
|
const liveKey = keyOf(route.model, defaultEffort);
|
|
549
572
|
const liveRun = latestDone.get(liveKey);
|
|
550
573
|
// Tests on the same cases and instructions as the live model's compare
|
|
551
574
|
// with it, even if the answer key has changed since.
|
|
552
575
|
const sameAsLive = (r) => liveRun !== undefined &&
|
|
553
576
|
r.datasetVersion === liveRun.datasetVersion &&
|
|
554
|
-
r.promptVersion === liveRun.promptVersion
|
|
577
|
+
r.promptVersion === liveRun.promptVersion &&
|
|
578
|
+
(r.temperature ?? null) === (liveRun.temperature ?? null);
|
|
555
579
|
const outputs = new Map();
|
|
556
580
|
for (const r of latestDone.values())
|
|
557
581
|
outputs.set(r.id, (await store.listOutputs(r.id)).map((x) => ({
|
|
@@ -607,6 +631,7 @@ export function createRunner(opts) {
|
|
|
607
631
|
.verdict
|
|
608
632
|
: null;
|
|
609
633
|
const label = opts.models[model]?.label ?? model;
|
|
634
|
+
const baseline = isBaseline(opts.models, model);
|
|
610
635
|
return {
|
|
611
636
|
key,
|
|
612
637
|
model,
|
|
@@ -617,6 +642,7 @@ export function createRunner(opts) {
|
|
|
617
642
|
: label,
|
|
618
643
|
live: key === liveKey,
|
|
619
644
|
fallback: !variant && model === route.fallbackModel,
|
|
645
|
+
baseline,
|
|
620
646
|
testing: testing.has(key),
|
|
621
647
|
failed: lastRun?.status === "FAILED"
|
|
622
648
|
? (lastRun.error ?? "unknown error").slice(0, 160)
|
|
@@ -641,13 +667,15 @@ export function createRunner(opts) {
|
|
|
641
667
|
: null,
|
|
642
668
|
vsLive,
|
|
643
669
|
// Only on up-to-date tests: never promote on an old answer key.
|
|
644
|
-
canMakeLive:
|
|
670
|
+
canMakeLive: !baseline &&
|
|
671
|
+
models.includes(model) &&
|
|
645
672
|
fresh &&
|
|
646
673
|
complete(r) &&
|
|
647
674
|
(vsLive === "BETTER" || vsLive === "SAME"),
|
|
648
675
|
liveOnly: !fallbackModels.includes(model),
|
|
649
676
|
fallbackOnly: !models.includes(model),
|
|
650
|
-
canMakeFallback:
|
|
677
|
+
canMakeFallback: !baseline &&
|
|
678
|
+
fallbackModels.includes(model) &&
|
|
651
679
|
!variant &&
|
|
652
680
|
model !== route.model &&
|
|
653
681
|
model !== route.fallbackModel &&
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ import type { Route } from "./runner.js";
|
|
|
10
10
|
* your own routing and pass `route` to the runner yourself.
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
|
-
* A feature's model settings: live model, fallback, reasoning setting,
|
|
13
|
+
* A feature's model settings: live model, fallback, reasoning setting,
|
|
14
|
+
* output limit, and temperature.
|
|
14
15
|
*/
|
|
15
16
|
export type Settings = {
|
|
16
17
|
model: string;
|
|
@@ -19,6 +20,12 @@ export type Settings = {
|
|
|
19
20
|
reasoningEffort: ReasoningEffort | null;
|
|
20
21
|
/** Null: the call's own default. */
|
|
21
22
|
maxOutputTokens: number | null;
|
|
23
|
+
/**
|
|
24
|
+
* The sampling temperature the feature sends. Null or unset: none sent,
|
|
25
|
+
* so the model's own default. Tests record it, and a test at another
|
|
26
|
+
* temperature than the live one is out of date.
|
|
27
|
+
*/
|
|
28
|
+
temperature?: number | null;
|
|
22
29
|
};
|
|
23
30
|
/**
|
|
24
31
|
* One numbered version of a feature's settings, with the instructions it ran with. Never changed.
|
|
@@ -94,6 +101,16 @@ export interface SettingsStore {
|
|
|
94
101
|
export declare class SettingsConflict extends Error {
|
|
95
102
|
constructor(operation: string);
|
|
96
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* A feature has no settings: no version yet, and no default in code. Apps
|
|
106
|
+
* whose models are chosen in an admin page, not in code, see this until
|
|
107
|
+
* the feature's first version is recorded (`seed` or `change`).
|
|
108
|
+
*/
|
|
109
|
+
export declare class NoSettingsError extends Error {
|
|
110
|
+
/** The feature with no settings. */
|
|
111
|
+
readonly operation: string;
|
|
112
|
+
constructor(operation: string);
|
|
113
|
+
}
|
|
97
114
|
/** Whether two settings are the same in every field. */
|
|
98
115
|
export declare function sameSettings(a: Settings, b: Settings): boolean;
|
|
99
116
|
/** Just the settings of a version. */
|
|
@@ -123,11 +140,28 @@ export type HistoryEntry = SettingsChange & {
|
|
|
123
140
|
* });
|
|
124
141
|
* await settings.rollBack("ticket_triage", versionId, { by: admin.name, reason: "Worse in production" });
|
|
125
142
|
* ```
|
|
143
|
+
*
|
|
144
|
+
* When models are chosen in an admin page rather than in code, return null
|
|
145
|
+
* from `defaults` and record each feature's existing config as version 1
|
|
146
|
+
* with `seed`:
|
|
147
|
+
*
|
|
148
|
+
* ```ts
|
|
149
|
+
* const settings = createSettings({ store, defaults: () => null });
|
|
150
|
+
* for (const row of await db.aiConfig.findMany())
|
|
151
|
+
* await settings.seed(row.operation, settingsFromRow(row), {
|
|
152
|
+
* by: null,
|
|
153
|
+
* reason: "Imported from the admin config",
|
|
154
|
+
* });
|
|
155
|
+
* ```
|
|
126
156
|
*/
|
|
127
157
|
export declare function createSettings(opts: {
|
|
128
158
|
store: SettingsStore;
|
|
129
|
-
/**
|
|
130
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Each feature's settings in code, used until it's first changed. Null:
|
|
161
|
+
* the feature has no default, and reading its settings throws
|
|
162
|
+
* `NoSettingsError` until a version is recorded.
|
|
163
|
+
*/
|
|
164
|
+
defaults: (operation: string) => Settings | null;
|
|
131
165
|
/** The instructions' current hash, so a version records what it ran. */
|
|
132
166
|
promptVersion?: (operation: string) => string | Promise<string>;
|
|
133
167
|
}): {
|
|
@@ -151,6 +185,11 @@ export declare function createSettings(opts: {
|
|
|
151
185
|
reason: string;
|
|
152
186
|
}) => Promise<SettingsVersion>;
|
|
153
187
|
syncPrompt: (operation: string) => Promise<SettingsVersion | null>;
|
|
188
|
+
seed: (operation: string, initial: Settings, by: {
|
|
189
|
+
by: string | null;
|
|
190
|
+
reason: string | null;
|
|
191
|
+
promptVersion?: string | null;
|
|
192
|
+
}) => Promise<SettingsVersion | null>;
|
|
154
193
|
history: (operation: string, limit?: number) => Promise<HistoryEntry[]>;
|
|
155
194
|
};
|
|
156
195
|
/** What createSettings returns. */
|