@arizeai/phoenix-client 1.2.0 → 2.0.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 +118 -0
- package/dist/esm/client.d.ts +13 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +4 -1
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/datasets/appendDatasetExamples.d.ts +21 -0
- package/dist/esm/datasets/appendDatasetExamples.d.ts.map +1 -0
- package/dist/esm/datasets/appendDatasetExamples.js +32 -0
- package/dist/esm/datasets/appendDatasetExamples.js.map +1 -0
- package/dist/esm/datasets/createDataset.d.ts +25 -0
- package/dist/esm/datasets/createDataset.d.ts.map +1 -0
- package/dist/esm/datasets/createDataset.js +34 -0
- package/dist/esm/datasets/createDataset.js.map +1 -0
- package/dist/esm/datasets/getDataset.d.ts +10 -0
- package/dist/esm/datasets/getDataset.d.ts.map +1 -0
- package/dist/esm/datasets/getDataset.js +18 -0
- package/dist/esm/datasets/getDataset.js.map +1 -0
- package/dist/esm/datasets/getDatasetExamples.d.ts +10 -0
- package/dist/esm/datasets/getDatasetExamples.d.ts.map +1 -0
- package/dist/esm/datasets/getDatasetExamples.js +25 -0
- package/dist/esm/datasets/getDatasetExamples.js.map +1 -0
- package/dist/esm/datasets/getDatasetInfo.d.ts +11 -0
- package/dist/esm/datasets/getDatasetInfo.d.ts.map +1 -0
- package/dist/esm/datasets/getDatasetInfo.js +25 -0
- package/dist/esm/datasets/getDatasetInfo.js.map +1 -0
- package/dist/esm/datasets/index.d.ts +7 -0
- package/dist/esm/datasets/index.d.ts.map +1 -0
- package/dist/esm/datasets/index.js +7 -0
- package/dist/esm/datasets/index.js.map +1 -0
- package/dist/esm/datasets/listDatasets.d.ts +23 -0
- package/dist/esm/datasets/listDatasets.d.ts.map +1 -0
- package/dist/esm/datasets/listDatasets.js +26 -0
- package/dist/esm/datasets/listDatasets.js.map +1 -0
- package/dist/esm/experiments/getExperiment.d.ts +14 -0
- package/dist/esm/experiments/getExperiment.d.ts.map +1 -0
- package/dist/esm/experiments/getExperiment.js +25 -0
- package/dist/esm/experiments/getExperiment.js.map +1 -0
- package/dist/esm/experiments/getExperimentInfo.d.ts +13 -0
- package/dist/esm/experiments/getExperimentInfo.d.ts.map +1 -0
- package/dist/esm/experiments/getExperimentInfo.js +24 -0
- package/dist/esm/experiments/getExperimentInfo.js.map +1 -0
- package/dist/esm/experiments/getExperimentRuns.d.ts +15 -0
- package/dist/esm/experiments/getExperimentRuns.d.ts.map +1 -0
- package/dist/esm/experiments/getExperimentRuns.js +33 -0
- package/dist/esm/experiments/getExperimentRuns.js.map +1 -0
- package/dist/esm/experiments/index.d.ts +3 -0
- package/dist/esm/experiments/index.d.ts.map +1 -1
- package/dist/esm/experiments/index.js +3 -0
- package/dist/esm/experiments/index.js.map +1 -1
- package/dist/esm/experiments/instrumention.d.ts +18 -0
- package/dist/esm/experiments/instrumention.d.ts.map +1 -0
- package/dist/esm/experiments/instrumention.js +34 -0
- package/dist/esm/experiments/instrumention.js.map +1 -0
- package/dist/esm/experiments/runExperiment.d.ts +24 -21
- package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
- package/dist/esm/experiments/runExperiment.js +221 -108
- package/dist/esm/experiments/runExperiment.js.map +1 -1
- package/dist/esm/schemas/llm/anthropic/converters.d.ts +28 -28
- package/dist/esm/schemas/llm/anthropic/messagePartSchemas.d.ts +8 -8
- package/dist/esm/schemas/llm/anthropic/messageSchemas.d.ts +24 -24
- package/dist/esm/schemas/llm/anthropic/toolCallSchemas.d.ts +8 -8
- package/dist/esm/schemas/llm/constants.d.ts +6 -6
- package/dist/esm/schemas/llm/converters.d.ts +24 -24
- package/dist/esm/schemas/llm/openai/converters.d.ts +6 -6
- package/dist/esm/schemas/llm/schemas.d.ts +22 -22
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types/datasets.d.ts +33 -8
- package/dist/esm/types/datasets.d.ts.map +1 -1
- package/dist/esm/types/experiments.d.ts +17 -4
- package/dist/esm/types/experiments.d.ts.map +1 -1
- package/dist/esm/utils/ensureString.d.ts +8 -0
- package/dist/esm/utils/ensureString.d.ts.map +1 -0
- package/dist/esm/utils/ensureString.js +14 -0
- package/dist/esm/utils/ensureString.js.map +1 -0
- package/dist/esm/utils/objectAsAttributes.d.ts +3 -0
- package/dist/esm/utils/objectAsAttributes.d.ts.map +1 -0
- package/dist/esm/utils/objectAsAttributes.js +4 -0
- package/dist/esm/utils/objectAsAttributes.js.map +1 -0
- package/dist/src/client.d.ts +13 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/client.js.map +1 -1
- package/dist/src/datasets/appendDatasetExamples.d.ts +21 -0
- package/dist/src/datasets/appendDatasetExamples.d.ts.map +1 -0
- package/dist/src/datasets/appendDatasetExamples.js +50 -0
- package/dist/src/datasets/appendDatasetExamples.js.map +1 -0
- package/dist/src/datasets/createDataset.d.ts +25 -0
- package/dist/src/datasets/createDataset.d.ts.map +1 -0
- package/dist/src/datasets/createDataset.js +52 -0
- package/dist/src/datasets/createDataset.js.map +1 -0
- package/dist/src/datasets/getDataset.d.ts +10 -0
- package/dist/src/datasets/getDataset.d.ts.map +1 -0
- package/dist/src/datasets/getDataset.js +29 -0
- package/dist/src/datasets/getDataset.js.map +1 -0
- package/dist/src/datasets/getDatasetExamples.d.ts +10 -0
- package/dist/src/datasets/getDatasetExamples.d.ts.map +1 -0
- package/dist/src/datasets/getDatasetExamples.js +40 -0
- package/dist/src/datasets/getDatasetExamples.js.map +1 -0
- package/dist/src/datasets/getDatasetInfo.d.ts +11 -0
- package/dist/src/datasets/getDatasetInfo.d.ts.map +1 -0
- package/dist/src/datasets/getDatasetInfo.js +43 -0
- package/dist/src/datasets/getDatasetInfo.js.map +1 -0
- package/dist/src/datasets/index.d.ts +7 -0
- package/dist/src/datasets/index.d.ts.map +1 -0
- package/dist/src/datasets/index.js +23 -0
- package/dist/src/datasets/index.js.map +1 -0
- package/dist/src/datasets/listDatasets.d.ts +23 -0
- package/dist/src/datasets/listDatasets.d.ts.map +1 -0
- package/dist/src/datasets/listDatasets.js +40 -0
- package/dist/src/datasets/listDatasets.js.map +1 -0
- package/dist/src/experiments/getExperiment.d.ts +14 -0
- package/dist/src/experiments/getExperiment.d.ts.map +1 -0
- package/dist/src/experiments/getExperiment.js +36 -0
- package/dist/src/experiments/getExperiment.js.map +1 -0
- package/dist/src/experiments/getExperimentInfo.d.ts +13 -0
- package/dist/src/experiments/getExperimentInfo.d.ts.map +1 -0
- package/dist/src/experiments/getExperimentInfo.js +41 -0
- package/dist/src/experiments/getExperimentInfo.js.map +1 -0
- package/dist/src/experiments/getExperimentRuns.d.ts +15 -0
- package/dist/src/experiments/getExperimentRuns.d.ts.map +1 -0
- package/dist/src/experiments/getExperimentRuns.js +50 -0
- package/dist/src/experiments/getExperimentRuns.js.map +1 -0
- package/dist/src/experiments/index.d.ts +3 -0
- package/dist/src/experiments/index.d.ts.map +1 -1
- package/dist/src/experiments/index.js +3 -0
- package/dist/src/experiments/index.js.map +1 -1
- package/dist/src/experiments/instrumention.d.ts +18 -0
- package/dist/src/experiments/instrumention.d.ts.map +1 -0
- package/dist/src/experiments/instrumention.js +38 -0
- package/dist/src/experiments/instrumention.js.map +1 -0
- package/dist/src/experiments/runExperiment.d.ts +24 -21
- package/dist/src/experiments/runExperiment.d.ts.map +1 -1
- package/dist/src/experiments/runExperiment.js +222 -111
- package/dist/src/experiments/runExperiment.js.map +1 -1
- package/dist/src/schemas/llm/anthropic/converters.d.ts +28 -28
- package/dist/src/schemas/llm/anthropic/messagePartSchemas.d.ts +8 -8
- package/dist/src/schemas/llm/anthropic/messageSchemas.d.ts +24 -24
- package/dist/src/schemas/llm/anthropic/toolCallSchemas.d.ts +8 -8
- package/dist/src/schemas/llm/constants.d.ts +6 -6
- package/dist/src/schemas/llm/converters.d.ts +24 -24
- package/dist/src/schemas/llm/openai/converters.d.ts +6 -6
- package/dist/src/schemas/llm/schemas.d.ts +22 -22
- package/dist/src/types/datasets.d.ts +33 -8
- package/dist/src/types/datasets.d.ts.map +1 -1
- package/dist/src/types/experiments.d.ts +17 -4
- package/dist/src/types/experiments.d.ts.map +1 -1
- package/dist/src/utils/ensureString.d.ts +8 -0
- package/dist/src/utils/ensureString.d.ts.map +1 -0
- package/dist/src/utils/ensureString.js +18 -0
- package/dist/src/utils/ensureString.js.map +1 -0
- package/dist/src/utils/objectAsAttributes.d.ts +3 -0
- package/dist/src/utils/objectAsAttributes.d.ts.map +1 -0
- package/dist/src/utils/objectAsAttributes.js +7 -0
- package/dist/src/utils/objectAsAttributes.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -1
- package/src/client.ts +4 -1
- package/src/datasets/appendDatasetExamples.ts +55 -0
- package/src/datasets/createDataset.ts +60 -0
- package/src/datasets/getDataset.ts +27 -0
- package/src/datasets/getDatasetExamples.ts +34 -0
- package/src/datasets/getDatasetInfo.ts +34 -0
- package/src/datasets/index.ts +6 -0
- package/src/datasets/listDatasets.ts +37 -0
- package/src/experiments/getExperiment.ts +40 -0
- package/src/experiments/getExperimentInfo.ts +39 -0
- package/src/experiments/getExperimentRuns.ts +45 -0
- package/src/experiments/index.ts +3 -0
- package/src/experiments/instrumention.ts +52 -0
- package/src/experiments/runExperiment.ts +277 -133
- package/src/types/datasets.ts +35 -9
- package/src/types/experiments.ts +19 -4
- package/src/utils/ensureString.ts +14 -0
- package/src/utils/objectAsAttributes.ts +9 -0
- package/dist/esm/utils/getDatasetBySelector.d.ts +0 -25
- package/dist/esm/utils/getDatasetBySelector.d.ts.map +0 -1
- package/dist/esm/utils/getDatasetBySelector.js +0 -37
- package/dist/esm/utils/getDatasetBySelector.js.map +0 -1
- package/dist/src/utils/getDatasetBySelector.d.ts +0 -25
- package/dist/src/utils/getDatasetBySelector.d.ts.map +0 -1
- package/dist/src/utils/getDatasetBySelector.js +0 -47
- package/dist/src/utils/getDatasetBySelector.js.map +0 -1
- package/src/utils/getDatasetBySelector.ts +0 -55
package/README.md
CHANGED
|
@@ -173,6 +173,123 @@ const prompt = await phoenix.GET("/v1/prompts/{prompt_identifier}/latest", {
|
|
|
173
173
|
|
|
174
174
|
A comprehensive overview of the available endpoints and their parameters is available in the OpenAPI viewer within Phoenix, or in the [Phoenix OpenAPI spec](https://github.com/Arize-ai/phoenix/blob/main/schemas/openapi.json).
|
|
175
175
|
|
|
176
|
+
## Datasets
|
|
177
|
+
|
|
178
|
+
The `@arizeai/phoenix-client` package allows you to create and manage datasets, which are collections of examples used for experiments and evaluation.
|
|
179
|
+
|
|
180
|
+
### Creating a Dataset
|
|
181
|
+
|
|
182
|
+
You can create a dataset by providing a name, description, and an array of examples (each with `input`, `output`, and optional `metadata`).
|
|
183
|
+
|
|
184
|
+
```ts
|
|
185
|
+
import { createDataset } from "@arizeai/phoenix-client/datasets";
|
|
186
|
+
|
|
187
|
+
const { datasetId } = await createDataset({
|
|
188
|
+
name: "questions",
|
|
189
|
+
description: "a simple dataset of questions",
|
|
190
|
+
examples: [
|
|
191
|
+
{
|
|
192
|
+
input: { question: "What is the capital of France" },
|
|
193
|
+
output: { answer: "Paris" },
|
|
194
|
+
metadata: {},
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
input: { question: "What is the capital of the USA" },
|
|
198
|
+
output: { answer: "Washington D.C." },
|
|
199
|
+
metadata: {},
|
|
200
|
+
},
|
|
201
|
+
],
|
|
202
|
+
});
|
|
203
|
+
// You can now use datasetId to run experiments or add more examples
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Experiments
|
|
207
|
+
|
|
208
|
+
The `@arizeai/phoenix-client` package provides an experiments API for running and evaluating tasks on datasets. This is useful for benchmarking models, evaluating outputs, and tracking experiment results in Phoenix.
|
|
209
|
+
|
|
210
|
+
### Running an Experiment
|
|
211
|
+
|
|
212
|
+
To run an experiment, you typically:
|
|
213
|
+
|
|
214
|
+
1. Create a dataset (or use an existing one)
|
|
215
|
+
2. Define a task function to run on each example
|
|
216
|
+
3. Define one or more evaluators to score or label the outputs
|
|
217
|
+
4. Run the experiment and inspect the results
|
|
218
|
+
|
|
219
|
+
Below is a complete example:
|
|
220
|
+
|
|
221
|
+
```ts
|
|
222
|
+
import { createDataset } from "@arizeai/phoenix-client/datasets";
|
|
223
|
+
import {
|
|
224
|
+
asEvaluator,
|
|
225
|
+
runExperiment,
|
|
226
|
+
} from "@arizeai/phoenix-client/experiments";
|
|
227
|
+
|
|
228
|
+
// 1. Create a dataset
|
|
229
|
+
const { datasetId } = await createDataset({
|
|
230
|
+
name: "names-dataset",
|
|
231
|
+
description: "a simple dataset of names",
|
|
232
|
+
examples: [
|
|
233
|
+
{
|
|
234
|
+
input: { name: "John" },
|
|
235
|
+
output: { text: "Hello, John!" },
|
|
236
|
+
metadata: {},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
input: { name: "Jane" },
|
|
240
|
+
output: { text: "Hello, Jane!" },
|
|
241
|
+
metadata: {},
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
// 2. Define a task to run on each example
|
|
247
|
+
const task = async (example) => `hello ${example.input.name}`;
|
|
248
|
+
|
|
249
|
+
// 3. Define evaluators
|
|
250
|
+
const evaluators = [
|
|
251
|
+
asEvaluator({
|
|
252
|
+
name: "matches",
|
|
253
|
+
kind: "CODE",
|
|
254
|
+
evaluate: async ({ output, expected }) => {
|
|
255
|
+
const matches = output === expected?.text;
|
|
256
|
+
return {
|
|
257
|
+
label: matches ? "matches" : "does not match",
|
|
258
|
+
score: matches ? 1 : 0,
|
|
259
|
+
explanation: matches
|
|
260
|
+
? "output matches expected"
|
|
261
|
+
: "output does not match expected",
|
|
262
|
+
metadata: {},
|
|
263
|
+
};
|
|
264
|
+
},
|
|
265
|
+
}),
|
|
266
|
+
asEvaluator({
|
|
267
|
+
name: "contains-hello",
|
|
268
|
+
kind: "CODE",
|
|
269
|
+
evaluate: async ({ output }) => {
|
|
270
|
+
const matches = typeof output === "string" && output.includes("hello");
|
|
271
|
+
return {
|
|
272
|
+
label: matches ? "contains hello" : "does not contain hello",
|
|
273
|
+
score: matches ? 1 : 0,
|
|
274
|
+
explanation: matches
|
|
275
|
+
? "output contains hello"
|
|
276
|
+
: "output does not contain hello",
|
|
277
|
+
metadata: {},
|
|
278
|
+
};
|
|
279
|
+
},
|
|
280
|
+
}),
|
|
281
|
+
];
|
|
282
|
+
|
|
283
|
+
// 4. Run the experiment
|
|
284
|
+
const experiment = await runExperiment({
|
|
285
|
+
dataset: { datasetId },
|
|
286
|
+
task,
|
|
287
|
+
evaluators,
|
|
288
|
+
});
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
> **Hint:** Tasks and evaluators are instrumented using [OpenTelemetry](https://opentelemetry.io/). You can view detailed traces of experiment runs and evaluations directly in the Phoenix UI for debugging and performance analysis.
|
|
292
|
+
|
|
176
293
|
## Examples
|
|
177
294
|
|
|
178
295
|
To run examples, install dependencies using `pnpm` and run:
|
|
@@ -193,4 +310,5 @@ Compatibility Table:
|
|
|
193
310
|
|
|
194
311
|
| Phoenix Client Version | Phoenix Server Version |
|
|
195
312
|
| ---------------------- | ---------------------- |
|
|
313
|
+
| ^2.0.0 | ^9.0.0 |
|
|
196
314
|
| ^1.0.0 | ^8.0.0 |
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -52,7 +52,19 @@ export declare const getMergedOptions: ({ options, getEnvironmentOptions, }?: {
|
|
|
52
52
|
export declare const createClient: (config?: {
|
|
53
53
|
options?: Partial<ClientOptions>;
|
|
54
54
|
getEnvironmentOptions?: () => Partial<ClientOptions>;
|
|
55
|
-
}) =>
|
|
55
|
+
}) => {
|
|
56
|
+
config: ClientOptions;
|
|
57
|
+
GET: import("openapi-fetch").ClientMethod<oapiPathsV1, "get", `${string}/${string}`>;
|
|
58
|
+
PUT: import("openapi-fetch").ClientMethod<oapiPathsV1, "put", `${string}/${string}`>;
|
|
59
|
+
POST: import("openapi-fetch").ClientMethod<oapiPathsV1, "post", `${string}/${string}`>;
|
|
60
|
+
DELETE: import("openapi-fetch").ClientMethod<oapiPathsV1, "delete", `${string}/${string}`>;
|
|
61
|
+
OPTIONS: import("openapi-fetch").ClientMethod<oapiPathsV1, "options", `${string}/${string}`>;
|
|
62
|
+
HEAD: import("openapi-fetch").ClientMethod<oapiPathsV1, "head", `${string}/${string}`>;
|
|
63
|
+
PATCH: import("openapi-fetch").ClientMethod<oapiPathsV1, "patch", `${string}/${string}`>;
|
|
64
|
+
TRACE: import("openapi-fetch").ClientMethod<oapiPathsV1, "trace", `${string}/${string}`>;
|
|
65
|
+
use(...middleware: import("openapi-fetch").Middleware[]): void;
|
|
66
|
+
eject(...middleware: import("openapi-fetch").Middleware[]): void;
|
|
67
|
+
};
|
|
56
68
|
/**
|
|
57
69
|
* Resolved type of the Phoenix client
|
|
58
70
|
*/
|
package/dist/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAA4B,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EACV,KAAK,IAAI,WAAW,EACpB,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC/B,MAAM,6BAA6B,CAAC;AAMrC,KAAK,OAAO,GAAG,WAAW,CAAC;AAC3B,KAAK,YAAY,GAAG,gBAAgB,CAAC;AACrC,KAAK,YAAY,GAAG,gBAAgB,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO,CAAC;QACf,UAAU,EAAE,YAAY,CAAC;QACzB,UAAU,EAAE,YAAY,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,sCAG9B;IACD,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACjD,KAAG,aAQR,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,YAAY,GACvB,SAAQ;IACN,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACjD,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAA4B,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EACV,KAAK,IAAI,WAAW,EACpB,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC/B,MAAM,6BAA6B,CAAC;AAMrC,KAAK,OAAO,GAAG,WAAW,CAAC;AAC3B,KAAK,YAAY,GAAG,gBAAgB,CAAC;AACrC,KAAK,YAAY,GAAG,gBAAgB,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO,CAAC;QACf,UAAU,EAAE,YAAY,CAAC;QACzB,UAAU,EAAE,YAAY,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,sCAG9B;IACD,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACjD,KAAG,aAQR,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,YAAY,GACvB,SAAQ;IACN,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACjD;;;;;;;;;;;;CAOP,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/esm/client.js
CHANGED
|
@@ -43,6 +43,9 @@ export const getMergedOptions = ({ options = {}, getEnvironmentOptions = default
|
|
|
43
43
|
*/
|
|
44
44
|
export const createClient = (config = {}) => {
|
|
45
45
|
const mergedOptions = getMergedOptions(config);
|
|
46
|
-
return
|
|
46
|
+
return {
|
|
47
|
+
...createOpenApiClient(mergedOptions),
|
|
48
|
+
config: mergedOptions,
|
|
49
|
+
};
|
|
47
50
|
};
|
|
48
51
|
//# sourceMappingURL=client.js.map
|
package/dist/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,mBAA2C,MAAM,eAAe,CAAC;AAMxE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAiBlB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,GAAG,EAAE,EACZ,qBAAqB,GAAG,4BAA4B,MAIlD,EAAE,EAAiB,EAAE;IACvB,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,kBAAkB;QACrB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAGI,EAAE,EACN,EAAE;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,mBAAmB,CAAU,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,mBAA2C,MAAM,eAAe,CAAC;AAMxE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAiBlB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,GAAG,EAAE,EACZ,qBAAqB,GAAG,4BAA4B,MAIlD,EAAE,EAAiB,EAAE;IACvB,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,kBAAkB;QACrB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAGI,EAAE,EACN,EAAE;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG,mBAAmB,CAAU,aAAa,CAAC;QAC9C,MAAM,EAAE,aAAa;KACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { Example, DatasetSelector } from "../types/datasets.js";
|
|
3
|
+
export type AppendDatasetExamplesParams = ClientFn & {
|
|
4
|
+
/**
|
|
5
|
+
* The dataset to append examples to
|
|
6
|
+
*/
|
|
7
|
+
dataset: DatasetSelector;
|
|
8
|
+
/**
|
|
9
|
+
* The examples to append to the dataset
|
|
10
|
+
*/
|
|
11
|
+
examples: Example[];
|
|
12
|
+
};
|
|
13
|
+
export type AppendDatasetExamplesResponse = {
|
|
14
|
+
datasetId: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Append examples to an existing dataset
|
|
18
|
+
* @experimental this interface may change in the future
|
|
19
|
+
*/
|
|
20
|
+
export declare function appendDatasetExamples({ client: _client, dataset, examples, }: AppendDatasetExamplesParams): Promise<AppendDatasetExamplesResponse>;
|
|
21
|
+
//# sourceMappingURL=appendDatasetExamples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendDatasetExamples.d.ts","sourceRoot":"","sources":["../../../src/datasets/appendDatasetExamples.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG7D,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG;IACnD;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;CAGnB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,OAAO,EACP,QAAQ,GACT,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAwBtE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createClient } from "../client.js";
|
|
2
|
+
import invariant from "tiny-invariant";
|
|
3
|
+
/**
|
|
4
|
+
* Append examples to an existing dataset
|
|
5
|
+
* @experimental this interface may change in the future
|
|
6
|
+
*/
|
|
7
|
+
export async function appendDatasetExamples({ client: _client, dataset, examples, }) {
|
|
8
|
+
const client = _client || createClient();
|
|
9
|
+
const inputs = examples.map((example) => example.input);
|
|
10
|
+
const outputs = examples.map((example) => example.output ?? {}); // Treat null as an empty object
|
|
11
|
+
const metadata = examples.map((example) => example.metadata);
|
|
12
|
+
const appendResponse = await client.POST("/v1/datasets/upload", {
|
|
13
|
+
params: {
|
|
14
|
+
query: {
|
|
15
|
+
sync: true,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
body: {
|
|
19
|
+
name: dataset.datasetId,
|
|
20
|
+
action: "append",
|
|
21
|
+
inputs,
|
|
22
|
+
outputs,
|
|
23
|
+
metadata,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
invariant(appendResponse.data?.data, "Failed to append dataset examples");
|
|
27
|
+
const datasetId = appendResponse.data.data.dataset_id;
|
|
28
|
+
return {
|
|
29
|
+
datasetId,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=appendDatasetExamples.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendDatasetExamples.js","sourceRoot":"","sources":["../../../src/datasets/appendDatasetExamples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAmBvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,OAAO,EACP,QAAQ,GACoB;IAC5B,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC;IACjG,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QAC9D,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;aACX;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO,CAAC,SAAS;YACvB,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,OAAO;YACP,QAAQ;SACT;KACF,CAAC,CAAC;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IACtD,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { Example } from "../types/datasets.js";
|
|
3
|
+
export type CreateDatasetParams = ClientFn & {
|
|
4
|
+
/**
|
|
5
|
+
* The name of the dataset
|
|
6
|
+
*/
|
|
7
|
+
name: string;
|
|
8
|
+
/**
|
|
9
|
+
* The description of the dataset
|
|
10
|
+
*/
|
|
11
|
+
description: string;
|
|
12
|
+
/**
|
|
13
|
+
* The examples to create in the dataset
|
|
14
|
+
*/
|
|
15
|
+
examples: Example[];
|
|
16
|
+
};
|
|
17
|
+
export type CreateDatasetResponse = {
|
|
18
|
+
datasetId: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Create a new dataset
|
|
22
|
+
* @experimental this interface may change in the future
|
|
23
|
+
*/
|
|
24
|
+
export declare function createDataset({ client: _client, name, description, examples, }: CreateDatasetParams): Promise<CreateDatasetResponse>;
|
|
25
|
+
//# sourceMappingURL=createDataset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDataset.d.ts","sourceRoot":"","sources":["../../../src/datasets/createDataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,GACT,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0BtD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createClient } from "../client.js";
|
|
2
|
+
import invariant from "tiny-invariant";
|
|
3
|
+
/**
|
|
4
|
+
* Create a new dataset
|
|
5
|
+
* @experimental this interface may change in the future
|
|
6
|
+
*/
|
|
7
|
+
export async function createDataset({ client: _client, name, description, examples, }) {
|
|
8
|
+
const client = _client || createClient();
|
|
9
|
+
const inputs = examples.map((example) => example.input);
|
|
10
|
+
const outputs = examples.map((example) => example.output ?? {}); // Treat null as an empty object
|
|
11
|
+
const metadata = examples.map((example) => example.metadata);
|
|
12
|
+
const createDatasetResponse = await client.POST("/v1/datasets/upload", {
|
|
13
|
+
params: {
|
|
14
|
+
query: {
|
|
15
|
+
// TODO: parameterize this
|
|
16
|
+
sync: true,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
body: {
|
|
20
|
+
name,
|
|
21
|
+
description,
|
|
22
|
+
action: "create",
|
|
23
|
+
inputs,
|
|
24
|
+
outputs,
|
|
25
|
+
metadata,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
invariant(createDatasetResponse.data?.data, "Failed to create dataset");
|
|
29
|
+
const datasetId = createDatasetResponse.data.data.dataset_id;
|
|
30
|
+
return {
|
|
31
|
+
datasetId,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=createDataset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDataset.js","sourceRoot":"","sources":["../../../src/datasets/createDataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAqBvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,GACY;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC;IACjG,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACrE,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,0BAA0B;gBAC1B,IAAI,EAAE,IAAI;aACX;SACF;QACD,IAAI,EAAE;YACJ,IAAI;YACJ,WAAW;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,OAAO;YACP,QAAQ;SACT;KACF,CAAC,CAAC;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC7D,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { DatasetSelector, Dataset } from "../types/datasets.js";
|
|
3
|
+
export type GetDatasetParams = ClientFn & {
|
|
4
|
+
dataset: DatasetSelector;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Get dataset info and the examples from the latest version of the dataset
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDataset({ client: _client, dataset, }: GetDatasetParams): Promise<Dataset>;
|
|
10
|
+
//# sourceMappingURL=getDataset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDataset.d.ts","sourceRoot":"","sources":["../../../src/datasets/getDataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,OAAO,GACR,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createClient } from "../client.js";
|
|
2
|
+
import { getDatasetExamples } from "./getDatasetExamples.js";
|
|
3
|
+
import { getDatasetInfo } from "./getDatasetInfo.js";
|
|
4
|
+
/**
|
|
5
|
+
* Get dataset info and the examples from the latest version of the dataset
|
|
6
|
+
*/
|
|
7
|
+
export async function getDataset({ client: _client, dataset, }) {
|
|
8
|
+
const client = _client || createClient();
|
|
9
|
+
const [datasetInfo, datasetExamples] = await Promise.all([
|
|
10
|
+
getDatasetInfo({ client, dataset }),
|
|
11
|
+
getDatasetExamples({ client, dataset }),
|
|
12
|
+
]);
|
|
13
|
+
return {
|
|
14
|
+
...datasetInfo,
|
|
15
|
+
...datasetExamples,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getDataset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDataset.js","sourceRoot":"","sources":["../../../src/datasets/getDataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,OAAO,GACU;IACjB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,OAAO;QACL,GAAG,WAAW;QACd,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { DatasetSelector, DatasetExamples } from "../types/datasets.js";
|
|
3
|
+
export type GetDatasetExamplesParams = ClientFn & {
|
|
4
|
+
dataset: DatasetSelector;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Get the latest examples from a dataset
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDatasetExamples({ client: _client, dataset, }: GetDatasetExamplesParams): Promise<DatasetExamples>;
|
|
10
|
+
//# sourceMappingURL=getDatasetExamples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDatasetExamples.d.ts","sourceRoot":"","sources":["../../../src/datasets/getDatasetExamples.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG;IAChD,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EAAE,OAAO,EACf,OAAO,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBrD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import invariant from "tiny-invariant";
|
|
2
|
+
import { createClient } from "../client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get the latest examples from a dataset
|
|
5
|
+
*/
|
|
6
|
+
export async function getDatasetExamples({ client: _client, dataset, }) {
|
|
7
|
+
const client = _client || createClient();
|
|
8
|
+
const response = await client.GET("/v1/datasets/{id}/examples", {
|
|
9
|
+
params: {
|
|
10
|
+
path: {
|
|
11
|
+
id: dataset.datasetId,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
invariant(response.data?.data, "Failed to get dataset examples");
|
|
16
|
+
const examplesData = response.data.data;
|
|
17
|
+
return {
|
|
18
|
+
versionId: examplesData.version_id,
|
|
19
|
+
examples: examplesData.examples.map((example) => ({
|
|
20
|
+
...example,
|
|
21
|
+
updatedAt: new Date(example.updated_at),
|
|
22
|
+
})),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=getDatasetExamples.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDatasetExamples.js","sourceRoot":"","sources":["../../../src/datasets/getDatasetExamples.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAQzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,MAAM,EAAE,OAAO,EACf,OAAO,GACkB;IACzB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE;QAC9D,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,EAAE,EAAE,OAAO,CAAC,SAAS;aACtB;SACF;KACF,CAAC,CAAC;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,OAAO;QACL,SAAS,EAAE,YAAY,CAAC,UAAU;QAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { DatasetSelector, DatasetInfo } from "../types/datasets.js";
|
|
3
|
+
export type GetDatasetInfoParams = ClientFn & {
|
|
4
|
+
dataset: DatasetSelector;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Get an overview of the information in a dataset
|
|
8
|
+
* Note: this does not include the examples contained in the dataset
|
|
9
|
+
*/
|
|
10
|
+
export declare function getDatasetInfo({ client: _client, dataset, }: GetDatasetInfoParams): Promise<DatasetInfo>;
|
|
11
|
+
//# sourceMappingURL=getDatasetInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDatasetInfo.d.ts","sourceRoot":"","sources":["../../../src/datasets/getDatasetInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG;IAC5C,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,OAAO,GACR,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiB7C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import invariant from "tiny-invariant";
|
|
2
|
+
import { createClient } from "../client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get an overview of the information in a dataset
|
|
5
|
+
* Note: this does not include the examples contained in the dataset
|
|
6
|
+
*/
|
|
7
|
+
export async function getDatasetInfo({ client: _client, dataset, }) {
|
|
8
|
+
const client = _client || createClient();
|
|
9
|
+
const datasetResponse = await client.GET("/v1/datasets/{id}", {
|
|
10
|
+
params: {
|
|
11
|
+
path: {
|
|
12
|
+
id: dataset.datasetId,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
invariant(datasetResponse.data?.data, "Failed to get dataset info");
|
|
17
|
+
const datasetInfo = datasetResponse.data.data;
|
|
18
|
+
return {
|
|
19
|
+
id: datasetInfo.id,
|
|
20
|
+
name: datasetInfo.name,
|
|
21
|
+
description: datasetInfo.description || undefined,
|
|
22
|
+
metadata: datasetInfo.metadata,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=getDatasetInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDatasetInfo.js","sourceRoot":"","sources":["../../../src/datasets/getDatasetInfo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAQzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,OAAO,GACc;IACrB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;QAC5D,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,EAAE,EAAE,OAAO,CAAC,SAAS;aACtB;SACF;KACF,CAAC,CAAC;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,SAAS;QACjD,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./createDataset.js";
|
|
2
|
+
export * from "./getDataset.js";
|
|
3
|
+
export * from "./getDatasetExamples.js";
|
|
4
|
+
export * from "./appendDatasetExamples.js";
|
|
5
|
+
export * from "./getDatasetExamples.js";
|
|
6
|
+
export * from "./getDatasetInfo.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datasets/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./createDataset.js";
|
|
2
|
+
export * from "./getDataset.js";
|
|
3
|
+
export * from "./getDatasetExamples.js";
|
|
4
|
+
export * from "./appendDatasetExamples.js";
|
|
5
|
+
export * from "./getDatasetExamples.js";
|
|
6
|
+
export * from "./getDatasetInfo.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/datasets/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DatasetInfo } from "../types/datasets.js";
|
|
2
|
+
import { ClientFn } from "../types/core.js";
|
|
3
|
+
export type ListDatasetsParams = ClientFn;
|
|
4
|
+
type FullDatasetInfo = DatasetInfo & {
|
|
5
|
+
startDate: Date;
|
|
6
|
+
endDate: Date;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* List the information about all datasets available to the client.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { listDatasets } from "@arizeai/phoenix-client/datasets";
|
|
14
|
+
*
|
|
15
|
+
* const datasets = await listDatasets({});
|
|
16
|
+
* console.log(datasets);
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @throws {Error} If the datasets cannot be listed or the response is invalid.
|
|
20
|
+
*/
|
|
21
|
+
export declare function listDatasets({ client: _client, }: ListDatasetsParams): Promise<FullDatasetInfo[]>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=listDatasets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listDatasets.d.ts","sourceRoot":"","sources":["../../../src/datasets/listDatasets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE1C,KAAK,eAAe,GAAG,WAAW,GAAG;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,GAChB,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CASjD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createClient } from "../client.js";
|
|
2
|
+
import invariant from "tiny-invariant";
|
|
3
|
+
/**
|
|
4
|
+
* List the information about all datasets available to the client.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { listDatasets } from "@arizeai/phoenix-client/datasets";
|
|
9
|
+
*
|
|
10
|
+
* const datasets = await listDatasets({});
|
|
11
|
+
* console.log(datasets);
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @throws {Error} If the datasets cannot be listed or the response is invalid.
|
|
15
|
+
*/
|
|
16
|
+
export async function listDatasets({ client: _client, }) {
|
|
17
|
+
const client = _client || createClient();
|
|
18
|
+
const response = await client.GET("/v1/datasets");
|
|
19
|
+
invariant(response.data?.data, "Failed to list datasets");
|
|
20
|
+
return response.data.data.map((dataset) => ({
|
|
21
|
+
...dataset,
|
|
22
|
+
startDate: new Date(dataset.created_at),
|
|
23
|
+
endDate: new Date(dataset.updated_at),
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=listDatasets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listDatasets.js","sourceRoot":"","sources":["../../../src/datasets/listDatasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AASvC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,GACI;IACnB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,GAAG,OAAO;QACV,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { RanExperiment } from "../types/experiments.js";
|
|
3
|
+
export type GetExperimentResultParams = ClientFn & {
|
|
4
|
+
/**
|
|
5
|
+
* The experiment ID.
|
|
6
|
+
*/
|
|
7
|
+
experimentId: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* A function that gets the result of a experiment.
|
|
11
|
+
* Fetches the experiment data as well as the runs.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getExperiment({ client: _client, experimentId, }: GetExperimentResultParams): Promise<RanExperiment>;
|
|
14
|
+
//# sourceMappingURL=getExperiment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExperiment.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperiment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAqB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIxE,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,YAAY,GACb,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBpD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createClient } from "../client.js";
|
|
2
|
+
import { getExperimentInfo } from "./getExperimentInfo.js";
|
|
3
|
+
import { getExperimentRuns } from "./getExperimentRuns.js";
|
|
4
|
+
/**
|
|
5
|
+
* A function that gets the result of a experiment.
|
|
6
|
+
* Fetches the experiment data as well as the runs.
|
|
7
|
+
*/
|
|
8
|
+
export async function getExperiment({ client: _client, experimentId, }) {
|
|
9
|
+
const client = _client || createClient();
|
|
10
|
+
const [experiment, experimentRuns] = await Promise.all([
|
|
11
|
+
getExperimentInfo({ client, experimentId }),
|
|
12
|
+
getExperimentRuns({ client, experimentId }),
|
|
13
|
+
]);
|
|
14
|
+
const experimentRunsMap = {
|
|
15
|
+
runs: experimentRuns.runs.reduce((acc, run) => {
|
|
16
|
+
acc[run.id] = run;
|
|
17
|
+
return acc;
|
|
18
|
+
}, {}),
|
|
19
|
+
};
|
|
20
|
+
return {
|
|
21
|
+
...experiment,
|
|
22
|
+
...experimentRunsMap,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=getExperiment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExperiment.js","sourceRoot":"","sources":["../../../src/experiments/getExperiment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AASxD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,YAAY,GACc;IAC1B,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC3C,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAsB;QAC3C,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAA+B,CAChC;KACF,CAAC;IACF,OAAO;QACL,GAAG,UAAU;QACb,GAAG,iBAAiB;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ClientFn } from "../types/core.js";
|
|
2
|
+
import { type ExperimentInfo } from "../types/experiments.js";
|
|
3
|
+
export type GetExperimentParams = ClientFn & {
|
|
4
|
+
/**
|
|
5
|
+
* The experiment ID
|
|
6
|
+
*/
|
|
7
|
+
experimentId: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Returns an object containing the high-level info about an experiment
|
|
11
|
+
*/
|
|
12
|
+
export declare function getExperimentInfo({ client: _client, experimentId: experiment_id, }: GetExperimentParams): Promise<ExperimentInfo>;
|
|
13
|
+
//# sourceMappingURL=getExperimentInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExperimentInfo.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,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,CAoB/C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import invariant from "tiny-invariant";
|
|
2
|
+
import { createClient } from "../client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Returns an object containing the high-level info about an experiment
|
|
5
|
+
*/
|
|
6
|
+
export async function getExperimentInfo({ client: _client, experimentId: experiment_id, }) {
|
|
7
|
+
const client = _client || createClient();
|
|
8
|
+
const { data: { data: experimentData } = {} } = await client.GET("/v1/experiments/{experiment_id}", {
|
|
9
|
+
params: {
|
|
10
|
+
path: {
|
|
11
|
+
experiment_id,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
invariant(experimentData, "Failed to get experiment");
|
|
16
|
+
return {
|
|
17
|
+
id: experimentData.id,
|
|
18
|
+
datasetId: experimentData.dataset_id,
|
|
19
|
+
datasetVersionId: experimentData.dataset_version_id,
|
|
20
|
+
projectName: experimentData.project_name || "", // This will never happen
|
|
21
|
+
metadata: experimentData.metadata,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=getExperimentInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExperimentInfo.js","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,GACP;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9D,iCAAiC,EACjC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,aAAa;aACd;SACF;KACF,CACF,CAAC;IACF,SAAS,CAAC,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,YAAY,IAAI,EAAE,EAAE,yBAAyB;QACzE,QAAQ,EAAE,cAAc,CAAC,QAAQ;KAClC,CAAC;AACJ,CAAC"}
|