UNPKG

@arizeai/phoenix-client

Version:

A client for the Phoenix API

43 lines 1.86 kB
import { createClient } from "../client.js"; import invariant from "tiny-invariant"; /** * Create a new experiment without running it. * This creates an experiment record that can later be executed using resumeExperiment. */ export async function createExperiment({ client: _client, datasetId, datasetVersionId, experimentName, experimentDescription, experimentMetadata = {}, splits, repetitions = 1, }) { const client = _client || createClient(); const experimentResponse = await client .POST("/v1/datasets/{dataset_id}/experiments", { params: { path: { dataset_id: datasetId, }, }, body: { name: experimentName, description: experimentDescription, metadata: experimentMetadata, repetitions, ...(datasetVersionId ? { version_id: datasetVersionId } : {}), ...(splits ? { splits: [...splits] } : {}), }, }) .then((res) => res.data?.data); invariant(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: experimentResponse.project_name ?? 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