@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
125 lines (124 loc) • 3.73 kB
TypeScript
/**
* Reranker Factory
*
* Factory for creating reranker instances with configuration.
* Follows the BaseFactory pattern for consistent lifecycle management.
*/
import { BaseFactory } from "../../core/infrastructure/index.js";
import type { AIProvider, Reranker, RerankerConfig, RerankerMetadata, RerankerType } from "../../types/index.js";
/**
* Reranker Factory
*
* Creates reranker instances based on type with configuration support.
* Uses lazy loading via dynamic imports to avoid circular dependencies.
*/
export declare class RerankerFactory extends BaseFactory<Reranker, RerankerConfig> {
private static instance;
private metadataMap;
private modelProvider;
private constructor();
/**
* Get singleton instance
*/
static getInstance(): RerankerFactory;
/**
* Reset singleton (for testing)
*/
static resetInstance(): void;
/**
* Set the AI provider for LLM-based rerankers
*/
setModelProvider(provider: AIProvider): void;
/**
* Register all default rerankers
*/
protected registerAll(): Promise<void>;
/**
* Create LLM-based reranker wrapper
*/
private createLLMReranker;
/**
* Create cross-encoder reranker wrapper
*/
private createCrossEncoderReranker;
/**
* Create Cohere reranker wrapper
*/
private createCohereReranker;
/**
* Create simple reranker wrapper
*/
private createSimpleReranker;
/**
* Create batch reranker wrapper
*/
private createBatchReranker;
/**
* Register a reranker with metadata and aliases
*/
registerReranker(type: RerankerType, factory: (config?: RerankerConfig) => Promise<Reranker>, metadata: RerankerMetadata): void;
/**
* Create a reranker by type or alias
*/
createReranker(typeOrAlias: string, config?: RerankerConfig): Promise<Reranker>;
/**
* Get metadata for a reranker
*/
getRerankerMetadata(typeOrAlias: string): RerankerMetadata | undefined;
/**
* Get default configuration for a reranker
*/
getDefaultConfig(typeOrAlias: string): Partial<RerankerConfig> | undefined;
/**
* Get available reranker types (not including aliases)
*/
getAvailableTypes(): Promise<RerankerType[]>;
/**
* Get all aliases mapped to their types
*/
getTypeAliases(): Map<string, string>;
/**
* Check if a type exists
*/
hasType(typeOrAlias: string): boolean;
/**
* Get rerankers suitable for a use case
*/
getRerankersForUseCase(useCase: string): RerankerType[];
/**
* Get rerankers that don't require external APIs
*/
getLocalRerankers(): RerankerType[];
/**
* Get rerankers that don't require AI models
*/
getModelFreeRerankers(): RerankerType[];
/**
* Get all reranker metadata
*/
getAllMetadata(): Map<RerankerType, RerankerMetadata>;
/**
* Clear factory and metadata
*/
clear(): void;
}
/**
* Global reranker factory singleton
*/
export declare const rerankerFactory: RerankerFactory;
/**
* Convenience function to create a reranker
*/
export declare function createReranker(typeOrAlias: string, config?: RerankerConfig): Promise<Reranker>;
/**
* Convenience function to get available reranker types
*/
export declare function getAvailableRerankerTypes(): Promise<RerankerType[]>;
/**
* Convenience function to get reranker metadata
*/
export declare function getRerankerMetadata(typeOrAlias: string): RerankerMetadata | undefined;
/**
* Convenience function to get default config
*/
export declare function getRerankerDefaultConfig(typeOrAlias: string): Partial<RerankerConfig> | undefined;