/** * Reranker Implementation * * Multi-factor scoring system for reranking retrieval results. * Combines semantic relevance (LLM-based), vector similarity, and position. */ import type { VectorQueryResult, RerankerOptions, RerankResult, AIProvider } from "../../types/index.js"; /** * Rerank vector search results using multi-factor scoring * * Combines three scoring factors: * 1. Semantic score: LLM-based relevance assessment * 2. Vector score: Original similarity score from vector search * 3. Position score: Inverse of original ranking position * * @param results - Vector search results to rerank * @param query - Original search query * @param model - Language model for semantic scoring * @param options - Reranking options * @returns Reranked results with detailed scores */ export declare function rerank(results: VectorQueryResult[], query: string, model: AIProvider, options?: RerankerOptions): Promise; /** * Batch rerank with optimized LLM calls * Scores multiple documents in a single prompt for efficiency * * @param results - Results to rerank * @param query - Search query * @param model - Language model * @param options - Reranking options * @returns Reranked results */ export declare function batchRerank(results: VectorQueryResult[], query: string, model: AIProvider, options?: RerankerOptions): Promise; /** * Simple position-based reranker (no LLM required) * Uses only vector score and position * * @param results - Results to rerank * @param options - Reranking options * @returns Reranked results */ export declare function simpleRerank(results: VectorQueryResult[], options?: { topK?: number; vectorWeight?: number; positionWeight?: number; }): RerankResult[]; /** * Cohere-style relevance scorer interface * Placeholder for integration with Cohere's rerank API */ export declare class CohereRelevanceScorer { private modelName; constructor(modelName?: string); score(_query: string, _documents: string[]): Promise>; } /** * Cross-encoder style reranker interface * Placeholder for integration with cross-encoder models */ export declare class CrossEncoderReranker { private modelName; constructor(modelName?: string); rerank(_query: string, _documents: string[]): Promise>; }