UNPKG

@arizeai/phoenix-client

Version:

A client for the Phoenix API

103 lines 2.86 kB
import { AnnotatorKind } from "./annotations"; import { Node } from "./core"; import { Example } from "./datasets"; /** * An experiment is a set of task runs on a dataset version */ export interface ExperimentInfo extends Node { datasetId: string; datasetVersionId: string; datasetSplits?: string[]; /** * The project under which the experiment task traces are recorded */ projectName: string; /** * Metadata about the experiment as an object of key values * e.x. model name */ metadata: Record<string, unknown>; } export type ExperimentRunID = string; /** * A map of an experiment runId to the run */ export interface ExperimentRunsMap { runs: Record<ExperimentRunID, ExperimentRun>; } /** * An experiment that has been run and been recorded on the server */ export interface RanExperiment extends ExperimentInfo, ExperimentRunsMap { evaluationRuns?: ExperimentEvaluationRun[]; } /** * The result of running an experiment on a single example */ export interface ExperimentRun extends Node { startTime: Date; endTime: Date; /** * What experiment the run belongs to */ experimentId: string; datasetExampleId: string; output?: string | boolean | number | object | null; error: string | null; traceId: string | null; } export type EvaluatorParams<TaskOutputType = TaskOutput> = { /** * The input field of the Dataset Example */ input: Example["input"]; /** * The output of the task */ output: TaskOutputType; /** * The expected or reference output of the Dataset Example */ expected?: Example["output"]; /** * Metadata associated with the Dataset Example */ metadata?: Example["metadata"]; }; export type Evaluator = { name: string; kind: AnnotatorKind; evaluate: (args: EvaluatorParams) => Promise<EvaluationResult> | EvaluationResult; }; export type EvaluationResult = { score?: number | null; label?: string | null; metadata?: Record<string, unknown>; explanation?: string | null; }; export interface ExperimentEvaluationRun extends Node { experimentRunId: string; startTime: Date; endTime: Date; /** * THe name of the evaluation */ name: string; annotatorKind: AnnotatorKind; error: string | null; result: EvaluationResult | null; /** * The trace id of the evaluation * This is null if the trace is deleted or never recorded */ traceId: string | null; } export type TaskOutput = string | boolean | number | object | null; export type ExperimentTask = (example: Example) => Promise<TaskOutput> | TaskOutput; export interface ExperimentParameters { /** * The number of examples to run the experiment on */ nExamples: number; } //# sourceMappingURL=experiments.d.ts.map