@pleaseai/context-please-core 0.3.0 → 0.5.0
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/README.md +39 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/context.d.ts +25 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +74 -0
- package/dist/context.js.map +1 -1
- package/dist/embedding/base-embedding.d.ts.map +1 -1
- package/dist/embedding/base-embedding.js +4 -0
- package/dist/embedding/base-embedding.js.map +1 -1
- package/dist/embedding/gemini-embedding.d.ts +41 -0
- package/dist/embedding/gemini-embedding.d.ts.map +1 -1
- package/dist/embedding/gemini-embedding.js +154 -25
- package/dist/embedding/gemini-embedding.js.map +1 -1
- package/dist/embedding/huggingface-embedding.d.ts +70 -0
- package/dist/embedding/huggingface-embedding.d.ts.map +1 -0
- package/dist/embedding/huggingface-embedding.js +270 -0
- package/dist/embedding/huggingface-embedding.js.map +1 -0
- package/dist/embedding/index.d.ts +1 -0
- package/dist/embedding/index.d.ts.map +1 -1
- package/dist/embedding/index.js +1 -0
- package/dist/embedding/index.js.map +1 -1
- package/dist/splitter/ast-splitter.d.ts.map +1 -1
- package/dist/splitter/ast-splitter.js.map +1 -1
- package/dist/vectordb/factory.d.ts +20 -1
- package/dist/vectordb/factory.d.ts.map +1 -1
- package/dist/vectordb/factory.js +67 -1
- package/dist/vectordb/factory.js.map +1 -1
- package/dist/vectordb/faiss-vectordb.d.ts +162 -0
- package/dist/vectordb/faiss-vectordb.d.ts.map +1 -0
- package/dist/vectordb/faiss-vectordb.js +762 -0
- package/dist/vectordb/faiss-vectordb.js.map +1 -0
- package/dist/vectordb/index.d.ts +1 -0
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +20 -1
- package/dist/vectordb/index.js.map +1 -1
- package/dist/vectordb/sparse/simple-bm25.d.ts +1 -0
- package/dist/vectordb/sparse/simple-bm25.d.ts.map +1 -1
- package/dist/vectordb/sparse/simple-bm25.js +1 -3
- package/dist/vectordb/sparse/simple-bm25.js.map +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-embedding.js","sourceRoot":"","sources":["../../src/embedding/gemini-embedding.ts"],"names":[],"mappings":";;;AAEA,yCAA2C;AAC3C,qDAA4C;
|
|
1
|
+
{"version":3,"file":"gemini-embedding.js","sourceRoot":"","sources":["../../src/embedding/gemini-embedding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { EmbeddingVector } from './base-embedding';
|
|
2
|
+
import { Embedding } from './base-embedding';
|
|
3
|
+
export type HuggingFaceDtype = 'fp32' | 'fp16' | 'q8' | 'q4' | 'q4f16';
|
|
4
|
+
export interface HuggingFaceEmbeddingConfig {
|
|
5
|
+
model?: string;
|
|
6
|
+
dtype?: HuggingFaceDtype;
|
|
7
|
+
queryPrefix?: string;
|
|
8
|
+
cacheDir?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class HuggingFaceEmbedding extends Embedding {
|
|
11
|
+
protected maxTokens: number;
|
|
12
|
+
private model;
|
|
13
|
+
private tokenizer;
|
|
14
|
+
private dimension;
|
|
15
|
+
private config;
|
|
16
|
+
private modelLoading;
|
|
17
|
+
private transformersModule;
|
|
18
|
+
constructor(config?: HuggingFaceEmbeddingConfig);
|
|
19
|
+
/**
|
|
20
|
+
* Get list of supported LEAF models
|
|
21
|
+
*/
|
|
22
|
+
static getSupportedModels(): Record<string, {
|
|
23
|
+
dimension: number;
|
|
24
|
+
maxTokens: number;
|
|
25
|
+
description: string;
|
|
26
|
+
queryPrefix?: string;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Lazy load transformers module
|
|
30
|
+
*/
|
|
31
|
+
private getTransformersModule;
|
|
32
|
+
/**
|
|
33
|
+
* Lazy load model and tokenizer on first use
|
|
34
|
+
*/
|
|
35
|
+
private ensureModel;
|
|
36
|
+
/**
|
|
37
|
+
* Actually load the model and tokenizer
|
|
38
|
+
*/
|
|
39
|
+
private loadModel;
|
|
40
|
+
/**
|
|
41
|
+
* Apply query prefix if configured (for IR models)
|
|
42
|
+
*/
|
|
43
|
+
private applyQueryPrefix;
|
|
44
|
+
detectDimension(): Promise<number>;
|
|
45
|
+
embed(text: string): Promise<EmbeddingVector>;
|
|
46
|
+
embedBatch(texts: string[]): Promise<EmbeddingVector[]>;
|
|
47
|
+
getDimension(): number;
|
|
48
|
+
getProvider(): string;
|
|
49
|
+
/**
|
|
50
|
+
* Get the current model ID
|
|
51
|
+
*/
|
|
52
|
+
getModel(): string;
|
|
53
|
+
/**
|
|
54
|
+
* Get the current dtype setting
|
|
55
|
+
*/
|
|
56
|
+
getDtype(): HuggingFaceDtype;
|
|
57
|
+
/**
|
|
58
|
+
* Get the query prefix (if any)
|
|
59
|
+
*/
|
|
60
|
+
getQueryPrefix(): string | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Check if model is loaded
|
|
63
|
+
*/
|
|
64
|
+
isModelLoaded(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Preload the model (optional, for eager loading)
|
|
67
|
+
*/
|
|
68
|
+
preload(): Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=huggingface-embedding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"huggingface-embedding.d.ts","sourceRoot":"","sources":["../../src/embedding/huggingface-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAOD,qBAAa,oBAAqB,SAAQ,SAAS;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,CAAM;IACjC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,kBAAkB,CAAkC;gBAEhD,MAAM,GAAE,0BAA+B;IAsBnD;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE;QAC1C,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC;IAiBF;;OAEG;YACW,qBAAqB;IAYnC;;OAEG;YACW,WAAW;IAiBzB;;OAEG;YACW,SAAS;IA6BvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOlB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAKlC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA0C7C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAsD7D,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,QAAQ,IAAI,gBAAgB;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.HuggingFaceEmbedding = void 0;
|
|
37
|
+
const base_embedding_1 = require("./base-embedding");
|
|
38
|
+
class HuggingFaceEmbedding extends base_embedding_1.Embedding {
|
|
39
|
+
constructor(config = {}) {
|
|
40
|
+
super();
|
|
41
|
+
this.maxTokens = 512;
|
|
42
|
+
this.model = null;
|
|
43
|
+
this.tokenizer = null;
|
|
44
|
+
this.dimension = 768;
|
|
45
|
+
this.modelLoading = null;
|
|
46
|
+
this.transformersModule = null;
|
|
47
|
+
this.config = {
|
|
48
|
+
model: config.model ?? 'MongoDB/mdbr-leaf-ir',
|
|
49
|
+
dtype: config.dtype ?? 'fp32',
|
|
50
|
+
queryPrefix: config.queryPrefix,
|
|
51
|
+
cacheDir: config.cacheDir,
|
|
52
|
+
};
|
|
53
|
+
// Set dimension and query prefix based on model
|
|
54
|
+
const modelId = this.config.model ?? 'MongoDB/mdbr-leaf-ir';
|
|
55
|
+
const modelInfo = HuggingFaceEmbedding.getSupportedModels()[modelId];
|
|
56
|
+
if (modelInfo) {
|
|
57
|
+
this.dimension = modelInfo.dimension;
|
|
58
|
+
this.maxTokens = modelInfo.maxTokens;
|
|
59
|
+
// Use model-specific query prefix if not overridden
|
|
60
|
+
if (this.config.queryPrefix === undefined) {
|
|
61
|
+
this.config.queryPrefix = modelInfo.queryPrefix;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get list of supported LEAF models
|
|
67
|
+
*/
|
|
68
|
+
static getSupportedModels() {
|
|
69
|
+
return {
|
|
70
|
+
'MongoDB/mdbr-leaf-ir': {
|
|
71
|
+
dimension: 768,
|
|
72
|
+
maxTokens: 512,
|
|
73
|
+
description: 'LEAF model optimized for information retrieval and semantic search (DEFAULT)',
|
|
74
|
+
queryPrefix: 'Represent this sentence for searching relevant passages: ',
|
|
75
|
+
},
|
|
76
|
+
'MongoDB/mdbr-leaf-mt': {
|
|
77
|
+
dimension: 768,
|
|
78
|
+
maxTokens: 512,
|
|
79
|
+
description: 'LEAF multi-task model for classification, clustering, and sentence similarity',
|
|
80
|
+
queryPrefix: undefined, // MT model doesn't use query prefix
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Lazy load transformers module
|
|
86
|
+
*/
|
|
87
|
+
async getTransformersModule() {
|
|
88
|
+
if (!this.transformersModule) {
|
|
89
|
+
this.transformersModule = await Promise.resolve().then(() => __importStar(require('@huggingface/transformers')));
|
|
90
|
+
// Configure cache directory if specified
|
|
91
|
+
if (this.config.cacheDir) {
|
|
92
|
+
this.transformersModule.env.cacheDir = this.config.cacheDir;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return this.transformersModule;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Lazy load model and tokenizer on first use
|
|
99
|
+
*/
|
|
100
|
+
async ensureModel() {
|
|
101
|
+
// If already loaded, return immediately
|
|
102
|
+
if (this.model && this.tokenizer) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// If loading is in progress, wait for it
|
|
106
|
+
if (this.modelLoading) {
|
|
107
|
+
await this.modelLoading;
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Start loading
|
|
111
|
+
this.modelLoading = this.loadModel();
|
|
112
|
+
await this.modelLoading;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Actually load the model and tokenizer
|
|
116
|
+
*/
|
|
117
|
+
async loadModel() {
|
|
118
|
+
try {
|
|
119
|
+
const transformers = await this.getTransformersModule();
|
|
120
|
+
const modelId = this.config.model ?? 'MongoDB/mdbr-leaf-ir';
|
|
121
|
+
console.log(`[HuggingFace] Loading model: ${modelId} (dtype: ${this.config.dtype})`);
|
|
122
|
+
// Load tokenizer and model in parallel
|
|
123
|
+
const [tokenizer, model] = await Promise.all([
|
|
124
|
+
transformers.AutoTokenizer.from_pretrained(modelId),
|
|
125
|
+
transformers.AutoModel.from_pretrained(modelId, {
|
|
126
|
+
dtype: this.config.dtype,
|
|
127
|
+
}),
|
|
128
|
+
]);
|
|
129
|
+
this.tokenizer = tokenizer;
|
|
130
|
+
this.model = model;
|
|
131
|
+
console.log(`[HuggingFace] Model loaded successfully: ${modelId}`);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
this.modelLoading = null; // Reset so it can be retried
|
|
135
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
136
|
+
const err = new Error(`Failed to load HuggingFace model ${this.config.model}: ${errorMessage}`);
|
|
137
|
+
err.cause = error;
|
|
138
|
+
throw err;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Apply query prefix if configured (for IR models)
|
|
143
|
+
*/
|
|
144
|
+
applyQueryPrefix(text) {
|
|
145
|
+
if (this.config.queryPrefix) {
|
|
146
|
+
return this.config.queryPrefix + text;
|
|
147
|
+
}
|
|
148
|
+
return text;
|
|
149
|
+
}
|
|
150
|
+
async detectDimension() {
|
|
151
|
+
// LEAF models have fixed dimensions, no dynamic detection needed
|
|
152
|
+
return this.dimension;
|
|
153
|
+
}
|
|
154
|
+
async embed(text) {
|
|
155
|
+
await this.ensureModel();
|
|
156
|
+
if (!this.model || !this.tokenizer) {
|
|
157
|
+
throw new Error('Model or tokenizer failed to initialize');
|
|
158
|
+
}
|
|
159
|
+
const processedText = this.preprocessText(text);
|
|
160
|
+
const prefixedText = this.applyQueryPrefix(processedText);
|
|
161
|
+
try {
|
|
162
|
+
// Tokenize with truncation to handle texts longer than maxTokens
|
|
163
|
+
const inputs = await this.tokenizer([prefixedText], {
|
|
164
|
+
padding: true,
|
|
165
|
+
truncation: true,
|
|
166
|
+
max_length: this.maxTokens,
|
|
167
|
+
});
|
|
168
|
+
// Get embeddings
|
|
169
|
+
const outputs = await this.model(inputs);
|
|
170
|
+
// Extract sentence embedding
|
|
171
|
+
if (!outputs.sentence_embedding) {
|
|
172
|
+
throw new Error('Model did not return sentence_embedding');
|
|
173
|
+
}
|
|
174
|
+
// Convert tensor to array
|
|
175
|
+
const embedding = outputs.sentence_embedding.tolist()[0];
|
|
176
|
+
return {
|
|
177
|
+
vector: embedding,
|
|
178
|
+
dimension: embedding.length,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
183
|
+
const err = new Error(`HuggingFace embedding failed: ${errorMessage}`);
|
|
184
|
+
err.cause = error;
|
|
185
|
+
throw err;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async embedBatch(texts) {
|
|
189
|
+
if (texts.length === 0) {
|
|
190
|
+
return [];
|
|
191
|
+
}
|
|
192
|
+
await this.ensureModel();
|
|
193
|
+
if (!this.model || !this.tokenizer) {
|
|
194
|
+
throw new Error('Model or tokenizer failed to initialize');
|
|
195
|
+
}
|
|
196
|
+
const processedTexts = this.preprocessTexts(texts);
|
|
197
|
+
const prefixedTexts = processedTexts.map(text => this.applyQueryPrefix(text));
|
|
198
|
+
try {
|
|
199
|
+
// Tokenize batch with truncation to handle texts longer than maxTokens
|
|
200
|
+
const inputs = await this.tokenizer(prefixedTexts, {
|
|
201
|
+
padding: true,
|
|
202
|
+
truncation: true,
|
|
203
|
+
max_length: this.maxTokens,
|
|
204
|
+
});
|
|
205
|
+
// Get embeddings
|
|
206
|
+
const outputs = await this.model(inputs);
|
|
207
|
+
// Extract sentence embeddings
|
|
208
|
+
if (!outputs.sentence_embedding) {
|
|
209
|
+
throw new Error('Model did not return sentence_embedding');
|
|
210
|
+
}
|
|
211
|
+
// Convert tensor to array
|
|
212
|
+
const embeddings = outputs.sentence_embedding.tolist();
|
|
213
|
+
return embeddings.map(embedding => ({
|
|
214
|
+
vector: embedding,
|
|
215
|
+
dimension: embedding.length,
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
// Fallback: process individually in parallel if batch fails
|
|
220
|
+
const batchErrorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
221
|
+
console.warn(`[HuggingFace] Batch embedding failed: ${batchErrorMessage}, falling back to parallel individual processing`);
|
|
222
|
+
try {
|
|
223
|
+
return await Promise.all(texts.map(text => this.embed(text)));
|
|
224
|
+
}
|
|
225
|
+
catch (individualError) {
|
|
226
|
+
const err = new Error(`HuggingFace batch embedding failed (both batch and individual attempts failed): ${batchErrorMessage}`);
|
|
227
|
+
err.cause = individualError;
|
|
228
|
+
throw err;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
getDimension() {
|
|
233
|
+
return this.dimension;
|
|
234
|
+
}
|
|
235
|
+
getProvider() {
|
|
236
|
+
return 'HuggingFace';
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get the current model ID
|
|
240
|
+
*/
|
|
241
|
+
getModel() {
|
|
242
|
+
return this.config.model ?? 'MongoDB/mdbr-leaf-ir';
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get the current dtype setting
|
|
246
|
+
*/
|
|
247
|
+
getDtype() {
|
|
248
|
+
return this.config.dtype ?? 'fp32';
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Get the query prefix (if any)
|
|
252
|
+
*/
|
|
253
|
+
getQueryPrefix() {
|
|
254
|
+
return this.config.queryPrefix;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Check if model is loaded
|
|
258
|
+
*/
|
|
259
|
+
isModelLoaded() {
|
|
260
|
+
return this.model !== null && this.tokenizer !== null;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Preload the model (optional, for eager loading)
|
|
264
|
+
*/
|
|
265
|
+
async preload() {
|
|
266
|
+
await this.ensureModel();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
exports.HuggingFaceEmbedding = HuggingFaceEmbedding;
|
|
270
|
+
//# sourceMappingURL=huggingface-embedding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"huggingface-embedding.js","sourceRoot":"","sources":["../../src/embedding/huggingface-embedding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAEhC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAElC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAA;AAEhC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAElC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
|
package/dist/embedding/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
// Export base classes and interfaces
|
|
18
18
|
__exportStar(require("./base-embedding"), exports);
|
|
19
19
|
__exportStar(require("./gemini-embedding"), exports);
|
|
20
|
+
__exportStar(require("./huggingface-embedding"), exports);
|
|
20
21
|
__exportStar(require("./ollama-embedding"), exports);
|
|
21
22
|
// Implementation class exports
|
|
22
23
|
__exportStar(require("./openai-embedding"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qCAAqC;AACrC,mDAAgC;AAEhC,qDAAkC;AAClC,qDAAkC;AAClC,+BAA+B;AAC/B,qDAAkC;AAClC,uDAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qCAAqC;AACrC,mDAAgC;AAEhC,qDAAkC;AAClC,0DAAuC;AACvC,qDAAkC;AAClC,+BAA+B;AAC/B,qDAAkC;AAClC,uDAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-splitter.d.ts","sourceRoot":"","sources":["../../src/splitter/ast-splitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ast-splitter.d.ts","sourceRoot":"","sources":["../../src/splitter/ast-splitter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAyB7C,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,iBAAiB,CAAK;gBAElB,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAW/C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiCpF,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAK3C,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,aAAa;YAuDP,YAAY;IAiB1B,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAqBtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-splitter.js","sourceRoot":"","sources":["../../src/splitter/ast-splitter.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;AAChC,mBAAmB;AACnB,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ast-splitter.js","sourceRoot":"","sources":["../../src/splitter/ast-splitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FaissConfig } from './faiss-vectordb';
|
|
1
2
|
import type { MilvusRestfulConfig } from './milvus-restful-vectordb';
|
|
2
3
|
import type { MilvusConfig } from './milvus-vectordb';
|
|
3
4
|
import type { QdrantConfig } from './qdrant-vectordb';
|
|
@@ -21,7 +22,13 @@ export declare enum VectorDatabaseType {
|
|
|
21
22
|
* Use for Node.js environments with native hybrid search support
|
|
22
23
|
* Supports both self-hosted and Qdrant Cloud
|
|
23
24
|
*/
|
|
24
|
-
QDRANT_GRPC = "qdrant-grpc"
|
|
25
|
+
QDRANT_GRPC = "qdrant-grpc",
|
|
26
|
+
/**
|
|
27
|
+
* FAISS local file-based vector database
|
|
28
|
+
* Use for local-only deployments with zero configuration
|
|
29
|
+
* Ideal for development and small-to-medium codebases
|
|
30
|
+
*/
|
|
31
|
+
FAISS_LOCAL = "faiss-local"
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
27
34
|
* Configuration type for each database type
|
|
@@ -30,6 +37,7 @@ export interface VectorDatabaseConfig {
|
|
|
30
37
|
[VectorDatabaseType.MILVUS_GRPC]: MilvusConfig;
|
|
31
38
|
[VectorDatabaseType.MILVUS_RESTFUL]: MilvusRestfulConfig;
|
|
32
39
|
[VectorDatabaseType.QDRANT_GRPC]: QdrantConfig;
|
|
40
|
+
[VectorDatabaseType.FAISS_LOCAL]: FaissConfig;
|
|
33
41
|
}
|
|
34
42
|
/**
|
|
35
43
|
* Factory class for creating vector database instances
|
|
@@ -69,12 +77,23 @@ export declare class VectorDatabaseFactory {
|
|
|
69
77
|
* VectorDatabaseType.QDRANT_GRPC,
|
|
70
78
|
* { address: 'localhost:6334', apiKey: 'xxx' }
|
|
71
79
|
* );
|
|
80
|
+
*
|
|
81
|
+
* // Create FAISS local database
|
|
82
|
+
* const faissDb = VectorDatabaseFactory.create(
|
|
83
|
+
* VectorDatabaseType.FAISS_LOCAL,
|
|
84
|
+
* { storageDir: '~/.context/faiss-indexes' }
|
|
85
|
+
* );
|
|
72
86
|
* ```
|
|
73
87
|
*/
|
|
74
88
|
static create<T extends VectorDatabaseType>(type: T, config: VectorDatabaseConfig[T]): VectorDatabase;
|
|
75
89
|
/**
|
|
76
90
|
* Get all supported database types
|
|
91
|
+
* Note: FAISS may not be available if native bindings are missing
|
|
77
92
|
*/
|
|
78
93
|
static getSupportedTypes(): VectorDatabaseType[];
|
|
94
|
+
/**
|
|
95
|
+
* Check if FAISS is available in the current environment
|
|
96
|
+
*/
|
|
97
|
+
static isFaissAvailable(): boolean;
|
|
79
98
|
}
|
|
80
99
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAgD7C;;GAEG;AACH,oBAAY,kBAAkB;IAC5B;;;OAGG;IACH,WAAW,gBAAgB;IAE3B;;;OAGG;IACH,cAAc,mBAAmB;IAEjC;;;;OAIG;IACH,WAAW,gBAAgB;IAE3B;;;;OAIG;IACH,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IAC9C,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACxD,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IAC9C,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAC9C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,kBAAkB,EACxC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,cAAc;IA0BjB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,IAAI,kBAAkB,EAAE;IAQhD;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,OAAO;CAGnC"}
|
package/dist/vectordb/factory.js
CHANGED
|
@@ -4,6 +4,42 @@ exports.VectorDatabaseFactory = exports.VectorDatabaseType = void 0;
|
|
|
4
4
|
const milvus_restful_vectordb_1 = require("./milvus-restful-vectordb");
|
|
5
5
|
const milvus_vectordb_1 = require("./milvus-vectordb");
|
|
6
6
|
const qdrant_vectordb_1 = require("./qdrant-vectordb");
|
|
7
|
+
// FAISS is optional - may not be available in all environments (e.g., CI without native bindings)
|
|
8
|
+
// Use lazy loading to avoid import errors
|
|
9
|
+
let FaissVectorDatabase;
|
|
10
|
+
let faissAvailable = null; // null = not checked yet
|
|
11
|
+
let faissCheckError = null;
|
|
12
|
+
function checkFaissAvailability() {
|
|
13
|
+
if (faissAvailable !== null) {
|
|
14
|
+
return faissAvailable;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
FaissVectorDatabase = require('./faiss-vectordb').FaissVectorDatabase;
|
|
18
|
+
faissAvailable = true;
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
const errorMsg = error.message || String(error);
|
|
23
|
+
const errorCode = error.code;
|
|
24
|
+
// Treat as "FAISS unavailable" for:
|
|
25
|
+
// 1. Native binding errors (faiss-node not compiled)
|
|
26
|
+
// 2. Module not found errors (module path resolution in test environments)
|
|
27
|
+
const isExpectedUnavailableError = errorMsg.includes('Could not locate the bindings file')
|
|
28
|
+
|| errorMsg.includes('faiss-node')
|
|
29
|
+
|| errorCode === 'MODULE_NOT_FOUND';
|
|
30
|
+
if (isExpectedUnavailableError) {
|
|
31
|
+
faissAvailable = false;
|
|
32
|
+
faissCheckError = errorMsg.includes('faiss-node')
|
|
33
|
+
? 'FAISS native bindings not available'
|
|
34
|
+
: 'FAISS module not found';
|
|
35
|
+
console.warn(`[VectorDatabaseFactory] ${faissCheckError}. FAISS support disabled.`);
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
// For syntax errors, type errors, or other real bugs - re-throw
|
|
39
|
+
console.error('[VectorDatabaseFactory] Unexpected error loading FAISS module:', errorMsg);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
7
43
|
/**
|
|
8
44
|
* Supported vector database types
|
|
9
45
|
*/
|
|
@@ -25,6 +61,12 @@ var VectorDatabaseType;
|
|
|
25
61
|
* Supports both self-hosted and Qdrant Cloud
|
|
26
62
|
*/
|
|
27
63
|
VectorDatabaseType["QDRANT_GRPC"] = "qdrant-grpc";
|
|
64
|
+
/**
|
|
65
|
+
* FAISS local file-based vector database
|
|
66
|
+
* Use for local-only deployments with zero configuration
|
|
67
|
+
* Ideal for development and small-to-medium codebases
|
|
68
|
+
*/
|
|
69
|
+
VectorDatabaseType["FAISS_LOCAL"] = "faiss-local";
|
|
28
70
|
})(VectorDatabaseType || (exports.VectorDatabaseType = VectorDatabaseType = {}));
|
|
29
71
|
/**
|
|
30
72
|
* Factory class for creating vector database instances
|
|
@@ -64,6 +106,12 @@ class VectorDatabaseFactory {
|
|
|
64
106
|
* VectorDatabaseType.QDRANT_GRPC,
|
|
65
107
|
* { address: 'localhost:6334', apiKey: 'xxx' }
|
|
66
108
|
* );
|
|
109
|
+
*
|
|
110
|
+
* // Create FAISS local database
|
|
111
|
+
* const faissDb = VectorDatabaseFactory.create(
|
|
112
|
+
* VectorDatabaseType.FAISS_LOCAL,
|
|
113
|
+
* { storageDir: '~/.context/faiss-indexes' }
|
|
114
|
+
* );
|
|
67
115
|
* ```
|
|
68
116
|
*/
|
|
69
117
|
static create(type, config) {
|
|
@@ -74,15 +122,33 @@ class VectorDatabaseFactory {
|
|
|
74
122
|
return new milvus_restful_vectordb_1.MilvusRestfulVectorDatabase(config);
|
|
75
123
|
case VectorDatabaseType.QDRANT_GRPC:
|
|
76
124
|
return new qdrant_vectordb_1.QdrantVectorDatabase(config);
|
|
125
|
+
case VectorDatabaseType.FAISS_LOCAL:
|
|
126
|
+
if (!checkFaissAvailability()) {
|
|
127
|
+
throw new Error(`FAISS vector database is not available. ${faissCheckError || 'Native bindings could not be loaded'}. `
|
|
128
|
+
+ 'This usually happens in environments without C++ build tools. '
|
|
129
|
+
+ 'Please use another vector database type (MILVUS_GRPC, MILVUS_RESTFUL, or QDRANT_GRPC).');
|
|
130
|
+
}
|
|
131
|
+
return new FaissVectorDatabase(config);
|
|
77
132
|
default:
|
|
78
133
|
throw new Error(`Unsupported database type: ${type}`);
|
|
79
134
|
}
|
|
80
135
|
}
|
|
81
136
|
/**
|
|
82
137
|
* Get all supported database types
|
|
138
|
+
* Note: FAISS may not be available if native bindings are missing
|
|
83
139
|
*/
|
|
84
140
|
static getSupportedTypes() {
|
|
85
|
-
|
|
141
|
+
const types = Object.values(VectorDatabaseType);
|
|
142
|
+
if (!checkFaissAvailability()) {
|
|
143
|
+
return types.filter(t => t !== VectorDatabaseType.FAISS_LOCAL);
|
|
144
|
+
}
|
|
145
|
+
return types;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Check if FAISS is available in the current environment
|
|
149
|
+
*/
|
|
150
|
+
static isFaissAvailable() {
|
|
151
|
+
return checkFaissAvailability();
|
|
86
152
|
}
|
|
87
153
|
}
|
|
88
154
|
exports.VectorDatabaseFactory = VectorDatabaseFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":";;;AAKA,uEAAuE;AACvE,uDAAwD;AACxD,uDAAwD;AAExD,kGAAkG;AAClG,0CAA0C;AAC1C,IAAI,mBAAwB,CAAA;AAC5B,IAAI,cAAc,GAAmB,IAAI,CAAA,CAAC,yBAAyB;AACnE,IAAI,eAAe,GAAkB,IAAI,CAAA;AAEzC,SAAS,sBAAsB;IAC7B,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,IAAI,CAAC;QACH,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAA;QACrE,cAAc,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;QAE5B,oCAAoC;QACpC,qDAAqD;QACrD,2EAA2E;QAC3E,MAAM,0BAA0B,GAC5B,QAAQ,CAAC,QAAQ,CAAC,oCAAoC,CAAC;eACtD,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;eAC/B,SAAS,KAAK,kBAAkB,CAAA;QAErC,IAAI,0BAA0B,EAAE,CAAC;YAC/B,cAAc,GAAG,KAAK,CAAA;YACtB,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC/C,CAAC,CAAC,qCAAqC;gBACvC,CAAC,CAAC,wBAAwB,CAAA;YAC5B,OAAO,CAAC,IAAI,CAAC,2BAA2B,eAAe,2BAA2B,CAAC,CAAA;YACnF,OAAO,KAAK,CAAA;QACd,CAAC;QAED,gEAAgE;QAChE,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,QAAQ,CAAC,CAAA;QACzF,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,IAAY,kBA0BX;AA1BD,WAAY,kBAAkB;IAC5B;;;OAGG;IACH,iDAA2B,CAAA;IAE3B;;;OAGG;IACH,uDAAiC,CAAA;IAEjC;;;;OAIG;IACH,iDAA2B,CAAA;IAE3B;;;;OAIG;IACH,iDAA2B,CAAA;AAC7B,CAAC,EA1BW,kBAAkB,kCAAlB,kBAAkB,QA0B7B;AAYD;;;;;;;;;;GAUG;AACH,MAAa,qBAAqB;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,MAAM,CAAC,MAAM,CACX,IAAO,EACP,MAA+B;QAE/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,kBAAkB,CAAC,WAAW;gBACjC,OAAO,IAAI,sCAAoB,CAAC,MAAsB,CAAC,CAAA;YAEzD,KAAK,kBAAkB,CAAC,cAAc;gBACpC,OAAO,IAAI,qDAA2B,CAAC,MAA6B,CAAC,CAAA;YAEvE,KAAK,kBAAkB,CAAC,WAAW;gBACjC,OAAO,IAAI,sCAAoB,CAAC,MAAsB,CAAC,CAAA;YAEzD,KAAK,kBAAkB,CAAC,WAAW;gBACjC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,2CAA2C,eAAe,IAAI,qCAAqC,IAAI;0BACrG,gEAAgE;0BAChE,wFAAwF,CAC3F,CAAA;gBACH,CAAC;gBACD,OAAO,IAAI,mBAAmB,CAAC,MAAqB,CAAC,CAAA;YAEvD;gBACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC/C,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB;QACrB,OAAO,sBAAsB,EAAE,CAAA;IACjC,CAAC;CACF;AAlFD,sDAkFC"}
|