UNPKG

@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
/** * 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;