@astermind/astermind-pro
Version:
Astermind Pro - Premium ML Toolkit with Advanced RAG, Reranking, Summarization, and Information Flow Analysis
55 lines • 1.64 kB
TypeScript
import { type SparseVec } from './vectorization.js';
import type { Kernel } from '../types.js';
export interface IndexState {
vocabMap: Map<string, number>;
idf: number[];
tfidfDocs: SparseVec[];
landmarksIdx: number[];
landmarkMat: Float64Array[];
denseDocs: Float64Array[];
}
export interface BuildIndexOptions {
chunks: Array<{
heading: string;
content: string;
}>;
vocab: number;
landmarks: number;
headingW: number;
useStem: boolean;
kernel: Kernel;
sigma: number;
}
/**
* Build vocabulary and IDF from chunks
*/
export declare function buildVocabAndIdf(chunks: Array<{
heading: string;
content: string;
}>, vocabSize: number, useStem: boolean): {
vocabMap: Map<string, number>;
idf: number[];
};
/**
* Build TF-IDF vectors for all chunks
*/
export declare function buildTfidfDocs(chunks: Array<{
heading: string;
content: string;
}>, vocabMap: Map<string, number>, idf: number[], headingW: number, useStem: boolean): SparseVec[];
/**
* Build Nyström landmarks from TF-IDF documents
*/
export declare function buildLandmarks(tfidfDocs: SparseVec[], vocabSize: number, numLandmarks: number): {
landmarksIdx: number[];
landmarkMat: Float64Array[];
};
/**
* Build dense projections for all TF-IDF documents
*/
export declare function buildDenseDocs(tfidfDocs: SparseVec[], vocabSize: number, landmarkMat: Float64Array[], kernel: Kernel, sigma: number): Float64Array[];
/**
* Build complete index from chunks
*/
export declare function buildIndex(opts: BuildIndexOptions): IndexState;
//# sourceMappingURL=index-builder.d.ts.map