/* tslint:disable */ /* eslint-disable */ /** * WASM-compatible embedding engine */ export class EmbeddingEngine { free(): void; [Symbol.dispose](): void; /** * Get the embedding dimension (384 for all-MiniLM-L6-v2) */ dimension(): number; /** * Generate embedding for a single text * * Returns a Float32Array of 384 dimensions */ embed(text: string): Float32Array; /** * Generate embeddings for multiple texts * * Takes a JavaScript Array of strings * Returns a JavaScript Array of Float32Array */ embed_batch(texts: Array): Array; /** * Check if the engine is ready for inference */ is_ready(): boolean; /** * Load the model and tokenizer from bytes * * This is now the ONLY way to initialize the engine. * Model weights are no longer embedded in WASM for faster initialization. * * # Arguments * * `model_bytes` - SafeTensors format model weights * * `tokenizer_bytes` - tokenizer.json contents * * `config_bytes` - config.json contents */ load(model_bytes: Uint8Array, tokenizer_bytes: Uint8Array, config_bytes: Uint8Array): void; /** * Get the maximum sequence length */ max_sequence_length(): number; /** * Create a new embedding engine instance (not loaded) */ constructor(); } /** * Calculate cosine similarity between two embeddings */ export function cosine_similarity(a: Float32Array, b: Float32Array): number; export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly __wbg_embeddingengine_free: (a: number, b: number) => void; readonly cosine_similarity: (a: number, b: number, c: number, d: number) => number; readonly embeddingengine_dimension: (a: number) => number; readonly embeddingengine_embed: (a: number, b: number, c: number) => [number, number, number]; readonly embeddingengine_embed_batch: (a: number, b: any) => [number, number, number]; readonly embeddingengine_is_ready: (a: number) => number; readonly embeddingengine_load: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; readonly embeddingengine_max_sequence_length: (a: number) => number; readonly embeddingengine_new: () => number; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_exn_store: (a: number) => void; readonly __externref_table_alloc: () => number; readonly __wbindgen_externrefs: WebAssembly.Table; readonly __externref_table_dealloc: (a: number) => void; readonly __wbindgen_start: () => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. * * @returns {InitOutput} */ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. * * @returns {Promise} */ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise;