@sparkleideas/embeddings 3.0.0-alpha.12-patch.17 → 3.0.0-alpha.12-patch.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/dist/__tests__/embedding-service.test.d.ts +0 -2
- package/dist/__tests__/embedding-service.test.d.ts.map +0 -1
- package/dist/__tests__/embedding-service.test.js +0 -98
- package/dist/__tests__/embedding-service.test.js.map +0 -1
- package/dist/chunking.d.ts +0 -68
- package/dist/chunking.d.ts.map +0 -1
- package/dist/chunking.js +0 -251
- package/dist/chunking.js.map +0 -1
- package/dist/embedding-service.d.ts +0 -207
- package/dist/embedding-service.d.ts.map +0 -1
- package/dist/embedding-service.js +0 -965
- package/dist/embedding-service.js.map +0 -1
- package/dist/hyperbolic.d.ts +0 -103
- package/dist/hyperbolic.d.ts.map +0 -1
- package/dist/hyperbolic.js +0 -343
- package/dist/hyperbolic.js.map +0 -1
- package/dist/index.d.ts +0 -31
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -37
- package/dist/index.js.map +0 -1
- package/dist/neural-integration.d.ts +0 -203
- package/dist/neural-integration.d.ts.map +0 -1
- package/dist/neural-integration.js +0 -213
- package/dist/neural-integration.js.map +0 -1
- package/dist/normalization.d.ts +0 -73
- package/dist/normalization.d.ts.map +0 -1
- package/dist/normalization.js +0 -192
- package/dist/normalization.js.map +0 -1
- package/dist/persistent-cache.d.ts +0 -119
- package/dist/persistent-cache.d.ts.map +0 -1
- package/dist/persistent-cache.js +0 -337
- package/dist/persistent-cache.js.map +0 -1
- package/dist/rvf-embedding-cache.d.ts +0 -118
- package/dist/rvf-embedding-cache.d.ts.map +0 -1
- package/dist/rvf-embedding-cache.js +0 -458
- package/dist/rvf-embedding-cache.js.map +0 -1
- package/dist/rvf-embedding-service.d.ts +0 -79
- package/dist/rvf-embedding-service.d.ts.map +0 -1
- package/dist/rvf-embedding-service.js +0 -318
- package/dist/rvf-embedding-service.js.map +0 -1
- package/dist/types.d.ts +0 -237
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -15
- package/dist/types.js.map +0 -1
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* V3 Embedding Service Implementation
|
|
3
|
-
*
|
|
4
|
-
* Production embedding service aligned with agentic-flow@alpha:
|
|
5
|
-
* - OpenAI provider (text-embedding-3-small/large)
|
|
6
|
-
* - Transformers.js provider (local ONNX models)
|
|
7
|
-
* - Mock provider (development/testing)
|
|
8
|
-
*
|
|
9
|
-
* Performance Targets:
|
|
10
|
-
* - Single embedding: <100ms (API), <50ms (local)
|
|
11
|
-
* - Batch embedding: <500ms for 10 items
|
|
12
|
-
* - Cache hit: <1ms
|
|
13
|
-
*/
|
|
14
|
-
import { EventEmitter } from 'events';
|
|
15
|
-
import type { EmbeddingProvider, EmbeddingConfig, OpenAIEmbeddingConfig, TransformersEmbeddingConfig, MockEmbeddingConfig, AgenticFlowEmbeddingConfig, EmbeddingResult, BatchEmbeddingResult, IEmbeddingService, EmbeddingEvent, EmbeddingEventListener, SimilarityMetric, SimilarityResult, NormalizationType } from './types.js';
|
|
16
|
-
import { PersistentEmbeddingCache } from './persistent-cache.js';
|
|
17
|
-
declare class LRUCache<K, V> {
|
|
18
|
-
private readonly maxSize;
|
|
19
|
-
private cache;
|
|
20
|
-
private hits;
|
|
21
|
-
private misses;
|
|
22
|
-
constructor(maxSize: number);
|
|
23
|
-
get(key: K): V | undefined;
|
|
24
|
-
set(key: K, value: V): void;
|
|
25
|
-
clear(): void;
|
|
26
|
-
get size(): number;
|
|
27
|
-
get hitRate(): number;
|
|
28
|
-
getStats(): {
|
|
29
|
-
size: number;
|
|
30
|
-
maxSize: number;
|
|
31
|
-
hits: number;
|
|
32
|
-
misses: number;
|
|
33
|
-
hitRate: number;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
declare abstract class BaseEmbeddingService extends EventEmitter implements IEmbeddingService {
|
|
37
|
-
protected readonly config: EmbeddingConfig;
|
|
38
|
-
abstract readonly provider: EmbeddingProvider;
|
|
39
|
-
protected cache: LRUCache<string, Float32Array>;
|
|
40
|
-
protected persistentCache: PersistentEmbeddingCache | null;
|
|
41
|
-
protected embeddingListeners: Set<EmbeddingEventListener>;
|
|
42
|
-
protected normalizationType: NormalizationType;
|
|
43
|
-
constructor(config: EmbeddingConfig);
|
|
44
|
-
abstract embed(text: string): Promise<EmbeddingResult>;
|
|
45
|
-
abstract embedBatch(texts: string[]): Promise<BatchEmbeddingResult>;
|
|
46
|
-
/**
|
|
47
|
-
* Apply normalization to embedding if configured
|
|
48
|
-
*/
|
|
49
|
-
protected applyNormalization(embedding: Float32Array): Float32Array;
|
|
50
|
-
/**
|
|
51
|
-
* Check persistent cache for embedding
|
|
52
|
-
*/
|
|
53
|
-
protected checkPersistentCache(text: string): Promise<Float32Array | null>;
|
|
54
|
-
/**
|
|
55
|
-
* Store embedding in persistent cache
|
|
56
|
-
*/
|
|
57
|
-
protected storePersistentCache(text: string, embedding: Float32Array): Promise<void>;
|
|
58
|
-
protected emitEvent(event: EmbeddingEvent): void;
|
|
59
|
-
addEventListener(listener: EmbeddingEventListener): void;
|
|
60
|
-
removeEventListener(listener: EmbeddingEventListener): void;
|
|
61
|
-
clearCache(): void;
|
|
62
|
-
getCacheStats(): {
|
|
63
|
-
size: number;
|
|
64
|
-
maxSize: number;
|
|
65
|
-
hitRate: number;
|
|
66
|
-
};
|
|
67
|
-
shutdown(): Promise<void>;
|
|
68
|
-
}
|
|
69
|
-
export declare class OpenAIEmbeddingService extends BaseEmbeddingService {
|
|
70
|
-
readonly provider: EmbeddingProvider;
|
|
71
|
-
private readonly apiKey;
|
|
72
|
-
private readonly model;
|
|
73
|
-
private readonly baseURL;
|
|
74
|
-
private readonly timeout;
|
|
75
|
-
private readonly maxRetries;
|
|
76
|
-
constructor(config: OpenAIEmbeddingConfig);
|
|
77
|
-
embed(text: string): Promise<EmbeddingResult>;
|
|
78
|
-
embedBatch(texts: string[]): Promise<BatchEmbeddingResult>;
|
|
79
|
-
private callOpenAI;
|
|
80
|
-
}
|
|
81
|
-
export declare class TransformersEmbeddingService extends BaseEmbeddingService {
|
|
82
|
-
readonly provider: EmbeddingProvider;
|
|
83
|
-
private pipeline;
|
|
84
|
-
private readonly modelName;
|
|
85
|
-
private initialized;
|
|
86
|
-
constructor(config: TransformersEmbeddingConfig);
|
|
87
|
-
private initialize;
|
|
88
|
-
embed(text: string): Promise<EmbeddingResult>;
|
|
89
|
-
embedBatch(texts: string[]): Promise<BatchEmbeddingResult>;
|
|
90
|
-
}
|
|
91
|
-
export declare class MockEmbeddingService extends BaseEmbeddingService {
|
|
92
|
-
readonly provider: EmbeddingProvider;
|
|
93
|
-
private readonly dimensions;
|
|
94
|
-
private readonly simulatedLatency;
|
|
95
|
-
constructor(config?: Partial<MockEmbeddingConfig>);
|
|
96
|
-
embed(text: string): Promise<EmbeddingResult>;
|
|
97
|
-
embedBatch(texts: string[]): Promise<BatchEmbeddingResult>;
|
|
98
|
-
/**
|
|
99
|
-
* Generate deterministic hash-based embedding
|
|
100
|
-
*/
|
|
101
|
-
private hashEmbedding;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Agentic-Flow embedding service using OptimizedEmbedder
|
|
105
|
-
*
|
|
106
|
-
* Features:
|
|
107
|
-
* - ONNX-based embeddings with SIMD acceleration
|
|
108
|
-
* - 256-entry LRU cache with FNV-1a hash
|
|
109
|
-
* - 8x loop unrolling for cosine similarity
|
|
110
|
-
* - Pre-allocated buffers (no GC pressure)
|
|
111
|
-
* - 3-4x faster batch processing
|
|
112
|
-
*/
|
|
113
|
-
export declare class AgenticFlowEmbeddingService extends BaseEmbeddingService {
|
|
114
|
-
readonly provider: EmbeddingProvider;
|
|
115
|
-
private embedder;
|
|
116
|
-
private initialized;
|
|
117
|
-
private readonly modelId;
|
|
118
|
-
private readonly dimensions;
|
|
119
|
-
private readonly embedderCacheSize;
|
|
120
|
-
private readonly modelDir;
|
|
121
|
-
private readonly autoDownload;
|
|
122
|
-
constructor(config: AgenticFlowEmbeddingConfig);
|
|
123
|
-
private initialize;
|
|
124
|
-
embed(text: string): Promise<EmbeddingResult>;
|
|
125
|
-
embedBatch(texts: string[]): Promise<BatchEmbeddingResult>;
|
|
126
|
-
/**
|
|
127
|
-
* Get combined cache statistics from both our LRU cache and embedder's internal cache
|
|
128
|
-
*/
|
|
129
|
-
getCacheStats(): {
|
|
130
|
-
size: number;
|
|
131
|
-
maxSize: number;
|
|
132
|
-
hitRate: number;
|
|
133
|
-
} | {
|
|
134
|
-
size: any;
|
|
135
|
-
maxSize: any;
|
|
136
|
-
hitRate: number;
|
|
137
|
-
embedderCache: any;
|
|
138
|
-
};
|
|
139
|
-
shutdown(): Promise<void>;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Create embedding service based on configuration (sync version)
|
|
143
|
-
* Note: For 'auto' provider or smart fallback, use createEmbeddingServiceAsync
|
|
144
|
-
*/
|
|
145
|
-
export declare function createEmbeddingService(config: EmbeddingConfig): IEmbeddingService;
|
|
146
|
-
/**
|
|
147
|
-
* Extended config with auto provider option
|
|
148
|
-
*/
|
|
149
|
-
export interface AutoEmbeddingConfig {
|
|
150
|
-
/** Provider: 'auto' will pick best available (agentic-flow > transformers > mock) */
|
|
151
|
-
provider: EmbeddingProvider | 'auto';
|
|
152
|
-
/** Fallback provider if primary fails */
|
|
153
|
-
fallback?: EmbeddingProvider;
|
|
154
|
-
/** Auto-install agentic-flow if not available (default: true for 'auto' provider) */
|
|
155
|
-
autoInstall?: boolean;
|
|
156
|
-
/** Model ID for agentic-flow */
|
|
157
|
-
modelId?: string;
|
|
158
|
-
/** Model name for transformers */
|
|
159
|
-
model?: string;
|
|
160
|
-
/** Dimensions */
|
|
161
|
-
dimensions?: number;
|
|
162
|
-
/** Cache size */
|
|
163
|
-
cacheSize?: number;
|
|
164
|
-
/** OpenAI API key (required for openai provider) */
|
|
165
|
-
apiKey?: string;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Create embedding service with automatic provider detection and fallback
|
|
169
|
-
*
|
|
170
|
-
* Features:
|
|
171
|
-
* - 'auto' provider picks best available: agentic-flow > transformers > mock
|
|
172
|
-
* - Automatic fallback if primary provider fails to initialize
|
|
173
|
-
* - Pre-validates provider availability before returning
|
|
174
|
-
*
|
|
175
|
-
* @example
|
|
176
|
-
* // Auto-select best provider
|
|
177
|
-
* const service = await createEmbeddingServiceAsync({ provider: 'auto' });
|
|
178
|
-
*
|
|
179
|
-
* // Try agentic-flow, fallback to transformers
|
|
180
|
-
* const service = await createEmbeddingServiceAsync({
|
|
181
|
-
* provider: 'agentic-flow',
|
|
182
|
-
* fallback: 'transformers'
|
|
183
|
-
* });
|
|
184
|
-
*/
|
|
185
|
-
export declare function createEmbeddingServiceAsync(config: AutoEmbeddingConfig): Promise<IEmbeddingService>;
|
|
186
|
-
/**
|
|
187
|
-
* Convenience function for quick embeddings
|
|
188
|
-
*/
|
|
189
|
-
export declare function getEmbedding(text: string, config?: Partial<EmbeddingConfig>): Promise<Float32Array | number[]>;
|
|
190
|
-
/**
|
|
191
|
-
* Compute cosine similarity between two embeddings
|
|
192
|
-
*/
|
|
193
|
-
export declare function cosineSimilarity(a: Float32Array | number[], b: Float32Array | number[]): number;
|
|
194
|
-
/**
|
|
195
|
-
* Compute Euclidean distance between two embeddings
|
|
196
|
-
*/
|
|
197
|
-
export declare function euclideanDistance(a: Float32Array | number[], b: Float32Array | number[]): number;
|
|
198
|
-
/**
|
|
199
|
-
* Compute dot product between two embeddings
|
|
200
|
-
*/
|
|
201
|
-
export declare function dotProduct(a: Float32Array | number[], b: Float32Array | number[]): number;
|
|
202
|
-
/**
|
|
203
|
-
* Compute similarity using specified metric
|
|
204
|
-
*/
|
|
205
|
-
export declare function computeSimilarity(a: Float32Array | number[], b: Float32Array | number[], metric?: SimilarityMetric): SimilarityResult;
|
|
206
|
-
export {};
|
|
207
|
-
//# sourceMappingURL=embedding-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-service.d.ts","sourceRoot":"","sources":["../src/embedding-service.ts"],"names":[],"mappings":"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"}
|