/** * Author: Srilal S. Siriwardhane * Email: SrilalS@99x.io **/ import { FeatureExtractionPipeline } from '@huggingface/transformers'; import { AbstractEmbedderEngine } from './AbstractEmbedderEngine.js'; import { Document } from '../types/Document.js'; import { VectorDocument } from '../types/VectorDocument.js'; import { AvailableModels } from '../types/AvailableModels.js'; import { Model } from '../types/Model.js'; /** * EmbedderModel * This type is extended by the `Model` Enum to enforce the model type. */ type EmbedderModel = Model | 'gte-small' | 'mxbai-embed-large-v1' | 'jina-clip-v1' | 'nomic-embed-text-v1.5'; /** * OnBrowserEmbeddingEngine * This class is responsible for embedding texts and documents using the transformerJS * in the browser environment. */ export declare class OnBrowserEmbeddingEngine extends AbstractEmbedderEngine { embedderModel: EmbedderModel; availableModels: AvailableModels; embedder: FeatureExtractionPipeline; /** * Constructor * @param model EmbedderModel */ constructor(model: EmbedderModel); static init(model: EmbedderModel): Promise; createEmbedder(instance: OnBrowserEmbeddingEngine): Promise; embedTexts(texts: string[], batchSize?: number): Promise; embedDocuments(documents: Document[], batchSize?: number): Promise; /** * getModel * This method is responsible for returning the model name. * @returns string */ getModel(): string; } export {};