@wavequery/conductor
Version:
Modular LLM orchestration framework
29 lines (28 loc) • 1.12 kB
TypeScript
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[]>;
}