UNPKG

@arizeai/phoenix-client

Version:

A client for the Phoenix API

43 lines 1.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDataset = createDataset; const client_1 = require("../client"); const tiny_invariant_1 = __importDefault(require("tiny-invariant")); /** * Create a new dataset * @experimental this interface may change in the future */ async function createDataset({ client: _client, name, description, examples, }) { var _a; const client = _client || (0, client_1.createClient)(); const inputs = examples.map((example) => example.input); const outputs = examples.map((example) => { var _a; return (_a = example === null || example === void 0 ? void 0 : example.output) !== null && _a !== void 0 ? _a : {}; }); // Treat null as an empty object const metadata = examples.map((example) => { var _a; return (_a = example === null || example === void 0 ? void 0 : example.metadata) !== null && _a !== void 0 ? _a : {}; }); const splits = examples.map((example) => (example === null || example === void 0 ? void 0 : 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, }, }); (0, tiny_invariant_1.default)((_a = createDatasetResponse.data) === null || _a === void 0 ? void 0 : _a.data, "Failed to create dataset"); const datasetId = createDatasetResponse.data.data.dataset_id; return { datasetId, }; } //# sourceMappingURL=createDataset.js.map