spa/.claude/skills/thread-manager/dist/core/embedding-service.d.ts

46 lines
1.1 KiB
TypeScript

/**
* Embedding Service Interface
*/
export interface IEmbeddingService {
/**
* Embed a single text string
*/
embed(text: string): Promise<number[]>;
/**
* Embed multiple text strings in batch (performance optimized)
*/
embedBatch(texts: string[]): Promise<number[][]>;
/**
* Get the dimensions of the embedding model
*/
getDimensions(): number;
/**
* Get model information
*/
getModelInfo(): ModelInfo;
}
export interface ModelInfo {
name: string;
version: string;
dimensions: number;
maxTokens: number;
}
export declare class XenovaEmbeddingService implements IEmbeddingService {
private extractor;
private readonly modelId;
private initPromise;
/**
* Lazy load the model (initialize on first call)
*/
private ensureInitialized;
private initialize;
embed(text: string): Promise<number[]>;
embedBatch(texts: string[]): Promise<number[][]>;
getDimensions(): number;
getModelInfo(): ModelInfo;
/**
* Text cleaning (remove noise, improve quality)
*/
private cleanText;
}