langsmith
Version:
Client library to connect to the LangSmith Observability and Evaluation Platform.
40 lines (39 loc) • 1.62 kB
TypeScript
import type { CreateProjectParams, CreateExampleOptions, Client } from "../../client.js";
import type { EvaluationResult } from "../../evaluation/evaluator.js";
import type { RunTreeConfig } from "../../run_trees.js";
import type { SimpleEvaluator } from "./vendor/evaluatedBy.js";
export { type SimpleEvaluator };
export type LangSmithJestlikeWrapperConfig = Partial<Omit<RunTreeConfig, "client">> & {
repetitions?: number;
enableTestTracking?: boolean;
};
export type LangSmithJestlikeWrapperParams<I, O> = {
id?: string;
inputs: I;
referenceOutputs?: O;
config?: LangSmithJestlikeWrapperConfig;
} & Pick<CreateExampleOptions, "split" | "metadata">;
export type LangSmithJestlikeDescribeWrapperConfig = {
client?: Client;
enableTestTracking?: boolean;
testSuiteName?: string;
} & Partial<Omit<CreateProjectParams, "referenceDatasetId">>;
export type LangSmithJestlikeDescribeWrapper = (name: string, fn: () => void | Promise<void>, config?: LangSmithJestlikeDescribeWrapperConfig) => void;
export type SimpleEvaluationResult = {
key: EvaluationResult["key"];
score: NonNullable<EvaluationResult["score"]>;
comment?: EvaluationResult["comment"];
};
export type LangSmithJestlikeTestMetadata = {
exampleId?: string;
experimentId?: string;
datasetId?: string;
testTrackingEnabled: boolean;
repetition: number;
split?: string | string[];
};
export type LangSmithJestlikeTestFunction<I, O> = (data: {
inputs: I;
referenceOutputs?: O;
testMetadata: LangSmithJestlikeTestMetadata;
} & Record<string, any>) => unknown | Promise<unknown>;