@arizeai/phoenix-client
Version:
A client for the Phoenix API
36 lines • 1.28 kB
JavaScript
import { createClient } from "../client.js";
import invariant from "tiny-invariant";
/**
* Create a new dataset
* @experimental this interface may change in the future
*/
export async function createDataset({ client: _client, name, description, examples, }) {
const client = _client || createClient();
const inputs = examples.map((example) => example.input);
const outputs = examples.map((example) => example?.output ?? {}); // Treat null as an empty object
const metadata = examples.map((example) => example?.metadata ?? {});
const splits = examples.map((example) => example?.splits !== undefined ? example.splits : null);
const createDatasetResponse = await client.POST("/v1/datasets/upload", {
params: {
query: {
// TODO: parameterize this
sync: true,
},
},
body: {
name,
description,
action: "create",
inputs,
outputs,
metadata,
splits,
},
});
invariant(createDatasetResponse.data?.data, "Failed to create dataset");
const datasetId = createDatasetResponse.data.data.dataset_id;
return {
datasetId,
};
}
//# sourceMappingURL=createDataset.js.map