/** * Hybrid Re-Ranker using Reciprocal Rank Fusion (RRF) * Combines vector search results with FTS5 results for better ranking */ /** * Configuration for hybrid re-ranking */ export interface RerankConfig { /** RRF constant k - higher values reduce the impact of rank differences (default: 60) */ rrfK: number; /** Weight for vector search results (0-1, default: 0.7) */ vectorWeight: number; /** Weight for FTS results (0-1, default: 0.3) */ ftsWeight: number; /** Whether re-ranking is enabled */ enabled: boolean; } export declare const DEFAULT_RERANK_CONFIG: RerankConfig; /** * Generic result with ID and score */ export interface RankableResult { id: number | string; score: number; } /** * Re-ranked result with combined score */ export interface RerankResult { id: number | string; combinedScore: number; vectorRank: number | null; ftsRank: number | null; vectorScore: number | null; ftsScore: number | null; } /** * Hybrid Re-Ranker class */ export declare class HybridReranker { private config; constructor(config?: Partial); /** * Get current configuration */ getConfig(): RerankConfig; /** * Calculate RRF score for a given rank * Formula: 1 / (k + rank) */ private calculateRrfScore; /** * Re-rank results using Reciprocal Rank Fusion * Combines vector search and FTS results for better overall ranking * * @param vectorResults - Results from vector/semantic search (sorted by similarity) * @param ftsResults - Results from full-text search (sorted by relevance) * @param limit - Maximum results to return */ rerank(vectorResults: RankableResult[], ftsResults: RankableResult[], limit: number): RerankResult[]; /** * Re-rank with boosting for results that appear in both sources * Results in both vector and FTS get an extra boost * * @param vectorResults - Results from vector/semantic search * @param ftsResults - Results from full-text search * @param limit - Maximum results to return * @param overlapBoost - Extra score multiplier for overlapping results (default: 1.2) */ rerankWithOverlapBoost(vectorResults: RankableResult[], ftsResults: RankableResult[], limit: number, overlapBoost?: number): RerankResult[]; } /** * Get or create a hybrid reranker with given config */ export declare function getHybridReranker(config?: Partial): HybridReranker; /** * Get rerank config from environment or defaults */ export declare function getRerankConfig(): RerankConfig; //# sourceMappingURL=HybridReranker.d.ts.map