UNPKG

n8n-nodes-query-retriever-rerank

Version:

Advanced n8n community node for intelligent document retrieval with multi-step reasoning, reranking, and comprehensive debugging

54 lines (53 loc) 1.58 kB
import type { BaseLanguageModel } from '@langchain/core/language_models/base'; import type { VectorStore } from '@langchain/core/vectorstores'; import type { Embeddings } from '@langchain/core/embeddings'; import type { BaseMemory } from '@langchain/core/memory'; export interface StrategyContext { vectorStore: VectorStore; model: BaseLanguageModel; embeddings: Embeddings; memory: BaseMemory | null; config: StrategyConfig; debugging: boolean; llmDebugAnalysis: boolean; } export interface StrategyConfig { documentsToRetrieve: number; documentsToReturn: number; returnRankedDocuments: boolean; promptTemplate?: string; queryVariations?: number; includeOriginalQuery?: boolean; maxSteps?: number; enableEarlyStop?: boolean; } export interface StrategyResult { answer?: string; sourceDocuments?: any[]; debugData?: any; error?: string; } export interface DebugData { strategy: string; configuration: StrategyConfig; timing: Record<string, string>; documentFlow: Record<string, number>; queryDetails: Record<string, any>; reranking?: Record<string, any>; answerGeneration?: Record<string, any>; } export interface RerankingContext { strategyType: string; queryIndex?: number; isOriginal?: boolean; label?: string; } export interface RerankingResult { docs: any[]; debugInfo: any; } export interface QueryStrategy { execute(input: string, context: StrategyContext): Promise<StrategyResult>; getName(): string; getDescription(): string; }