@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
TypeScript
/**
* @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;
}