UNPKG

@wavequery/conductor

Version:
29 lines (28 loc) 1.12 kB
import { Logger } from "@/utils/logger"; import { EvalResult, EvalConfig } from "@/types/interfaces/evals"; export interface FeedbackData extends Record<string, any> { evaluator: string; [key: string]: any; } export declare abstract class BaseEvaluator { protected config: EvalConfig; protected logger: Logger; constructor(config: EvalConfig); abstract evaluate(input: any, expected?: any): Promise<EvalResult[]>; } export declare class AutomatedEvaluator extends BaseEvaluator { evaluate(input: any, expected?: any): Promise<EvalResult[]>; private evaluateMetric; private evaluateResponseTime; private evaluateTokenUsage; private evaluateErrorRate; } export declare class HumanEvaluator extends BaseEvaluator { evaluate(input: any, feedback: FeedbackData): Promise<EvalResult[]>; } export declare class CustomEvaluator extends BaseEvaluator { private customMetrics; constructor(config: EvalConfig); registerMetric(name: string, evaluator: (input: any, expected?: any) => Promise<number>): void; evaluate(input: any, expected?: any): Promise<EvalResult[]>; }