@arizeai/phoenix-client
Version:
A client for the Phoenix API
43 lines • 2.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createExperiment = createExperiment;
const client_1 = require("../client");
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
/**
* Create a new experiment without running it.
* This creates an experiment record that can later be executed using resumeExperiment.
*/
async function createExperiment({ client: _client, datasetId, datasetVersionId, experimentName, experimentDescription, experimentMetadata = {}, splits, repetitions = 1, }) {
var _a;
const client = _client || (0, client_1.createClient)();
const experimentResponse = await client
.POST("/v1/datasets/{dataset_id}/experiments", {
params: {
path: {
dataset_id: datasetId,
},
},
body: Object.assign(Object.assign({ name: experimentName, description: experimentDescription, metadata: experimentMetadata, repetitions }, (datasetVersionId ? { version_id: datasetVersionId } : {})), (splits ? { splits: [...splits] } : {})),
})
.then((res) => { var _a; return (_a = res.data) === null || _a === void 0 ? void 0 : _a.data; });
(0, tiny_invariant_1.default)(experimentResponse, `Failed to create experiment`);
return {
id: experimentResponse.id,
datasetId: experimentResponse.dataset_id,
datasetVersionId: experimentResponse.dataset_version_id,
datasetSplits: splits ? [...splits] : [],
repetitions: experimentResponse.repetitions,
metadata: experimentResponse.metadata || {},
projectName: (_a = experimentResponse.project_name) !== null && _a !== void 0 ? _a : null,
createdAt: experimentResponse.created_at,
updatedAt: experimentResponse.updated_at,
exampleCount: experimentResponse.example_count,
successfulRunCount: experimentResponse.successful_run_count,
failedRunCount: experimentResponse.failed_run_count,
missingRunCount: experimentResponse.missing_run_count,
};
}
//# sourceMappingURL=createExperiment.js.map