@ssmeo/mcp-local-rag 0.18.13 → 0.19.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.de.md +248 -215
- package/README.es.md +241 -215
- package/README.fr.md +249 -215
- package/README.md +207 -297
- package/README.pt-BR.md +236 -215
- package/README.zh-CN.md +133 -206
- package/dist/chunker/semantic-chunker.d.ts +23 -5
- package/dist/chunker/semantic-chunker.d.ts.map +1 -1
- package/dist/chunker/semantic-chunker.js +13 -5
- package/dist/chunker/semantic-chunker.js.map +1 -1
- package/dist/cli/common.d.ts +7 -0
- package/dist/cli/common.d.ts.map +1 -1
- package/dist/cli/common.js +26 -2
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/delete.d.ts.map +1 -1
- package/dist/cli/delete.js +2 -0
- package/dist/cli/delete.js.map +1 -1
- package/dist/cli/download-model.d.ts +3 -0
- package/dist/cli/download-model.d.ts.map +1 -0
- package/dist/cli/download-model.js +21 -0
- package/dist/cli/download-model.js.map +1 -0
- package/dist/cli/file-collection.d.ts +2 -1
- package/dist/cli/file-collection.d.ts.map +1 -1
- package/dist/cli/file-collection.js +2 -2
- package/dist/cli/file-collection.js.map +1 -1
- package/dist/cli/ingest.d.ts +1 -0
- package/dist/cli/ingest.d.ts.map +1 -1
- package/dist/cli/ingest.js +45 -25
- package/dist/cli/ingest.js.map +1 -1
- package/dist/cli/list.d.ts.map +1 -1
- package/dist/cli/list.js +9 -13
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/options.d.ts +8 -0
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +21 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/query.d.ts.map +1 -1
- package/dist/cli/query.js +2 -1
- package/dist/cli/query.js.map +1 -1
- package/dist/cli/read-neighbors.d.ts.map +1 -1
- package/dist/cli/read-neighbors.js +1 -0
- package/dist/cli/read-neighbors.js.map +1 -1
- package/dist/cli/relocate.d.ts +3 -0
- package/dist/cli/relocate.d.ts.map +1 -0
- package/dist/cli/relocate.js +135 -0
- package/dist/cli/relocate.js.map +1 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +17 -8
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli-main.d.ts +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli-main.js +5 -0
- package/dist/cli-main.js.map +1 -1
- package/dist/embedder/embedding-snapshot.d.ts +52 -0
- package/dist/embedder/embedding-snapshot.d.ts.map +1 -0
- package/dist/embedder/embedding-snapshot.js +413 -0
- package/dist/embedder/embedding-snapshot.js.map +1 -0
- package/dist/embedder/index.d.ts +36 -5
- package/dist/embedder/index.d.ts.map +1 -1
- package/dist/embedder/index.js +351 -24
- package/dist/embedder/index.js.map +1 -1
- package/dist/embedder/remote.d.ts +42 -4
- package/dist/embedder/remote.d.ts.map +1 -1
- package/dist/embedder/remote.js +113 -5
- package/dist/embedder/remote.js.map +1 -1
- package/dist/embedder/sentence-transformers-config.d.ts +24 -0
- package/dist/embedder/sentence-transformers-config.d.ts.map +1 -0
- package/dist/embedder/sentence-transformers-config.js +93 -0
- package/dist/embedder/sentence-transformers-config.js.map +1 -0
- package/dist/features/sync.js +1 -1
- package/dist/features/sync.js.map +1 -1
- package/dist/ingest/compute.d.ts +15 -7
- package/dist/ingest/compute.d.ts.map +1 -1
- package/dist/ingest/compute.js +74 -14
- package/dist/ingest/compute.js.map +1 -1
- package/dist/ingest/file.d.ts +3 -3
- package/dist/ingest/file.d.ts.map +1 -1
- package/dist/ingest/file.js +0 -5
- package/dist/ingest/file.js.map +1 -1
- package/dist/ingest/visual.d.ts +6 -2
- package/dist/ingest/visual.d.ts.map +1 -1
- package/dist/ingest/visual.js +20 -4
- package/dist/ingest/visual.js.map +1 -1
- package/dist/parser/docx-parser.d.ts +2 -0
- package/dist/parser/docx-parser.d.ts.map +1 -1
- package/dist/parser/docx-parser.js +12 -3
- package/dist/parser/docx-parser.js.map +1 -1
- package/dist/parser/index.d.ts +11 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +27 -11
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/pdf-extract.d.ts +2 -0
- package/dist/parser/pdf-extract.d.ts.map +1 -1
- package/dist/parser/pdf-extract.js +3 -0
- package/dist/parser/pdf-extract.js.map +1 -1
- package/dist/parser/pdf-filter.d.ts +2 -9
- package/dist/parser/pdf-filter.d.ts.map +1 -1
- package/dist/parser/pdf-filter.js +110 -144
- package/dist/parser/pdf-filter.js.map +1 -1
- package/dist/parser/pdf-headings.d.ts +6 -0
- package/dist/parser/pdf-headings.d.ts.map +1 -0
- package/dist/parser/pdf-headings.js +166 -0
- package/dist/parser/pdf-headings.js.map +1 -0
- package/dist/parser/text-source-map.d.ts +3 -0
- package/dist/parser/text-source-map.d.ts.map +1 -0
- package/dist/parser/text-source-map.js +33 -0
- package/dist/parser/text-source-map.js.map +1 -0
- package/dist/pdf-visual/captioner.d.ts.map +1 -1
- package/dist/pdf-visual/captioner.js +7 -4
- package/dist/pdf-visual/captioner.js.map +1 -1
- package/dist/pdf-visual/detector.js +3 -3
- package/dist/pdf-visual/detector.js.map +1 -1
- package/dist/rerank/command.d.ts +10 -7
- package/dist/rerank/command.d.ts.map +1 -1
- package/dist/rerank/command.js +51 -10
- package/dist/rerank/command.js.map +1 -1
- package/dist/rerank/index.d.ts +3 -3
- package/dist/rerank/index.d.ts.map +1 -1
- package/dist/rerank/index.js +3 -3
- package/dist/rerank/index.js.map +1 -1
- package/dist/server/index.d.ts +8 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +129 -81
- package/dist/server/index.js.map +1 -1
- package/dist/server/list-scanner.d.ts +2 -1
- package/dist/server/list-scanner.d.ts.map +1 -1
- package/dist/server/list-scanner.js +2 -2
- package/dist/server/list-scanner.js.map +1 -1
- package/dist/server/tool-definitions.js +2 -2
- package/dist/server/tool-definitions.js.map +1 -1
- package/dist/server/types.d.ts +9 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server-main.d.ts +2 -2
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +22 -20
- package/dist/server-main.js.map +1 -1
- package/dist/utils/base-dirs.d.ts +9 -10
- package/dist/utils/base-dirs.d.ts.map +1 -1
- package/dist/utils/base-dirs.js +28 -30
- package/dist/utils/base-dirs.js.map +1 -1
- package/dist/utils/scan.d.ts +25 -5
- package/dist/utils/scan.d.ts.map +1 -1
- package/dist/utils/scan.js +40 -10
- package/dist/utils/scan.js.map +1 -1
- package/dist/utils/source-context.d.ts +29 -0
- package/dist/utils/source-context.d.ts.map +1 -0
- package/dist/utils/source-context.js +86 -0
- package/dist/utils/source-context.js.map +1 -0
- package/dist/utils/sync-path-key.d.ts +1 -1
- package/dist/utils/sync-path-key.d.ts.map +1 -1
- package/dist/utils/sync-path-key.js +1 -1
- package/dist/utils/sync-path-key.js.map +1 -1
- package/dist/vectordb/index.d.ts +4 -2
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +33 -8
- package/dist/vectordb/index.js.map +1 -1
- package/dist/vectordb/relocate.d.ts +18 -0
- package/dist/vectordb/relocate.d.ts.map +1 -0
- package/dist/vectordb/relocate.js +179 -0
- package/dist/vectordb/relocate.js.map +1 -0
- package/dist/vectordb/types.d.ts +10 -23
- package/dist/vectordb/types.d.ts.map +1 -1
- package/dist/vectordb/types.js +14 -23
- package/dist/vectordb/types.js.map +1 -1
- package/package.json +14 -14
package/dist/embedder/index.js
CHANGED
|
@@ -1,11 +1,64 @@
|
|
|
1
1
|
// Embedder implementation with Transformers.js
|
|
2
|
-
import {
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { createReadStream } from 'node:fs';
|
|
4
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
5
|
+
import { createRequire } from 'node:module';
|
|
6
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
7
|
+
import { serialize } from 'node:v8';
|
|
8
|
+
import { AutoConfig, env, ModelRegistry, pipeline, } from '@huggingface/transformers';
|
|
3
9
|
import { AppError, toError } from '../utils/errors.js';
|
|
4
10
|
import { isObjectLike } from '../utils/type-guards.js';
|
|
11
|
+
import { loadSentenceTransformersConfig, resolveModelSettings, } from './sentence-transformers-config.js';
|
|
12
|
+
const EMBEDDING_IMPLEMENTATION_VERSION = 1;
|
|
13
|
+
const require = createRequire(import.meta.url);
|
|
14
|
+
const transformersRequire = createRequire(require.resolve('@huggingface/transformers'));
|
|
15
|
+
let runtimeVersionsPromise = null;
|
|
5
16
|
/** True when the loaded pipeline exposes the call and tokenizer surface used here. */
|
|
6
17
|
function isEmbeddingPipeline(value) {
|
|
7
18
|
return (typeof value === 'function' && 'tokenizer' in value && typeof value.tokenizer === 'function');
|
|
8
19
|
}
|
|
20
|
+
function isPretrainedConfig(value) {
|
|
21
|
+
return (typeof value === 'object' &&
|
|
22
|
+
value !== null &&
|
|
23
|
+
'model_type' in value &&
|
|
24
|
+
(typeof value.model_type === 'string' || value.model_type === null) &&
|
|
25
|
+
'is_encoder_decoder' in value &&
|
|
26
|
+
typeof value.is_encoder_decoder === 'boolean' &&
|
|
27
|
+
'transformers.js_config' in value &&
|
|
28
|
+
(value['transformers.js_config'] === undefined ||
|
|
29
|
+
(typeof value['transformers.js_config'] === 'object' &&
|
|
30
|
+
value['transformers.js_config'] !== null)) &&
|
|
31
|
+
'normalized_config' in value);
|
|
32
|
+
}
|
|
33
|
+
function embeddingDimension(loadedModel) {
|
|
34
|
+
const dimension = loadedModel.model?.config?.hidden_size ?? declaredHiddenStateWidth(loadedModel);
|
|
35
|
+
return typeof dimension === 'number' && Number.isInteger(dimension) && dimension > 0
|
|
36
|
+
? dimension
|
|
37
|
+
: null;
|
|
38
|
+
}
|
|
39
|
+
// A nested `text_config.hidden_size` can differ from the output width.
|
|
40
|
+
function declaredHiddenStateWidth(loadedModel) {
|
|
41
|
+
const sessions = loadedModel.model?.sessions;
|
|
42
|
+
const session = isObjectLike(sessions) ? sessions['model'] : undefined;
|
|
43
|
+
const outputs = isObjectLike(session) ? session['outputMetadata'] : undefined;
|
|
44
|
+
if (!Array.isArray(outputs)) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
const hiddenState = outputs.find((output) => isObjectLike(output) && output['name'] === 'last_hidden_state');
|
|
48
|
+
const shape = isObjectLike(hiddenState) ? hiddenState['shape'] : undefined;
|
|
49
|
+
return Array.isArray(shape) ? shape.at(-1) : undefined;
|
|
50
|
+
}
|
|
51
|
+
async function statOrNull(filePath) {
|
|
52
|
+
try {
|
|
53
|
+
return await stat(filePath, { bigint: true });
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function statSignature(info) {
|
|
60
|
+
return [info.dev, info.ino, info.size, info.mtimeNs, info.ctimeNs].join(':');
|
|
61
|
+
}
|
|
9
62
|
// ============================================
|
|
10
63
|
// Token Limit Clamp
|
|
11
64
|
// ============================================
|
|
@@ -25,7 +78,11 @@ function usableTokenLimit(value) {
|
|
|
25
78
|
return value >= 1 && value <= MAX_PLAUSIBLE_TOKENS ? Math.floor(value) : null;
|
|
26
79
|
}
|
|
27
80
|
function readPositionWindow(candidate) {
|
|
28
|
-
|
|
81
|
+
const config = candidate.model?.config;
|
|
82
|
+
// Multimodal models nest the text window under `text_config`.
|
|
83
|
+
const textConfig = config?.text_config;
|
|
84
|
+
const nestedWindow = isObjectLike(textConfig) ? textConfig['max_position_embeddings'] : undefined;
|
|
85
|
+
return usableTokenLimit(config?.max_position_embeddings ?? nestedWindow);
|
|
29
86
|
}
|
|
30
87
|
function resolveEffectiveCap(positionWindow, tokenizerLimit) {
|
|
31
88
|
if (positionWindow === null) {
|
|
@@ -149,10 +206,23 @@ export class Embedder {
|
|
|
149
206
|
*/
|
|
150
207
|
truncationWarned = false;
|
|
151
208
|
degradedModeWarned = false;
|
|
209
|
+
prompts = { query: '', document: '', default: '' };
|
|
210
|
+
warnings = [];
|
|
152
211
|
config;
|
|
212
|
+
computationIdentityPromise = null;
|
|
153
213
|
constructor(config) {
|
|
154
214
|
this.config = config;
|
|
155
215
|
}
|
|
216
|
+
get headingPrefix() {
|
|
217
|
+
return this.config.headingPrefix ?? false;
|
|
218
|
+
}
|
|
219
|
+
get titlePrefix() {
|
|
220
|
+
return this.config.titlePrefix ?? false;
|
|
221
|
+
}
|
|
222
|
+
/** Model settings this tool cannot honor; empty until the model loads. */
|
|
223
|
+
get modelWarnings() {
|
|
224
|
+
return this.warnings;
|
|
225
|
+
}
|
|
156
226
|
/**
|
|
157
227
|
* Release resources held by the Embedder pipeline
|
|
158
228
|
*/
|
|
@@ -171,6 +241,7 @@ export class Embedder {
|
|
|
171
241
|
this.initPromise = null;
|
|
172
242
|
this.tokenLimit = null;
|
|
173
243
|
this.measurementTokenizer = null;
|
|
244
|
+
this.computationIdentityPromise = null;
|
|
174
245
|
}
|
|
175
246
|
/**
|
|
176
247
|
* Initialize Transformers.js model
|
|
@@ -180,27 +251,56 @@ export class Embedder {
|
|
|
180
251
|
if (this.model) {
|
|
181
252
|
return;
|
|
182
253
|
}
|
|
183
|
-
|
|
254
|
+
this.computationIdentityPromise = null;
|
|
255
|
+
// Set cache + local-model directories BEFORE creating pipeline. transformers
|
|
256
|
+
// >=4.3 resolves models through env.localModelPath (its default is a path
|
|
257
|
+
// inside node_modules), not env.cacheDir — without this, every fresh
|
|
258
|
+
// install re-downloads the model into the package directory.
|
|
184
259
|
env.cacheDir = this.config.cacheDir;
|
|
260
|
+
env.localModelPath = this.config.cacheDir;
|
|
185
261
|
if (process.env['HF_ENDPOINT']) {
|
|
186
262
|
env.remoteHost = process.env['HF_ENDPOINT'];
|
|
187
263
|
}
|
|
188
264
|
// No fallback — if the requested device fails, init throws.
|
|
189
|
-
|
|
265
|
+
// The sole fp32 default literal. Both values pass through un-allowlisted
|
|
266
|
+
// (see `resolveDevice`) into a closed literal union.
|
|
267
|
+
// biome-ignore lint/nursery/noUnsafeTypeAssertion: un-allowlisted passthrough to a closed literal union
|
|
268
|
+
const device = (this.config.device || 'cpu');
|
|
269
|
+
// biome-ignore lint/nursery/noUnsafeTypeAssertion: un-allowlisted passthrough to a closed literal union
|
|
270
|
+
const dtype = (this.config.dtype ?? 'fp32');
|
|
190
271
|
console.error(`Embedder: Setting cache directory to "${this.config.cacheDir}"`);
|
|
272
|
+
// Resolved before the pipeline: once `this.model` is set, `ensureInitialized`
|
|
273
|
+
// lets callers through, so no await may follow that assignment.
|
|
274
|
+
const sentenceTransformersConfig = await loadSentenceTransformersConfig(this.config.modelPath, this.config.cacheDir, { dtype, device });
|
|
275
|
+
const settings = resolveModelSettings(this.config.modelPath, sentenceTransformersConfig);
|
|
276
|
+
for (const warning of settings.warnings) {
|
|
277
|
+
console.error(`Embedder: ${warning}`);
|
|
278
|
+
}
|
|
279
|
+
this.prompts = settings.prompts;
|
|
280
|
+
this.warnings = settings.warnings;
|
|
191
281
|
console.error(`Embedder: Loading model "${this.config.modelPath}" on device "${device}"...`);
|
|
192
282
|
try {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const clamp = installTokenLimitClamp(this.model);
|
|
283
|
+
// Capture local asset names and file signatures before the pipeline can
|
|
284
|
+
// load them. Later content hashes are trusted only while these exact
|
|
285
|
+
// files remain unchanged, so a disk update during model loading cannot
|
|
286
|
+
// assign the new asset identity to an older in-memory pipeline.
|
|
287
|
+
const assetSnapshot = await this.captureModelAssetSnapshot(dtype, device);
|
|
288
|
+
this.model = await pipeline('feature-extraction', this.config.modelPath, { dtype, device });
|
|
289
|
+
const loadedModel = this.model;
|
|
290
|
+
const clamp = installTokenLimitClamp(loadedModel);
|
|
202
291
|
this.tokenLimit = clamp.tokenLimit;
|
|
203
292
|
this.measurementTokenizer = clamp.measurementTokenizer;
|
|
293
|
+
// Start asset hashing against the initialized pipeline while parsing and
|
|
294
|
+
// token measurement proceed. The promise is retained with this model and
|
|
295
|
+
// is cleared only when the pipeline is disposed.
|
|
296
|
+
this.computationIdentityPromise = this.createComputationIdentity({
|
|
297
|
+
loadedModel,
|
|
298
|
+
device,
|
|
299
|
+
dtype,
|
|
300
|
+
tokenLimit: clamp.tokenLimit,
|
|
301
|
+
assetSnapshot,
|
|
302
|
+
sentenceTransformersConfig,
|
|
303
|
+
});
|
|
204
304
|
console.error(`Embedder: Model loaded successfully (device=${device})`);
|
|
205
305
|
}
|
|
206
306
|
catch (error) {
|
|
@@ -264,6 +364,159 @@ export class Embedder {
|
|
|
264
364
|
});
|
|
265
365
|
await this.initPromise;
|
|
266
366
|
}
|
|
367
|
+
/** Identity of the loaded embedding function, or `null` when local assets cannot be proven. */
|
|
368
|
+
async getComputationIdentity() {
|
|
369
|
+
await this.ensureInitialized();
|
|
370
|
+
if (this.computationIdentityPromise === null) {
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
373
|
+
return await this.computationIdentityPromise;
|
|
374
|
+
}
|
|
375
|
+
async createComputationIdentity({ loadedModel, device, dtype, tokenLimit, assetSnapshot, sentenceTransformersConfig, }) {
|
|
376
|
+
try {
|
|
377
|
+
if (!isEmbeddingPipeline(loadedModel)) {
|
|
378
|
+
return null;
|
|
379
|
+
}
|
|
380
|
+
const dimensionValue = embeddingDimension(loadedModel);
|
|
381
|
+
if (dimensionValue === null) {
|
|
382
|
+
return null;
|
|
383
|
+
}
|
|
384
|
+
const loadedConfig = loadedModel.model?.config;
|
|
385
|
+
if (!assetSnapshot ||
|
|
386
|
+
!isPretrainedConfig(loadedConfig) ||
|
|
387
|
+
JSON.stringify(assetSnapshot.config) !== JSON.stringify(loadedConfig)) {
|
|
388
|
+
return null;
|
|
389
|
+
}
|
|
390
|
+
const assets = await this.hashModelAssets(assetSnapshot);
|
|
391
|
+
if (!assets) {
|
|
392
|
+
return null;
|
|
393
|
+
}
|
|
394
|
+
assets.push({
|
|
395
|
+
name: 'config_sentence_transformers.json',
|
|
396
|
+
sha256: createHash('sha256').update(serialize(sentenceTransformersConfig)).digest('hex'),
|
|
397
|
+
});
|
|
398
|
+
const runtimeVersions = await getRuntimeVersions();
|
|
399
|
+
if (runtimeVersions === null) {
|
|
400
|
+
return null;
|
|
401
|
+
}
|
|
402
|
+
const fingerprintInput = {
|
|
403
|
+
implementationVersion: EMBEDDING_IMPLEMENTATION_VERSION,
|
|
404
|
+
assets,
|
|
405
|
+
runtimeVersions,
|
|
406
|
+
nodeVersion: process.versions.node,
|
|
407
|
+
transformersVersion: env.version,
|
|
408
|
+
modelPath: this.config.modelPath,
|
|
409
|
+
device,
|
|
410
|
+
dtype,
|
|
411
|
+
prompts: this.prompts,
|
|
412
|
+
tokenLimit,
|
|
413
|
+
pooling: 'mean',
|
|
414
|
+
normalize: true,
|
|
415
|
+
titlePrefix: this.titlePrefix,
|
|
416
|
+
headingPrefix: this.headingPrefix,
|
|
417
|
+
dimension: dimensionValue,
|
|
418
|
+
};
|
|
419
|
+
const fingerprint = createHash('sha256').update(serialize(fingerprintInput)).digest('hex');
|
|
420
|
+
return { fingerprint, dimension: dimensionValue };
|
|
421
|
+
}
|
|
422
|
+
catch {
|
|
423
|
+
// Identity is optional acceleration metadata. A failure to enumerate or
|
|
424
|
+
// hash local assets must never prevent normal embedding inference.
|
|
425
|
+
return null;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
async hashModelAssets(snapshot) {
|
|
429
|
+
const assets = [];
|
|
430
|
+
for (const file of snapshot.files) {
|
|
431
|
+
const beforeHash = await statOrNull(file.path);
|
|
432
|
+
if (!beforeHash?.isFile() || statSignature(beforeHash) !== file.statSignature) {
|
|
433
|
+
return null;
|
|
434
|
+
}
|
|
435
|
+
const sha256 = await hashFile(file.path);
|
|
436
|
+
const afterHash = await statOrNull(file.path);
|
|
437
|
+
if (!afterHash?.isFile() || statSignature(afterHash) !== file.statSignature) {
|
|
438
|
+
return null;
|
|
439
|
+
}
|
|
440
|
+
assets.push({ name: file.name, sha256 });
|
|
441
|
+
}
|
|
442
|
+
return assets;
|
|
443
|
+
}
|
|
444
|
+
async captureModelAssetSnapshot(dtype, device) {
|
|
445
|
+
try {
|
|
446
|
+
const tokenizerConfigPath = await this.resolveAssetPath('tokenizer_config.json');
|
|
447
|
+
if (!tokenizerConfigPath ||
|
|
448
|
+
env.cacheDir === null ||
|
|
449
|
+
resolve(env.cacheDir) !== resolve(this.config.cacheDir)) {
|
|
450
|
+
// Transformers.js 4.3.1 probes tokenizer_config.json while listing
|
|
451
|
+
// pipeline assets. Require it locally before enumeration so identity
|
|
452
|
+
// discovery cannot cause a separate Hub metadata lookup.
|
|
453
|
+
return null;
|
|
454
|
+
}
|
|
455
|
+
const config = await AutoConfig.from_pretrained(this.config.modelPath, {
|
|
456
|
+
cache_dir: this.config.cacheDir,
|
|
457
|
+
local_files_only: true,
|
|
458
|
+
});
|
|
459
|
+
if (!isPretrainedConfig(config)) {
|
|
460
|
+
return null;
|
|
461
|
+
}
|
|
462
|
+
const fileNames = await ModelRegistry.get_pipeline_files('feature-extraction', this.config.modelPath, { config, dtype, device });
|
|
463
|
+
// Some models list it although the pipeline never loads it, and it does
|
|
464
|
+
// not affect embeddings.
|
|
465
|
+
const assetNames = fileNames.filter((name) => name !== 'generation_config.json');
|
|
466
|
+
const files = [];
|
|
467
|
+
for (const name of [...new Set(assetNames)].sort()) {
|
|
468
|
+
const path = await this.resolveAssetPath(name);
|
|
469
|
+
const info = path ? await statOrNull(path) : null;
|
|
470
|
+
if (!path || !info?.isFile()) {
|
|
471
|
+
return null;
|
|
472
|
+
}
|
|
473
|
+
files.push({ name, path, statSignature: statSignature(info) });
|
|
474
|
+
}
|
|
475
|
+
return files.length === 0 ? null : { config, files };
|
|
476
|
+
}
|
|
477
|
+
catch {
|
|
478
|
+
// Local identity is optional; a missing cached asset or config mismatch
|
|
479
|
+
// disables reuse without changing normal pipeline initialization.
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
async resolveAssetPath(name) {
|
|
484
|
+
const normalizedName = name.replaceAll('\\', '/');
|
|
485
|
+
if (isAbsolute(name) ||
|
|
486
|
+
normalizedName.startsWith('/') ||
|
|
487
|
+
normalizedName.split('/').some((part) => part === '..')) {
|
|
488
|
+
return null;
|
|
489
|
+
}
|
|
490
|
+
const modelPath = this.config.modelPath;
|
|
491
|
+
const cachePath = join(this.config.cacheDir, modelPath, name);
|
|
492
|
+
const directModelPath = resolve(modelPath, name);
|
|
493
|
+
const localModelPath = join(env.localModelPath, modelPath, name);
|
|
494
|
+
const modelId = /^[^./:\\]+\/[^./\\]+$/.test(modelPath);
|
|
495
|
+
let candidates;
|
|
496
|
+
if (isAbsolute(modelPath)) {
|
|
497
|
+
candidates = [directModelPath];
|
|
498
|
+
}
|
|
499
|
+
else if (modelId) {
|
|
500
|
+
candidates = [localModelPath, cachePath];
|
|
501
|
+
}
|
|
502
|
+
else {
|
|
503
|
+
candidates = [directModelPath, cachePath];
|
|
504
|
+
}
|
|
505
|
+
const available = [];
|
|
506
|
+
for (const candidate of candidates) {
|
|
507
|
+
const info = await statOrNull(candidate);
|
|
508
|
+
if (info?.isFile()) {
|
|
509
|
+
available.push({ path: candidate, identity: `${info.dev}:${info.ino}` });
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
if (new Set(available.map(({ identity }) => identity)).size > 1) {
|
|
513
|
+
// A model may resolve from multiple local/cache candidates. If they
|
|
514
|
+
// contain different files, this resolver cannot prove which one the
|
|
515
|
+
// pipeline loaded, so persistent reuse is unsafe for this instance.
|
|
516
|
+
return null;
|
|
517
|
+
}
|
|
518
|
+
return available[0]?.path ?? null;
|
|
519
|
+
}
|
|
267
520
|
/**
|
|
268
521
|
* The effective token cap, or `null` when none could be resolved.
|
|
269
522
|
*
|
|
@@ -296,7 +549,7 @@ export class Embedder {
|
|
|
296
549
|
*/
|
|
297
550
|
async planTokenLengths(texts) {
|
|
298
551
|
const tokenLimit = await this.getTokenLimit();
|
|
299
|
-
const trueLengths = await this.
|
|
552
|
+
const trueLengths = await this.measureTokens(texts);
|
|
300
553
|
if (tokenLimit === null) {
|
|
301
554
|
return trueLengths;
|
|
302
555
|
}
|
|
@@ -311,15 +564,29 @@ export class Embedder {
|
|
|
311
564
|
return trueLengths.map((length) => Math.min(length, tokenLimit));
|
|
312
565
|
}
|
|
313
566
|
/**
|
|
314
|
-
* The true token length of each text
|
|
315
|
-
* inference.
|
|
567
|
+
* The true token length of each text as embedded for `role`, prompt
|
|
568
|
+
* included, in input order. Tokenization only, no inference.
|
|
316
569
|
*
|
|
317
570
|
* Measured with `truncation: false` through the pre-clamp tokenizer, so a
|
|
318
571
|
* length above {@link getTokenLimit} means inference will truncate. Throws
|
|
319
572
|
* when no such tokenizer was captured, rather than returning a length
|
|
320
573
|
* measured through an unknown surface.
|
|
321
574
|
*/
|
|
322
|
-
async countTokens(texts) {
|
|
575
|
+
async countTokens(texts, role) {
|
|
576
|
+
await this.ensureInitialized();
|
|
577
|
+
return this.measureTokens(this.withPrompt(texts, role));
|
|
578
|
+
}
|
|
579
|
+
/** The prompt this model's config sets for documents, or `''`. */
|
|
580
|
+
async getDocumentPrompt() {
|
|
581
|
+
await this.ensureInitialized();
|
|
582
|
+
return this.prompts.document;
|
|
583
|
+
}
|
|
584
|
+
withPrompt(texts, role) {
|
|
585
|
+
const prompt = this.prompts[role ?? 'default'];
|
|
586
|
+
return prompt === '' ? texts : texts.map((text) => prompt + text);
|
|
587
|
+
}
|
|
588
|
+
/** Measures `texts` as given; each caller applies the prompt exactly once. */
|
|
589
|
+
async measureTokens(texts) {
|
|
323
590
|
if (texts.length === 0) {
|
|
324
591
|
return [];
|
|
325
592
|
}
|
|
@@ -341,8 +608,8 @@ export class Embedder {
|
|
|
341
608
|
* Delegates to {@link embedBatch} so this path shares its clamp, measurement
|
|
342
609
|
* and warning rather than reaching the pipeline unguarded.
|
|
343
610
|
*/
|
|
344
|
-
async embed(text) {
|
|
345
|
-
const embeddings = await this.embedBatch([text]);
|
|
611
|
+
async embed(text, role) {
|
|
612
|
+
const embeddings = await this.embedBatch([text], role);
|
|
346
613
|
const embedding = embeddings[0];
|
|
347
614
|
if (embedding === undefined) {
|
|
348
615
|
throw new EmbeddingError('Missing embedder batch output row');
|
|
@@ -350,7 +617,7 @@ export class Embedder {
|
|
|
350
617
|
return embedding;
|
|
351
618
|
}
|
|
352
619
|
/** Batched embedding; the vector dimension depends on the model. */
|
|
353
|
-
async embedBatch(texts) {
|
|
620
|
+
async embedBatch(texts, role) {
|
|
354
621
|
// Nothing to embed → skip model init entirely.
|
|
355
622
|
if (texts.length === 0) {
|
|
356
623
|
return [];
|
|
@@ -371,10 +638,11 @@ export class Embedder {
|
|
|
371
638
|
throw new EmbeddingError('Embedder pipeline is not callable');
|
|
372
639
|
}
|
|
373
640
|
const modelCall = this.model;
|
|
641
|
+
const promptedTexts = this.withPrompt(texts, role);
|
|
374
642
|
// One measurement per call, so planning and truncation reporting cannot
|
|
375
643
|
// disagree about a length.
|
|
376
|
-
const plannedLengths = await this.planTokenLengths(
|
|
377
|
-
const embeddings = Array.from({ length:
|
|
644
|
+
const plannedLengths = await this.planTokenLengths(promptedTexts);
|
|
645
|
+
const embeddings = Array.from({ length: promptedTexts.length });
|
|
378
646
|
const deferred = [];
|
|
379
647
|
const embedInputs = async (inputs) => {
|
|
380
648
|
const output = await modelCall(inputs.map((input) => input.text), options);
|
|
@@ -393,8 +661,8 @@ export class Embedder {
|
|
|
393
661
|
embeddings[input.originalIndex] = Array.from(data.subarray(row * dim, (row + 1) * dim));
|
|
394
662
|
}
|
|
395
663
|
};
|
|
396
|
-
for (let i = 0; i <
|
|
397
|
-
const batchTexts =
|
|
664
|
+
for (let i = 0; i < promptedTexts.length; i += this.config.batchSize) {
|
|
665
|
+
const batchTexts = promptedTexts.slice(i, i + this.config.batchSize);
|
|
398
666
|
const indexedInputs = batchTexts.map((text, batchIndex) => {
|
|
399
667
|
const originalIndex = i + batchIndex;
|
|
400
668
|
const tokenLength = plannedLengths[originalIndex];
|
|
@@ -426,4 +694,63 @@ export class Embedder {
|
|
|
426
694
|
}
|
|
427
695
|
}
|
|
428
696
|
}
|
|
697
|
+
async function hashFile(filePath) {
|
|
698
|
+
const hash = createHash('sha256');
|
|
699
|
+
for await (const chunk of createReadStream(filePath)) {
|
|
700
|
+
hash.update(chunk);
|
|
701
|
+
}
|
|
702
|
+
return hash.digest('hex');
|
|
703
|
+
}
|
|
704
|
+
async function getRuntimeVersions() {
|
|
705
|
+
if (runtimeVersionsPromise === null) {
|
|
706
|
+
runtimeVersionsPromise = Promise.all([
|
|
707
|
+
'@huggingface/transformers',
|
|
708
|
+
'@huggingface/tokenizers',
|
|
709
|
+
'onnxruntime-node',
|
|
710
|
+
'onnxruntime-web',
|
|
711
|
+
].map(async (packageName) => [packageName, await readInstalledPackageVersion(packageName)])).then((entries) => {
|
|
712
|
+
const versions = {};
|
|
713
|
+
for (const [name, version] of entries) {
|
|
714
|
+
if (version === null) {
|
|
715
|
+
return null;
|
|
716
|
+
}
|
|
717
|
+
versions[name] = version;
|
|
718
|
+
}
|
|
719
|
+
return versions;
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
return await runtimeVersionsPromise;
|
|
723
|
+
}
|
|
724
|
+
async function readInstalledPackageVersion(packageName) {
|
|
725
|
+
try {
|
|
726
|
+
let packageEntry;
|
|
727
|
+
try {
|
|
728
|
+
packageEntry = require.resolve(packageName);
|
|
729
|
+
}
|
|
730
|
+
catch {
|
|
731
|
+
// pnpm keeps some dependencies private to the Transformers.js package.
|
|
732
|
+
packageEntry = transformersRequire.resolve(packageName);
|
|
733
|
+
}
|
|
734
|
+
for (let directory = dirname(packageEntry); directory !== dirname(directory); directory = dirname(directory)) {
|
|
735
|
+
try {
|
|
736
|
+
const metadata = JSON.parse(await readFile(join(directory, 'package.json'), 'utf8'));
|
|
737
|
+
if (typeof metadata === 'object' &&
|
|
738
|
+
metadata !== null &&
|
|
739
|
+
'name' in metadata &&
|
|
740
|
+
metadata.name === packageName &&
|
|
741
|
+
'version' in metadata &&
|
|
742
|
+
typeof metadata.version === 'string') {
|
|
743
|
+
return metadata.version;
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
catch {
|
|
747
|
+
// Continue toward the package root.
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
return null;
|
|
751
|
+
}
|
|
752
|
+
catch {
|
|
753
|
+
return null;
|
|
754
|
+
}
|
|
755
|
+
}
|
|
429
756
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedder/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedder/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppError } from '../utils/errors.js';
|
|
2
|
+
import type { EmbeddingComputationIdentity } from './index.js';
|
|
2
3
|
/** Remote embedding generation error. */
|
|
3
4
|
export declare class RemoteEmbeddingError extends AppError {
|
|
4
5
|
constructor(message: string, options?: {
|
|
@@ -18,20 +19,37 @@ export interface RemoteEmbedderConfig {
|
|
|
18
19
|
/** Per-attempt HTTP timeout in ms (default 30_000) */
|
|
19
20
|
timeoutMs?: number;
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Conservative CJK-aware token estimate for a server-side tokenizer we cannot
|
|
24
|
+
* run locally. Calibrated against the deployment's own tokenizer (XLM-R /
|
|
25
|
+
* bge-m3): worst observed densities were ~0.76 tokens/char CJK prose, 0.62 for
|
|
26
|
+
* digit-heavy table rows and 0.46 for code; the experiment-ledger file that
|
|
27
|
+
* motivated containment measures 0.615 overall. The coefficients deliberately
|
|
28
|
+
* over-estimate (dense script x1.4, everything else x0.7) so containment
|
|
29
|
+
* splits too early rather than letting an oversized chunk reach the server.
|
|
30
|
+
*/
|
|
31
|
+
export declare function estimateTokens(text: string): number;
|
|
21
32
|
/**
|
|
22
33
|
* Structural counterpart of the local `Embedder`: same public surface
|
|
23
34
|
* (`initialize / embed / embedBatch / dispose / tokenLimit`), with embedding
|
|
24
35
|
* compute delegated to a self-hosted server.
|
|
25
36
|
*
|
|
26
37
|
* Semantics intentionally aligned with the local class:
|
|
27
|
-
* - `tokenLimit`
|
|
28
|
-
*
|
|
38
|
+
* - `tokenLimit` mirrors the server's own input cap, probed once from
|
|
39
|
+
* `GET /info` (`max_input_length`). When the server does not expose it —
|
|
40
|
+
* or a strictly validating server rejects oversized inputs without
|
|
41
|
+
* truncating — the cap stays `null` and containment stays off, exactly the
|
|
42
|
+
* previous behavior. `getTokenLimit`/`countTokens` implement the chunker's
|
|
43
|
+
* optional `EmbedderInterface` members so token containment activates.
|
|
29
44
|
* - `dispose()` is a no-op — no in-process model resources.
|
|
30
45
|
* - `device` / `dtype` / `cacheDir` / `modelPath` are server-side concerns.
|
|
31
46
|
*/
|
|
32
47
|
export declare class RemoteEmbedder {
|
|
33
48
|
private readonly config;
|
|
34
49
|
private dims;
|
|
50
|
+
private maxInputTokens;
|
|
51
|
+
private serverModelId;
|
|
52
|
+
private serverModelSha;
|
|
35
53
|
private initialized;
|
|
36
54
|
constructor(config: RemoteEmbedderConfig);
|
|
37
55
|
/**
|
|
@@ -40,9 +58,29 @@ export declare class RemoteEmbedder {
|
|
|
40
58
|
* fail fast instead of writing mixed-dimension vectors).
|
|
41
59
|
*/
|
|
42
60
|
initialize(): Promise<void>;
|
|
61
|
+
/** Best-effort `GET /info`: input cap + serving-model identity for reuse. */
|
|
62
|
+
private probeServerInfo;
|
|
43
63
|
dispose(): Promise<void>;
|
|
44
|
-
/**
|
|
45
|
-
get tokenLimit(): null;
|
|
64
|
+
/** The server's own input cap when `/info` exposed it, else `null`. */
|
|
65
|
+
get tokenLimit(): number | null;
|
|
66
|
+
/** The remote stack has no local model-load warnings to surface. */
|
|
67
|
+
get modelWarnings(): readonly string[];
|
|
68
|
+
/** Optional `EmbedderInterface` member: activates the chunker's containment. */
|
|
69
|
+
getTokenLimit(): Promise<number | null>;
|
|
70
|
+
/**
|
|
71
|
+
* `PersistentEmbeddingProvider` member: the serving model's identity from
|
|
72
|
+
* `/info` (model id + sha + endpoint), so embedding snapshots taken against
|
|
73
|
+
* one server are never reused against another. A server that did not expose
|
|
74
|
+
* its model id cannot prove which model served — `null` disables snapshot
|
|
75
|
+
* reuse (re-embed) rather than risking a shared fake fingerprint across
|
|
76
|
+
* different models behind the same flaky `/info`.
|
|
77
|
+
*/
|
|
78
|
+
getComputationIdentity(): Promise<EmbeddingComputationIdentity | null>;
|
|
79
|
+
/**
|
|
80
|
+
* Optional `EmbedderInterface` member: conservative local estimate (see
|
|
81
|
+
* {@link estimateTokens}) — no tokenizer download, no extra server round trip.
|
|
82
|
+
*/
|
|
83
|
+
countTokens(texts: string[]): Promise<number[]>;
|
|
46
84
|
embed(text: string): Promise<number[]>;
|
|
47
85
|
embedBatch(texts: string[]): Promise<number[][]>;
|
|
48
86
|
private validate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/embedder/remote.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/embedder/remote.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAE9D,yCAAyC;AACzC,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,EAGvD;CACF;AAED,6DAA6D;AAC7D,qBAAa,6BAA8B,SAAQ,oBAAoB;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAM1D;CACF;AAED,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAwED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,WAAW,CAAiB;IAEpC,YAAY,MAAM,EAAE,oBAAoB,EAEvC;IAED;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBhC;IAED,6EAA6E;YAC/D,eAAe;IAkCvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAM7B;IAED,uEAAuE;IACvE,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IAED,oEAAoE;IACpE,IAAI,aAAa,IAAI,SAAS,MAAM,EAAE,CAErC;IAED,gFAAgF;IAC1E,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG5C;IAED;;;;;;;OAOG;IACG,sBAAsB,IAAI,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAS3E;IAED;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpD;IAEK,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAS3C;IAEK,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAUrD;IAED,OAAO,CAAC,QAAQ;YAoBF,SAAS;CA2BxB"}
|