UNPKG

@juspay/neurolink

Version:

The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002

71 lines (70 loc) • 2.44 kB
/** * 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<RerankResult[]>; /** * 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<RerankResult[]>; /** * 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<Array<{ index: number; score: number; }>>; } /** * 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<Array<{ index: number; score: number; }>>; }