@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
77 lines (76 loc) • 2.14 kB
TypeScript
/**
* @file Sampling Strategy
* Configurable sampling for cost-efficient evaluation
*/
import type { SamplingConfig, SamplingContext, SamplingDecision } from "../../../types/index.js";
/**
* Default sampling configuration
*/
export declare const DEFAULT_SAMPLING_CONFIG: SamplingConfig;
/**
* Sampling strategy for evaluation
*/
export declare class SamplingStrategy {
private _config;
private _recentScores;
private _currentRate;
private _maxRecentScores;
constructor(config?: Partial<SamplingConfig>);
/**
* Get current sampling configuration
*/
get config(): SamplingConfig;
/**
* Get current sampling rate
*/
get currentRate(): number;
/**
* Decide whether to sample a request
*/
shouldSample(context?: SamplingContext): SamplingDecision;
/**
* Record a score for adaptive sampling
*/
recordScore(score: number): void;
/**
* Update sampling rate based on recent quality
*/
private _updateAdaptiveRate;
/**
* Reset sampling state
*/
reset(): void;
/**
* Update sampling configuration
*/
configure(config: Partial<SamplingConfig>): void;
/**
* Get sampling statistics
*/
getStats(): {
currentRate: number;
recentScoresCount: number;
averageScore: number | null;
};
}
/**
* Create a sampling strategy
*/
export declare function createSamplingStrategy(config?: Partial<SamplingConfig>): SamplingStrategy;
/**
* Pre-configured sampling strategies
*/
export declare const SamplingStrategies: {
/** Evaluate everything (default) */
readonly all: () => SamplingStrategy;
/** Evaluate 50% of requests */
readonly half: () => SamplingStrategy;
/** Evaluate 10% of requests */
readonly light: () => SamplingStrategy;
/** Adaptive sampling based on quality */
readonly adaptive: () => SamplingStrategy;
/** Only evaluate errors and specific conditions */
readonly errorsOnly: () => SamplingStrategy;
/** VIP users always evaluated */
readonly vipUsers: (users: string[]) => SamplingStrategy;
};