UNPKG

rag-cli-tester

Version:

A lightweight CLI tool for testing RAG (Retrieval-Augmented Generation) systems with different embedding combinations

81 lines 2.76 kB
import { DatabaseConnection } from './database'; import { EmbeddingGenerator } from './embeddings'; import { BaseMetricResult } from './metrics/base-metric'; import { TestConfiguration, TestResult, ExperimentResults } from './types'; export interface ProductionTestConfiguration extends TestConfiguration { trainingRatio: number; validationRatio: number; testingRatio: number; maxTrainingSamples: number; maxValidationSamples: number; maxTestingSamples: number; batchSize: number; enableCaching: boolean; crossValidationFolds: number; minQueryLength: number; minAnswerLength: number; maxQueryLength: number; maxAnswerLength: number; samplingStrategy: 'random' | 'stratified' | 'time_based' | 'query_complexity'; timestampColumn?: string; timeWindow?: 'daily' | 'weekly' | 'monthly'; complexityMetrics?: string[]; } export interface ProductionTestResult extends TestResult { detailedMetrics: BaseMetricResult; crossValidationScores: number[]; crossValidationMean: number; crossValidationStd: number; confidenceInterval: { lower: number; upper: number; confidence: number; }; processingStats: { trainingTime: number; validationTime: number; testingTime: number; embeddingTime: number; memoryUsage: number; throughput: number; }; dataQuality: { trainingSampleSize: number; validationSampleSize: number; testingSampleSize: number; averageQueryLength: number; averageAnswerLength: number; queryComplexityDistribution: Record<string, number>; }; } export declare class ProductionRAGTester { private db; private embeddings; private metricCache; private embeddingCache; constructor(dbConnection: DatabaseConnection, embeddingGenerator: EmbeddingGenerator); initialize(): Promise<void>; runProductionExperiment(config: ProductionTestConfiguration): Promise<ExperimentResults>; private runProductionSingleTest; private splitData; private sampleData; private timeBasedSampling; private complexityBasedSampling; private stratifiedSampling; private calculateQueryComplexity; private runCrossValidation; private generateTrainingEmbeddings; private processTestQueries; private getMetric; private randomSample; private combineColumns; private calculateConfidenceInterval; private calculateDataQuality; private calculateProductionSummary; validateProductionConfiguration(config: ProductionTestConfiguration): Promise<{ isValid: boolean; errors: string[]; warnings: string[]; }>; } //# sourceMappingURL=production-tester.d.ts.map