@astermind/astermind-pro
Version:
Astermind Pro - Premium ML Toolkit with Advanced RAG, Reranking, Summarization, and Information Flow Analysis
57 lines • 1.48 kB
TypeScript
import { type SparseVec } from './vectorization.js';
import type { Kernel } from '../types.js';
export interface RetrievedChunk {
heading: string;
content: string;
rich?: string;
score?: number;
index?: number;
}
export interface HybridRetrievalOptions {
query: string;
chunks: Array<{
heading: string;
content: string;
rich?: string;
}>;
vocabMap: Map<string, number>;
idf: number[];
tfidfDocs: SparseVec[];
denseDocs: Float64Array[];
landmarksIdx: number[];
landmarkMat: Float64Array[];
vocabSize: number;
kernel: Kernel;
sigma: number;
alpha: number;
beta: number;
ridge: number;
headingW: number;
useStem: boolean;
expandQuery: boolean;
topK: number;
prefilter?: number;
}
export interface HybridRetrievalResult {
items: RetrievedChunk[];
scores: number[];
indices: number[];
tfidfScores: number[];
denseScores: number[];
}
/**
* Compute keyword bonus scores for chunks
*/
export declare function keywordBonus(chunks: Array<{
content: string;
rich?: string;
}>, query: string): number[];
/**
* Get top K indices from scores
*/
export declare function topKIndices(arr: number[] | Float64Array, k: number): number[];
/**
* Perform hybrid retrieval (sparse + dense + keyword bonus)
*/
export declare function hybridRetrieve(opts: HybridRetrievalOptions): HybridRetrievalResult;
//# sourceMappingURL=hybrid-retriever.d.ts.map