UNPKG

@orama/orama

Version:

A complete search engine and RAG pipeline in your browser, server, or edge network with support for full-text, vector, and hybrid search in less than 2kb.

22 lines (21 loc) 1.13 kB
import { InternalDocumentID } from '../components/internal-document-id-store.js'; export type Magnitude = number; export type VectorType = Float32Array; export type VectorTypeLike = number[] | VectorType; export type SimilarVector = [number, number]; export declare const DEFAULT_SIMILARITY = 0.8; export declare class VectorIndex { size: number; private vectors; constructor(size: number); add(internalDocumentId: InternalDocumentID, value: VectorTypeLike): void; remove(internalDocumentId: InternalDocumentID): void; find(vector: VectorTypeLike, similarity: number, whereFiltersIDs: Set<InternalDocumentID> | undefined): SimilarVector[]; toJSON(): { size: number; vectors: [InternalDocumentID, [Magnitude, number[]]][]; }; static fromJSON(json: any): VectorIndex; } export declare function getMagnitude(vector: Float32Array, vectorLength: number): number; export declare function findSimilarVectors(targetVector: Float32Array, keys: Set<InternalDocumentID> | undefined, vectors: Map<InternalDocumentID, [Magnitude, VectorType]>, length: number, threshold: any): SimilarVector[];