UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

66 lines (65 loc) 2.33 kB
/** * @file BatchEvaluator - Supports batch evaluation of multiple responses. * Enables parallel evaluation with configurable concurrency and error handling. */ import type { AutoEvaluationConfig, BatchEvaluationConfig, BatchEvaluationItem, BatchEvaluationResult } from "../types/index.js"; /** * BatchEvaluator - Performs evaluation on multiple items in parallel. * Supports configurable concurrency, retry logic, and progress tracking. * * @example * ```typescript * const batchEvaluator = new BatchEvaluator({ * concurrency: 3, * continueOnError: true, * onProgress: (progress) => console.log(`${progress.percentComplete}% complete`) * }); * * const items = [ * { id: '1', options: opts1, result: result1 }, * { id: '2', options: opts2, result: result2 }, * ]; * * const batchResult = await batchEvaluator.evaluateBatch(items); * console.log(`Passing rate: ${batchResult.summary.passingRate}%`); * ``` */ export declare class BatchEvaluator { private config; constructor(config?: BatchEvaluationConfig); /** * Create a fresh Evaluator instance for each evaluation to avoid leaking state. */ private _createEvaluator; /** * Evaluates a batch of items in parallel with controlled concurrency. * * @param items - Array of items to evaluate * @param autoEvalConfig - Auto-evaluation configuration for thresholds * @returns Batch evaluation results with summary statistics */ evaluateBatch(items: BatchEvaluationItem[], autoEvalConfig?: AutoEvaluationConfig): Promise<BatchEvaluationResult>; /** * Evaluates items sequentially (one at a time). * Useful for debugging or when order matters. * * @param items - Array of items to evaluate * @param autoEvalConfig - Auto-evaluation configuration * @returns Batch evaluation results */ evaluateSequential(items: BatchEvaluationItem[], autoEvalConfig?: AutoEvaluationConfig): Promise<BatchEvaluationResult>; /** * Gets the current configuration. */ getConfig(): BatchEvaluationConfig; /** * Updates the configuration. * * @param config - New configuration values */ updateConfig(config: Partial<BatchEvaluationConfig>): void; /** * Helper to delay execution. */ private delay; }