@arizeai/phoenix-client 5.2.1 → 5.4.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 +3 -3
- package/dist/esm/__generated__/api/v1.d.ts +321 -9
- package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
- package/dist/esm/experiments/createExperiment.d.ts +39 -0
- package/dist/esm/experiments/createExperiment.d.ts.map +1 -0
- package/dist/esm/experiments/createExperiment.js +43 -0
- package/dist/esm/experiments/createExperiment.js.map +1 -0
- package/dist/esm/experiments/deleteExperiment.d.ts +36 -0
- package/dist/esm/experiments/deleteExperiment.d.ts.map +1 -0
- package/dist/esm/experiments/deleteExperiment.js +49 -0
- package/dist/esm/experiments/deleteExperiment.js.map +1 -0
- package/dist/esm/experiments/getExperimentInfo.d.ts.map +1 -1
- package/dist/esm/experiments/getExperimentInfo.js +9 -2
- package/dist/esm/experiments/getExperimentInfo.js.map +1 -1
- package/dist/esm/experiments/helpers/asExperimentEvaluator.d.ts +19 -0
- package/dist/esm/experiments/helpers/asExperimentEvaluator.d.ts.map +1 -0
- package/dist/esm/experiments/helpers/asExperimentEvaluator.js +19 -0
- package/dist/esm/experiments/helpers/asExperimentEvaluator.js.map +1 -0
- package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.d.ts +9 -0
- package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.d.ts.map +1 -0
- package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.js +18 -0
- package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.js.map +1 -0
- package/dist/esm/experiments/helpers/getExperimentEvaluators.d.ts +6 -0
- package/dist/esm/experiments/helpers/getExperimentEvaluators.d.ts.map +1 -0
- package/dist/esm/experiments/helpers/getExperimentEvaluators.js +58 -0
- package/dist/esm/experiments/helpers/getExperimentEvaluators.js.map +1 -0
- package/dist/esm/experiments/helpers/index.d.ts +4 -0
- package/dist/esm/experiments/helpers/index.d.ts.map +1 -0
- package/dist/esm/experiments/helpers/index.js +4 -0
- package/dist/esm/experiments/helpers/index.js.map +1 -0
- package/dist/esm/experiments/index.d.ts +6 -0
- package/dist/esm/experiments/index.d.ts.map +1 -1
- package/dist/esm/experiments/index.js +6 -0
- package/dist/esm/experiments/index.js.map +1 -1
- package/dist/esm/experiments/listExperiments.d.ts +29 -0
- package/dist/esm/experiments/listExperiments.d.ts.map +1 -0
- package/dist/esm/experiments/listExperiments.js +59 -0
- package/dist/esm/experiments/listExperiments.js.map +1 -0
- package/dist/esm/experiments/resumeEvaluation.d.ts +105 -0
- package/dist/esm/experiments/resumeEvaluation.d.ts.map +1 -0
- package/dist/esm/experiments/resumeEvaluation.js +559 -0
- package/dist/esm/experiments/resumeEvaluation.js.map +1 -0
- package/dist/esm/experiments/resumeExperiment.d.ts +102 -0
- package/dist/esm/experiments/resumeExperiment.d.ts.map +1 -0
- package/dist/esm/experiments/resumeExperiment.js +517 -0
- package/dist/esm/experiments/resumeExperiment.js.map +1 -0
- package/dist/esm/experiments/runExperiment.d.ts +4 -3
- package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
- package/dist/esm/experiments/runExperiment.js +32 -3
- package/dist/esm/experiments/runExperiment.js.map +1 -1
- package/dist/esm/prompts/createPrompt.d.ts +19 -1
- package/dist/esm/prompts/createPrompt.d.ts.map +1 -1
- package/dist/esm/prompts/createPrompt.js +14 -1
- package/dist/esm/prompts/createPrompt.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types/experiments.d.ts +66 -3
- package/dist/esm/types/experiments.d.ts.map +1 -1
- package/dist/esm/utils/channel.d.ts +229 -0
- package/dist/esm/utils/channel.d.ts.map +1 -0
- package/dist/esm/utils/channel.js +352 -0
- package/dist/esm/utils/channel.js.map +1 -0
- package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/esm/utils/isHttpError.d.ts +21 -0
- package/dist/esm/utils/isHttpError.d.ts.map +1 -0
- package/dist/esm/utils/isHttpError.js +33 -0
- package/dist/esm/utils/isHttpError.js.map +1 -0
- package/dist/src/__generated__/api/v1.d.ts +321 -9
- package/dist/src/__generated__/api/v1.d.ts.map +1 -1
- package/dist/src/experiments/createExperiment.d.ts +39 -0
- package/dist/src/experiments/createExperiment.d.ts.map +1 -0
- package/dist/src/experiments/createExperiment.js +43 -0
- package/dist/src/experiments/createExperiment.js.map +1 -0
- package/dist/src/experiments/deleteExperiment.d.ts +36 -0
- package/dist/src/experiments/deleteExperiment.d.ts.map +1 -0
- package/dist/src/experiments/deleteExperiment.js +52 -0
- package/dist/src/experiments/deleteExperiment.js.map +1 -0
- package/dist/src/experiments/getExperimentInfo.d.ts.map +1 -1
- package/dist/src/experiments/getExperimentInfo.js +9 -2
- package/dist/src/experiments/getExperimentInfo.js.map +1 -1
- package/dist/src/experiments/helpers/asExperimentEvaluator.d.ts +19 -0
- package/dist/src/experiments/helpers/asExperimentEvaluator.d.ts.map +1 -0
- package/dist/src/experiments/helpers/asExperimentEvaluator.js +22 -0
- package/dist/src/experiments/helpers/asExperimentEvaluator.js.map +1 -0
- package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.d.ts +9 -0
- package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.d.ts.map +1 -0
- package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.js +21 -0
- package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.js.map +1 -0
- package/dist/src/experiments/helpers/getExperimentEvaluators.d.ts +6 -0
- package/dist/src/experiments/helpers/getExperimentEvaluators.d.ts.map +1 -0
- package/dist/src/experiments/helpers/getExperimentEvaluators.js +61 -0
- package/dist/src/experiments/helpers/getExperimentEvaluators.js.map +1 -0
- package/dist/src/experiments/helpers/index.d.ts +4 -0
- package/dist/src/experiments/helpers/index.d.ts.map +1 -0
- package/dist/src/experiments/helpers/index.js +20 -0
- package/dist/src/experiments/helpers/index.js.map +1 -0
- package/dist/src/experiments/index.d.ts +6 -0
- package/dist/src/experiments/index.d.ts.map +1 -1
- package/dist/src/experiments/index.js +6 -0
- package/dist/src/experiments/index.js.map +1 -1
- package/dist/src/experiments/listExperiments.d.ts +29 -0
- package/dist/src/experiments/listExperiments.d.ts.map +1 -0
- package/dist/src/experiments/listExperiments.js +66 -0
- package/dist/src/experiments/listExperiments.js.map +1 -0
- package/dist/src/experiments/resumeEvaluation.d.ts +105 -0
- package/dist/src/experiments/resumeEvaluation.d.ts.map +1 -0
- package/dist/src/experiments/resumeEvaluation.js +585 -0
- package/dist/src/experiments/resumeEvaluation.js.map +1 -0
- package/dist/src/experiments/resumeExperiment.d.ts +102 -0
- package/dist/src/experiments/resumeExperiment.d.ts.map +1 -0
- package/dist/src/experiments/resumeExperiment.js +540 -0
- package/dist/src/experiments/resumeExperiment.js.map +1 -0
- package/dist/src/experiments/runExperiment.d.ts +4 -3
- package/dist/src/experiments/runExperiment.d.ts.map +1 -1
- package/dist/src/experiments/runExperiment.js +32 -3
- package/dist/src/experiments/runExperiment.js.map +1 -1
- package/dist/src/prompts/createPrompt.d.ts +19 -1
- package/dist/src/prompts/createPrompt.d.ts.map +1 -1
- package/dist/src/prompts/createPrompt.js +14 -1
- package/dist/src/prompts/createPrompt.js.map +1 -1
- package/dist/src/types/experiments.d.ts +66 -3
- package/dist/src/types/experiments.d.ts.map +1 -1
- package/dist/src/utils/channel.d.ts +229 -0
- package/dist/src/utils/channel.d.ts.map +1 -0
- package/dist/src/utils/channel.js +385 -0
- package/dist/src/utils/channel.js.map +1 -0
- package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/src/utils/isHttpError.d.ts +21 -0
- package/dist/src/utils/isHttpError.d.ts.map +1 -0
- package/dist/src/utils/isHttpError.js +37 -0
- package/dist/src/utils/isHttpError.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/src/__generated__/api/v1.ts +321 -9
- package/src/experiments/createExperiment.ts +90 -0
- package/src/experiments/deleteExperiment.ts +67 -0
- package/src/experiments/getExperimentInfo.ts +9 -2
- package/src/experiments/helpers/asExperimentEvaluator.ts +29 -0
- package/src/experiments/helpers/fromPhoenixLLMEvaluator.ts +24 -0
- package/src/experiments/helpers/getExperimentEvaluators.ts +74 -0
- package/src/experiments/helpers/index.ts +3 -0
- package/src/experiments/index.ts +6 -0
- package/src/experiments/listExperiments.ts +83 -0
- package/src/experiments/resumeEvaluation.ts +804 -0
- package/src/experiments/resumeExperiment.ts +745 -0
- package/src/experiments/runExperiment.ts +37 -5
- package/src/prompts/createPrompt.ts +19 -1
- package/src/types/experiments.ts +72 -3
- package/src/utils/channel.ts +397 -0
- package/src/utils/isHttpError.ts +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteExperiment.d.ts","sourceRoot":"","sources":["../../../src/experiments/deleteExperiment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EAAE,OAAO,EACf,YAAY,GACb,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteExperiment = deleteExperiment;
|
|
4
|
+
const client_1 = require("../client");
|
|
5
|
+
const ensureString_1 = require("../utils/ensureString");
|
|
6
|
+
/**
|
|
7
|
+
* Delete an experiment by ID.
|
|
8
|
+
*
|
|
9
|
+
* **Important**: This operation permanently deletes the experiment and all its associated
|
|
10
|
+
* runs, evaluations, and annotations.
|
|
11
|
+
*
|
|
12
|
+
* Behavior:
|
|
13
|
+
* - Deletes the experiment and all its data
|
|
14
|
+
* - Returns successfully if experiment is found and deleted
|
|
15
|
+
* - Throws error if experiment is not found (404) or other errors occur
|
|
16
|
+
*
|
|
17
|
+
* @param params - The parameters to delete an experiment
|
|
18
|
+
* @returns Promise that resolves when the experiment is successfully deleted
|
|
19
|
+
* @throws Error if the experiment is not found or deletion fails
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { deleteExperiment } from "@arizeai/phoenix-client/experiments";
|
|
24
|
+
*
|
|
25
|
+
* await deleteExperiment({
|
|
26
|
+
* experimentId: "exp_123",
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
async function deleteExperiment({ client: _client, experimentId, }) {
|
|
31
|
+
const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
|
|
32
|
+
const { error } = await client.DELETE("/v1/experiments/{experiment_id}", {
|
|
33
|
+
params: {
|
|
34
|
+
path: {
|
|
35
|
+
experiment_id: experimentId,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
if (error) {
|
|
40
|
+
const isNotFound = typeof error === "object" &&
|
|
41
|
+
error !== null &&
|
|
42
|
+
"status" in error &&
|
|
43
|
+
error.status === 404;
|
|
44
|
+
if (isNotFound) {
|
|
45
|
+
throw new Error(`Experiment not found: ${experimentId}`);
|
|
46
|
+
}
|
|
47
|
+
// Extract meaningful error information
|
|
48
|
+
const errorMessage = (0, ensureString_1.ensureString)(error);
|
|
49
|
+
throw new Error(`Failed to delete experiment: ${errorMessage}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=deleteExperiment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteExperiment.js","sourceRoot":"","sources":["../../../src/experiments/deleteExperiment.ts"],"names":[],"mappings":";;AAsCA,4CA4BC;AAlED,sCAAyC;AAEzC,wDAAqD;AAYrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,gBAAgB,CAAC,EACrC,MAAM,EAAE,OAAO,EACf,YAAY,GACW;IACvB,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAA,qBAAY,GAAE,CAAC;IAEzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,iCAAiC,EAAE;QACvE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,aAAa,EAAE,YAAY;aAC5B;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GACd,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExperimentInfo.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,GAC5B,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"getExperimentInfo.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,GAC5B,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyB/C"}
|
|
@@ -23,8 +23,15 @@ async function getExperimentInfo({ client: _client, experimentId: experiment_id,
|
|
|
23
23
|
id: experimentData.id,
|
|
24
24
|
datasetId: experimentData.dataset_id,
|
|
25
25
|
datasetVersionId: experimentData.dataset_version_id,
|
|
26
|
-
|
|
27
|
-
metadata: experimentData.metadata,
|
|
26
|
+
repetitions: experimentData.repetitions,
|
|
27
|
+
metadata: experimentData.metadata || {},
|
|
28
|
+
projectName: experimentData.project_name || null,
|
|
29
|
+
createdAt: experimentData.created_at,
|
|
30
|
+
updatedAt: experimentData.updated_at,
|
|
31
|
+
exampleCount: experimentData.example_count,
|
|
32
|
+
successfulRunCount: experimentData.successful_run_count,
|
|
33
|
+
failedRunCount: experimentData.failed_run_count,
|
|
34
|
+
missingRunCount: experimentData.missing_run_count,
|
|
28
35
|
};
|
|
29
36
|
}
|
|
30
37
|
//# sourceMappingURL=getExperimentInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExperimentInfo.js","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":";;;;;AAgBA,
|
|
1
|
+
{"version":3,"file":"getExperimentInfo.js","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":";;;;;AAgBA,8CA4BC;AA5CD,sCAAyC;AAIzC,oEAAuC;AASvC;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,GACP;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,IAAA,qBAAY,GAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAC5D,MAAM,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE;QAClD,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,aAAa;aACd;SACF;KACF,CAAC,CAAC;IACL,IAAA,wBAAS,EAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,cAAc,CAAC,EAAE;QACrB,SAAS,EAAE,cAAc,CAAC,UAAU;QACpC,gBAAgB,EAAE,cAAc,CAAC,kBAAkB;QACnD,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,EAAE;QACvC,WAAW,EAAE,cAAc,CAAC,YAAY,IAAI,IAAI;QAChD,SAAS,EAAE,cAAc,CAAC,UAAU;QACpC,SAAS,EAAE,cAAc,CAAC,UAAU;QACpC,YAAY,EAAE,cAAc,CAAC,aAAa;QAC1C,kBAAkB,EAAE,cAAc,CAAC,oBAAoB;QACvD,cAAc,EAAE,cAAc,CAAC,gBAAgB;QAC/C,eAAe,EAAE,cAAc,CAAC,iBAAiB;KAClD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AnnotatorKind } from "../../types/annotations";
|
|
2
|
+
import { Evaluator } from "../../types/experiments";
|
|
3
|
+
/**
|
|
4
|
+
* Wrap an evaluator function in an object with a name property.
|
|
5
|
+
*
|
|
6
|
+
* @experimental This feature is not complete, and will change in the future.
|
|
7
|
+
*
|
|
8
|
+
* @param params - The parameters for creating the evaluator
|
|
9
|
+
* @param params.name - The name of the evaluator.
|
|
10
|
+
* @param params.kind - The kind of evaluator (e.g., "CODE", "LLM")
|
|
11
|
+
* @param params.evaluate - The evaluator function.
|
|
12
|
+
* @returns The evaluator object.
|
|
13
|
+
*/
|
|
14
|
+
export declare function asExperimentEvaluator({ name, kind, evaluate, }: {
|
|
15
|
+
name: string;
|
|
16
|
+
kind: AnnotatorKind;
|
|
17
|
+
evaluate: Evaluator["evaluate"];
|
|
18
|
+
}): Evaluator;
|
|
19
|
+
//# sourceMappingURL=asExperimentEvaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asExperimentEvaluator.d.ts","sourceRoot":"","sources":["../../../../src/experiments/helpers/asExperimentEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CACjC,GAAG,SAAS,CAMZ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asExperimentEvaluator = asExperimentEvaluator;
|
|
4
|
+
/**
|
|
5
|
+
* Wrap an evaluator function in an object with a name property.
|
|
6
|
+
*
|
|
7
|
+
* @experimental This feature is not complete, and will change in the future.
|
|
8
|
+
*
|
|
9
|
+
* @param params - The parameters for creating the evaluator
|
|
10
|
+
* @param params.name - The name of the evaluator.
|
|
11
|
+
* @param params.kind - The kind of evaluator (e.g., "CODE", "LLM")
|
|
12
|
+
* @param params.evaluate - The evaluator function.
|
|
13
|
+
* @returns The evaluator object.
|
|
14
|
+
*/
|
|
15
|
+
function asExperimentEvaluator({ name, kind, evaluate, }) {
|
|
16
|
+
return {
|
|
17
|
+
name,
|
|
18
|
+
kind,
|
|
19
|
+
evaluate,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=asExperimentEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asExperimentEvaluator.js","sourceRoot":"","sources":["../../../../src/experiments/helpers/asExperimentEvaluator.ts"],"names":[],"mappings":";;AAcA,sDAcC;AAzBD;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,QAAQ,GAKT;IACC,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LLMEvaluator } from "@arizeai/phoenix-evals";
|
|
2
|
+
import { Evaluator } from "../../types/experiments";
|
|
3
|
+
/**
|
|
4
|
+
* A function that acts as a bridge, converting phoenix-evals to be experiment evaluator compatible
|
|
5
|
+
* @param phoenixEvaluator
|
|
6
|
+
* @returns an experiment compatible Evaluator
|
|
7
|
+
*/
|
|
8
|
+
export declare function fromPhoenixLLMEvaluator<RecordType extends Record<string, unknown>>(phoenixLLMEvaluator: LLMEvaluator<RecordType>): Evaluator;
|
|
9
|
+
//# sourceMappingURL=fromPhoenixLLMEvaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromPhoenixLLMEvaluator.d.ts","sourceRoot":"","sources":["../../../../src/experiments/helpers/fromPhoenixLLMEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,mBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,SAAS,CAU1D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromPhoenixLLMEvaluator = fromPhoenixLLMEvaluator;
|
|
4
|
+
const asExperimentEvaluator_1 = require("./asExperimentEvaluator");
|
|
5
|
+
/**
|
|
6
|
+
* A function that acts as a bridge, converting phoenix-evals to be experiment evaluator compatible
|
|
7
|
+
* @param phoenixEvaluator
|
|
8
|
+
* @returns an experiment compatible Evaluator
|
|
9
|
+
*/
|
|
10
|
+
function fromPhoenixLLMEvaluator(phoenixLLMEvaluator) {
|
|
11
|
+
return (0, asExperimentEvaluator_1.asExperimentEvaluator)({
|
|
12
|
+
name: phoenixLLMEvaluator.name,
|
|
13
|
+
kind: "LLM",
|
|
14
|
+
evaluate: (example) => {
|
|
15
|
+
// For now blindly coerce the types
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
|
+
return phoenixLLMEvaluator.evaluate(example);
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=fromPhoenixLLMEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromPhoenixLLMEvaluator.js","sourceRoot":"","sources":["../../../../src/experiments/helpers/fromPhoenixLLMEvaluator.ts"],"names":[],"mappings":";;AAWA,0DAYC;AAnBD,mEAAgE;AAEhE;;;;GAIG;AACH,SAAgB,uBAAuB,CAErC,mBAA6C;IAC7C,OAAO,IAAA,6CAAqB,EAAC;QAC3B,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,mCAAmC;YACnC,8DAA8D;YAC9D,OAAO,mBAAmB,CAAC,QAAQ,CAAC,OAAc,CAAC,CAAC;QACtD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Evaluator } from "../../types/experiments";
|
|
2
|
+
/**
|
|
3
|
+
* A function that normalizes evaluators to be runnable by experiments. This is a best effort to support a variety of evaluator types.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getExperimentEvaluators(evaluators: unknown[]): Evaluator[];
|
|
6
|
+
//# sourceMappingURL=getExperimentEvaluators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExperimentEvaluators.d.ts","sourceRoot":"","sources":["../../../../src/experiments/helpers/getExperimentEvaluators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAyDpD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAW1E"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getExperimentEvaluators = getExperimentEvaluators;
|
|
4
|
+
const fromPhoenixLLMEvaluator_1 = require("./fromPhoenixLLMEvaluator");
|
|
5
|
+
/**
|
|
6
|
+
* A type guard for LLMEvaluator classes.
|
|
7
|
+
* Note: this is not fool proof, and may need to be updated as phoenix-evals evolves.
|
|
8
|
+
*/
|
|
9
|
+
function isPhoenixLLMEvaluator(evaluator) {
|
|
10
|
+
if (typeof evaluator !== "object" ||
|
|
11
|
+
evaluator === null ||
|
|
12
|
+
!("evaluate" in evaluator) ||
|
|
13
|
+
typeof evaluator.evaluate !== "function" ||
|
|
14
|
+
!("name" in evaluator) ||
|
|
15
|
+
typeof evaluator.name !== "string" ||
|
|
16
|
+
!("kind" in evaluator) ||
|
|
17
|
+
typeof evaluator.kind !== "string" ||
|
|
18
|
+
evaluator.kind !== "LLM") {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
// Check if it's a class instance (not a plain object)
|
|
22
|
+
// Phoenix evaluators are class instances, plain evaluators are objects
|
|
23
|
+
const isClassInstance = evaluator.constructor !== Object && evaluator.constructor !== undefined;
|
|
24
|
+
// If it's a class instance, it's definitely a phoenix evaluator
|
|
25
|
+
if (isClassInstance) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// Otherwise, it's a plain Evaluator object, not a phoenix evaluator
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A type guard for Evaluator objects.
|
|
33
|
+
* Note: this is not fool proof, and may need to be updated as the package evolves
|
|
34
|
+
*/
|
|
35
|
+
function isExperimentEvaluator(evaluator) {
|
|
36
|
+
return (typeof evaluator === "object" &&
|
|
37
|
+
evaluator !== null &&
|
|
38
|
+
"evaluate" in evaluator &&
|
|
39
|
+
typeof evaluator.evaluate === "function" &&
|
|
40
|
+
"name" in evaluator &&
|
|
41
|
+
typeof evaluator.name === "string" &&
|
|
42
|
+
"kind" in evaluator &&
|
|
43
|
+
typeof evaluator.kind === "string" &&
|
|
44
|
+
(evaluator.kind === "CODE" || evaluator.kind === "LLM"));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A function that normalizes evaluators to be runnable by experiments. This is a best effort to support a variety of evaluator types.
|
|
48
|
+
*/
|
|
49
|
+
function getExperimentEvaluators(evaluators) {
|
|
50
|
+
return evaluators.map((evaluator) => {
|
|
51
|
+
// Check phoenix evaluators first, as they are more specific
|
|
52
|
+
if (isPhoenixLLMEvaluator(evaluator)) {
|
|
53
|
+
return (0, fromPhoenixLLMEvaluator_1.fromPhoenixLLMEvaluator)(evaluator);
|
|
54
|
+
}
|
|
55
|
+
if (isExperimentEvaluator(evaluator)) {
|
|
56
|
+
return evaluator;
|
|
57
|
+
}
|
|
58
|
+
throw new Error(`Unsupported evaluator: ${JSON.stringify(evaluator)}`);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=getExperimentEvaluators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExperimentEvaluators.js","sourceRoot":"","sources":["../../../../src/experiments/helpers/getExperimentEvaluators.ts"],"names":[],"mappings":";;AA8DA,0DAWC;AArED,uEAAoE;AAEpE;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,SAAkB;IAElB,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QAC1B,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU;QACxC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;QACtB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAClC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;QACtB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAClC,SAAS,CAAC,IAAI,KAAK,KAAK,EACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sDAAsD;IACtD,uEAAuE;IACvE,MAAM,eAAe,GACnB,SAAS,CAAC,WAAW,KAAK,MAAM,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC;IAE1E,gEAAgE;IAChE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,SAAkB;IAC/C,OAAO,CACL,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,UAAU,IAAI,SAAS;QACvB,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU;QACxC,MAAM,IAAI,SAAS;QACnB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAClC,MAAM,IAAI,SAAS;QACnB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAClC,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,CACxD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,UAAqB;IAC3D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAClC,4DAA4D;QAC5D,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,IAAA,iDAAuB,EAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experiments/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./asExperimentEvaluator"), exports);
|
|
18
|
+
__exportStar(require("./getExperimentEvaluators"), exports);
|
|
19
|
+
__exportStar(require("./fromPhoenixLLMEvaluator"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/experiments/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,4DAA0C;AAC1C,4DAA0C"}
|
|
@@ -2,4 +2,10 @@ export * from "./getExperimentInfo";
|
|
|
2
2
|
export * from "./getExperiment";
|
|
3
3
|
export * from "./getExperimentRuns";
|
|
4
4
|
export * from "./runExperiment";
|
|
5
|
+
export * from "./createExperiment";
|
|
6
|
+
export * from "./listExperiments";
|
|
7
|
+
export * from "./deleteExperiment";
|
|
8
|
+
export * from "./resumeExperiment";
|
|
9
|
+
export * from "./resumeEvaluation";
|
|
10
|
+
export * from "./helpers";
|
|
5
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
@@ -18,4 +18,10 @@ __exportStar(require("./getExperimentInfo"), exports);
|
|
|
18
18
|
__exportStar(require("./getExperiment"), exports);
|
|
19
19
|
__exportStar(require("./getExperimentRuns"), exports);
|
|
20
20
|
__exportStar(require("./runExperiment"), exports);
|
|
21
|
+
__exportStar(require("./createExperiment"), exports);
|
|
22
|
+
__exportStar(require("./listExperiments"), exports);
|
|
23
|
+
__exportStar(require("./deleteExperiment"), exports);
|
|
24
|
+
__exportStar(require("./resumeExperiment"), exports);
|
|
25
|
+
__exportStar(require("./resumeEvaluation"), exports);
|
|
26
|
+
__exportStar(require("./helpers"), exports);
|
|
21
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experiments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experiments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,qDAAmC;AACnC,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AACnC,4CAA0B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core";
|
|
2
|
+
import { ExperimentInfo } from "../types/experiments";
|
|
3
|
+
export type ListExperimentsParams = ClientFn & {
|
|
4
|
+
/**
|
|
5
|
+
* The dataset ID to list experiments for
|
|
6
|
+
*/
|
|
7
|
+
datasetId: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* List all experiments for a dataset with automatic pagination handling.
|
|
11
|
+
*
|
|
12
|
+
* This function automatically handles pagination behind the scenes and returns
|
|
13
|
+
* a simple list of experiments.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { listExperiments } from "@arizeai/phoenix-client/experiments";
|
|
18
|
+
*
|
|
19
|
+
* const experiments = await listExperiments({
|
|
20
|
+
* datasetId: "dataset_123",
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* for (const experiment of experiments) {
|
|
24
|
+
* console.log(`Experiment: ${experiment.id}, Runs: ${experiment.successfulRunCount}`);
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function listExperiments({ client: _client, datasetId, }: ListExperimentsParams): Promise<ExperimentInfo[]>;
|
|
29
|
+
//# sourceMappingURL=listExperiments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listExperiments.d.ts","sourceRoot":"","sources":["../../../src/experiments/listExperiments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG;IAC7C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA4CnD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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.listExperiments = listExperiments;
|
|
7
|
+
const client_1 = require("../client");
|
|
8
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
9
|
+
const DEFAULT_PAGE_SIZE = 50;
|
|
10
|
+
/**
|
|
11
|
+
* List all experiments for a dataset with automatic pagination handling.
|
|
12
|
+
*
|
|
13
|
+
* This function automatically handles pagination behind the scenes and returns
|
|
14
|
+
* a simple list of experiments.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { listExperiments } from "@arizeai/phoenix-client/experiments";
|
|
19
|
+
*
|
|
20
|
+
* const experiments = await listExperiments({
|
|
21
|
+
* datasetId: "dataset_123",
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* for (const experiment of experiments) {
|
|
25
|
+
* console.log(`Experiment: ${experiment.id}, Runs: ${experiment.successfulRunCount}`);
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
async function listExperiments({ client: _client, datasetId, }) {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
const client = _client || (0, client_1.createClient)();
|
|
32
|
+
const experiments = [];
|
|
33
|
+
let cursor = null;
|
|
34
|
+
do {
|
|
35
|
+
const res = await client.GET("/v1/datasets/{dataset_id}/experiments", {
|
|
36
|
+
params: {
|
|
37
|
+
path: {
|
|
38
|
+
dataset_id: datasetId,
|
|
39
|
+
},
|
|
40
|
+
query: {
|
|
41
|
+
cursor,
|
|
42
|
+
limit: DEFAULT_PAGE_SIZE,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
cursor = ((_a = res.data) === null || _a === void 0 ? void 0 : _a.next_cursor) || null;
|
|
47
|
+
const data = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data;
|
|
48
|
+
(0, tiny_invariant_1.default)(data, "Failed to list experiments");
|
|
49
|
+
experiments.push(...data.map((exp) => ({
|
|
50
|
+
id: exp.id,
|
|
51
|
+
datasetId: exp.dataset_id,
|
|
52
|
+
datasetVersionId: exp.dataset_version_id,
|
|
53
|
+
repetitions: exp.repetitions,
|
|
54
|
+
metadata: exp.metadata || {},
|
|
55
|
+
projectName: exp.project_name || null,
|
|
56
|
+
createdAt: exp.created_at,
|
|
57
|
+
updatedAt: exp.updated_at,
|
|
58
|
+
exampleCount: exp.example_count,
|
|
59
|
+
successfulRunCount: exp.successful_run_count,
|
|
60
|
+
failedRunCount: exp.failed_run_count,
|
|
61
|
+
missingRunCount: exp.missing_run_count,
|
|
62
|
+
})));
|
|
63
|
+
} while (cursor != null);
|
|
64
|
+
return experiments;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=listExperiments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listExperiments.js","sourceRoot":"","sources":["../../../src/experiments/listExperiments.ts"],"names":[],"mappings":";;;;;AAmCA,0CA+CC;AAjFD,sCAAyC;AAIzC,oEAAuC;AASvC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,eAAe,CAAC,EACpC,MAAM,EAAE,OAAO,EACf,SAAS,GACa;;IACtB,MAAM,MAAM,GAAG,OAAO,IAAI,IAAA,qBAAY,GAAE,CAAC;IAEzC,MAAM,WAAW,GAAqB,EAAE,CAAC;IACzC,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,GAAG,CAAC;QACF,MAAM,GAAG,GAEL,MAAM,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE;YAC5D,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,UAAU,EAAE,SAAS;iBACtB;gBACD,KAAK,EAAE;oBACL,MAAM;oBACN,KAAK,EAAE,iBAAiB;iBACzB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,WAAW,KAAI,IAAI,CAAC;QACvC,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,IAAI,CAAC;QAC5B,IAAA,wBAAS,EAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;QAE9C,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;YACxC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;YAC5B,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;YACrC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;YAC5C,cAAc,EAAE,GAAG,CAAC,gBAAgB;YACpC,eAAe,EAAE,GAAG,CAAC,iBAAiB;SACvC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;IAEzB,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { type DiagLogLevel } from "@arizeai/phoenix-otel";
|
|
2
|
+
import { ClientFn } from "../types/core";
|
|
3
|
+
import type { ExperimentEvaluatorLike } from "../types/experiments";
|
|
4
|
+
import { type Logger } from "../types/logger";
|
|
5
|
+
export type ResumeEvaluationParams = ClientFn & {
|
|
6
|
+
/**
|
|
7
|
+
* The ID of the experiment to resume evaluations for
|
|
8
|
+
*/
|
|
9
|
+
readonly experimentId: string;
|
|
10
|
+
/**
|
|
11
|
+
* A single evaluator or list of evaluators to run on incomplete evaluations
|
|
12
|
+
*/
|
|
13
|
+
readonly evaluators: ExperimentEvaluatorLike | readonly ExperimentEvaluatorLike[];
|
|
14
|
+
/**
|
|
15
|
+
* The logger to use
|
|
16
|
+
* @default console
|
|
17
|
+
*/
|
|
18
|
+
readonly logger?: Logger;
|
|
19
|
+
/**
|
|
20
|
+
* The number of concurrent evaluation executions
|
|
21
|
+
* @default 5
|
|
22
|
+
*/
|
|
23
|
+
readonly concurrency?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to set the global tracer provider when running evaluators.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
readonly setGlobalTracerProvider?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether to use batch span processor for tracing.
|
|
31
|
+
* @default true
|
|
32
|
+
*/
|
|
33
|
+
readonly useBatchSpanProcessor?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Log level to set for the default DiagConsoleLogger when tracing.
|
|
36
|
+
*/
|
|
37
|
+
readonly diagLogLevel?: DiagLogLevel;
|
|
38
|
+
/**
|
|
39
|
+
* Stop processing and exit as soon as any evaluation fails.
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
readonly stopOnFirstError?: boolean;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Resume incomplete evaluations for an experiment.
|
|
46
|
+
*
|
|
47
|
+
* This function identifies which evaluations have not been completed (either missing or failed)
|
|
48
|
+
* and runs the evaluators only for those runs. This is useful for:
|
|
49
|
+
* - Recovering from transient evaluator failures
|
|
50
|
+
* - Adding new evaluators to completed experiments
|
|
51
|
+
* - Completing partially evaluated experiments
|
|
52
|
+
*
|
|
53
|
+
* The function processes incomplete evaluations in batches using pagination to minimize memory usage.
|
|
54
|
+
*
|
|
55
|
+
* Evaluation names are matched to evaluator names. For example, if you pass
|
|
56
|
+
* an evaluator with name "accuracy", it will check for and resume any runs missing the "accuracy" evaluation.
|
|
57
|
+
*
|
|
58
|
+
* **Note:** Multi-output evaluators (evaluators that return an array of results) are not
|
|
59
|
+
* supported for resume operations. Each evaluator should produce a single evaluation
|
|
60
|
+
* result with a name matching the evaluator's name.
|
|
61
|
+
*
|
|
62
|
+
* @throws {Error} Throws different error types based on failure:
|
|
63
|
+
* - "EvaluationFetchError": Unable to fetch incomplete evaluations from the server.
|
|
64
|
+
* Always thrown regardless of stopOnFirstError, as it indicates critical infrastructure failure.
|
|
65
|
+
* - "EvaluationAbortedError": stopOnFirstError=true and an evaluator failed.
|
|
66
|
+
* Original error preserved in `cause` property.
|
|
67
|
+
* - Generic Error: Other evaluator execution errors or unexpected failures.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { resumeEvaluation } from "@arizeai/phoenix-client/experiments";
|
|
72
|
+
*
|
|
73
|
+
* // Standard usage: evaluation name matches evaluator name
|
|
74
|
+
* try {
|
|
75
|
+
* await resumeEvaluation({
|
|
76
|
+
* experimentId: "exp_123",
|
|
77
|
+
* evaluators: [{
|
|
78
|
+
* name: "correctness",
|
|
79
|
+
* kind: "CODE",
|
|
80
|
+
* evaluate: async ({ output, expected }) => ({
|
|
81
|
+
* score: output === expected ? 1 : 0
|
|
82
|
+
* })
|
|
83
|
+
* }],
|
|
84
|
+
* });
|
|
85
|
+
* } catch (error) {
|
|
86
|
+
* // Handle by error name (no instanceof needed)
|
|
87
|
+
* if (error.name === "EvaluationFetchError") {
|
|
88
|
+
* console.error("Failed to connect to server:", error.cause);
|
|
89
|
+
* } else if (error.name === "EvaluationAbortedError") {
|
|
90
|
+
* console.error("Evaluation stopped due to error:", error.cause);
|
|
91
|
+
* } else {
|
|
92
|
+
* console.error("Unexpected error:", error);
|
|
93
|
+
* }
|
|
94
|
+
* }
|
|
95
|
+
*
|
|
96
|
+
* // Stop on first error (useful for debugging)
|
|
97
|
+
* await resumeEvaluation({
|
|
98
|
+
* experimentId: "exp_123",
|
|
99
|
+
* evaluators: [myEvaluator],
|
|
100
|
+
* stopOnFirstError: true, // Exit immediately on first failure
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function resumeEvaluation({ client: _client, experimentId, evaluators: _evaluators, logger, concurrency, setGlobalTracerProvider, useBatchSpanProcessor, diagLogLevel, stopOnFirstError, }: ResumeEvaluationParams): Promise<void>;
|
|
105
|
+
//# sourceMappingURL=resumeEvaluation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resumeEvaluation.d.ts","sourceRoot":"","sources":["../../../src/experiments/resumeEvaluation.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,YAAY,EAMlB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAGV,uBAAuB,EAGxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAoC9C,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG;IAC9C;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,UAAU,EACf,uBAAuB,GACvB,SAAS,uBAAuB,EAAE,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAwJF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EAAE,OAAO,EACf,YAAY,EACZ,UAAU,EAAE,WAAW,EACvB,MAAgB,EAChB,WAAe,EACf,uBAA8B,EAC9B,qBAA4B,EAC5B,YAAY,EACZ,gBAAwB,GACzB,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4RxC"}
|