@zvec/zvec-grep 0.1.5 → 0.1.6
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 +88 -249
- package/README_CN.md +82 -246
- package/dist/authorization/index.d.ts +7 -0
- package/dist/authorization/index.js +7 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/authorization/manager.d.ts +8 -0
- package/dist/authorization/manager.js +19 -0
- package/dist/authorization/manager.js.map +1 -0
- package/dist/authorization/operation.d.ts +7 -0
- package/dist/authorization/operation.js +50 -0
- package/dist/authorization/operation.js.map +1 -0
- package/dist/authorization/planner.d.ts +21 -0
- package/dist/authorization/planner.js +97 -0
- package/dist/authorization/planner.js.map +1 -0
- package/dist/authorization/prompt.d.ts +11 -0
- package/dist/authorization/prompt.js +62 -0
- package/dist/authorization/prompt.js.map +1 -0
- package/dist/authorization/store.d.ts +20 -0
- package/dist/authorization/store.js +251 -0
- package/dist/authorization/store.js.map +1 -0
- package/dist/authorization/target.d.ts +15 -0
- package/dist/authorization/target.js +49 -0
- package/dist/authorization/target.js.map +1 -0
- package/dist/authorization/types.d.ts +61 -0
- package/dist/authorization/types.js +2 -0
- package/dist/authorization/types.js.map +1 -0
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.js +304 -54
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth.d.ts +21 -0
- package/dist/cli/auth.js +212 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/commands.js +433 -618
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/errors.js +2 -2
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/format/context.d.ts +1 -0
- package/dist/cli/format/context.js +241 -45
- package/dist/cli/format/context.js.map +1 -1
- package/dist/cli/format/debug.js +2 -2
- package/dist/cli/format/debug.js.map +1 -1
- package/dist/cli/format/progress.d.ts +4 -0
- package/dist/cli/format/progress.js +219 -46
- package/dist/cli/format/progress.js.map +1 -1
- package/dist/cli/format/status.d.ts +77 -6
- package/dist/cli/format/status.js +302 -106
- package/dist/cli/format/status.js.map +1 -1
- package/dist/cli/help.js +258 -59
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/cli/install.d.ts +4 -0
- package/dist/cli/install.js +845 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/managed-rg.d.ts +10 -0
- package/dist/cli/managed-rg.js +329 -0
- package/dist/cli/managed-rg.js.map +1 -0
- package/dist/cli/types.d.ts +20 -6
- package/dist/cli/types.js.map +1 -1
- package/dist/client/daemon-client.d.ts +19 -0
- package/dist/client/daemon-client.js +180 -0
- package/dist/client/daemon-client.js.map +1 -0
- package/dist/client/mode-router.d.ts +9 -0
- package/dist/client/mode-router.js +28 -0
- package/dist/client/mode-router.js.map +1 -0
- package/dist/client/search-policy.d.ts +11 -0
- package/dist/client/search-policy.js +15 -0
- package/dist/client/search-policy.js.map +1 -0
- package/dist/daemon/backend.d.ts +76 -0
- package/dist/daemon/backend.js +1049 -0
- package/dist/daemon/backend.js.map +1 -0
- package/dist/daemon/change-set.d.ts +25 -0
- package/dist/daemon/change-set.js +101 -0
- package/dist/daemon/change-set.js.map +1 -0
- package/dist/daemon/config.d.ts +24 -0
- package/dist/daemon/config.js +88 -0
- package/dist/daemon/config.js.map +1 -0
- package/dist/daemon/errors.d.ts +5 -0
- package/dist/daemon/errors.js +11 -0
- package/dist/daemon/errors.js.map +1 -0
- package/dist/daemon/http-server.d.ts +30 -0
- package/dist/daemon/http-server.js +287 -0
- package/dist/daemon/http-server.js.map +1 -0
- package/dist/daemon/index-coordinator.d.ts +23 -0
- package/dist/daemon/index-coordinator.js +68 -0
- package/dist/daemon/index-coordinator.js.map +1 -0
- package/dist/daemon/job-scheduler.d.ts +70 -0
- package/dist/daemon/job-scheduler.js +366 -0
- package/dist/daemon/job-scheduler.js.map +1 -0
- package/dist/daemon/logger.d.ts +9 -0
- package/dist/daemon/logger.js +53 -0
- package/dist/daemon/logger.js.map +1 -0
- package/dist/daemon/model-pool.d.ts +45 -0
- package/dist/daemon/model-pool.js +187 -0
- package/dist/daemon/model-pool.js.map +1 -0
- package/dist/daemon/root-lease.d.ts +14 -0
- package/dist/daemon/root-lease.js +188 -0
- package/dist/daemon/root-lease.js.map +1 -0
- package/dist/daemon/root-runtime.d.ts +78 -0
- package/dist/daemon/root-runtime.js +333 -0
- package/dist/daemon/root-runtime.js.map +1 -0
- package/dist/daemon/runtime-manager.d.ts +45 -0
- package/dist/daemon/runtime-manager.js +243 -0
- package/dist/daemon/runtime-manager.js.map +1 -0
- package/dist/daemon/runtime.d.ts +12 -0
- package/dist/daemon/runtime.js +102 -0
- package/dist/daemon/runtime.js.map +1 -0
- package/dist/daemon/server-controller.d.ts +39 -0
- package/dist/daemon/server-controller.js +203 -0
- package/dist/daemon/server-controller.js.map +1 -0
- package/dist/daemon/watch-manager.d.ts +50 -0
- package/dist/daemon/watch-manager.js +293 -0
- package/dist/daemon/watch-manager.js.map +1 -0
- package/dist/daemon/workspace-read-session-cache.d.ts +31 -0
- package/dist/daemon/workspace-read-session-cache.js +115 -0
- package/dist/daemon/workspace-read-session-cache.js.map +1 -0
- package/dist/engine/config.d.ts +30 -8
- package/dist/engine/config.js +171 -45
- package/dist/engine/config.js.map +1 -1
- package/dist/engine/{errors/index.d.ts → errors.d.ts} +6 -1
- package/dist/engine/{errors/details.js → errors.js} +17 -4
- package/dist/engine/errors.js.map +1 -0
- package/dist/engine/extraction/code/adapter.d.ts +1 -1
- package/dist/engine/extraction/code/extractor.d.ts +5 -11
- package/dist/engine/extraction/code/extractor.js +105 -44
- package/dist/engine/extraction/code/extractor.js.map +1 -1
- package/dist/engine/extraction/code/families/c-family.js +1 -1
- package/dist/engine/extraction/code/families/c-family.js.map +1 -1
- package/dist/engine/extraction/code/families/js-ts.d.ts +1 -1
- package/dist/engine/extraction/code/families/metadata.d.ts +1 -1
- package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
- package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
- package/dist/engine/extraction/image/extractor.d.ts +5 -0
- package/dist/engine/extraction/image/extractor.js +35 -0
- package/dist/engine/extraction/image/extractor.js.map +1 -0
- package/dist/engine/extraction/index.d.ts +3 -44
- package/dist/engine/extraction/index.js +1 -280
- package/dist/engine/extraction/index.js.map +1 -1
- package/dist/engine/extraction/markdown/extractor.d.ts +5 -11
- package/dist/engine/extraction/markdown/extractor.js +35 -16
- package/dist/engine/extraction/markdown/extractor.js.map +1 -1
- package/dist/engine/extraction/runtime.d.ts +4 -0
- package/dist/engine/extraction/runtime.js +26 -0
- package/dist/engine/extraction/runtime.js.map +1 -0
- package/dist/engine/extraction/source.d.ts +18 -0
- package/dist/engine/extraction/source.js +22 -0
- package/dist/engine/extraction/source.js.map +1 -0
- package/dist/engine/extraction/text/extractor.d.ts +7 -0
- package/dist/engine/extraction/text/extractor.js +168 -0
- package/dist/engine/extraction/text/extractor.js.map +1 -0
- package/dist/engine/extraction/types.d.ts +4 -0
- package/dist/engine/{models → extraction}/types.js.map +1 -1
- package/dist/engine/{files/file-type.d.ts → file-type.d.ts} +1 -1
- package/dist/engine/file-type.js.map +1 -0
- package/dist/engine/index-status.d.ts +9 -0
- package/dist/engine/index-status.js +38 -0
- package/dist/engine/index-status.js.map +1 -0
- package/dist/engine/manifest.d.ts +12 -0
- package/dist/engine/manifest.js +120 -0
- package/dist/engine/manifest.js.map +1 -0
- package/dist/engine/models/{providers/llama-cpp/embedding.d.ts → backends/llama-cpp.d.ts} +25 -20
- package/dist/engine/models/{providers/llama-cpp/embedding.js → backends/llama-cpp.js} +127 -106
- package/dist/engine/models/backends/llama-cpp.js.map +1 -0
- package/dist/engine/models/backends/model2vec.d.ts +57 -0
- package/dist/engine/models/backends/model2vec.js +332 -0
- package/dist/engine/models/backends/model2vec.js.map +1 -0
- package/dist/engine/models/backends/qwen.d.ts +44 -0
- package/dist/engine/models/{providers/qwen/embedding.js → backends/qwen.js} +155 -94
- package/dist/engine/models/backends/qwen.js.map +1 -0
- package/dist/engine/models/backends/transformers-js.d.ts +87 -0
- package/dist/engine/models/backends/transformers-js.js +316 -0
- package/dist/engine/models/backends/transformers-js.js.map +1 -0
- package/dist/engine/models/catalog.d.ts +188 -23
- package/dist/engine/models/catalog.js +172 -25
- package/dist/engine/models/catalog.js.map +1 -1
- package/dist/engine/models/download-progress.d.ts +15 -0
- package/dist/engine/models/download-progress.js +48 -0
- package/dist/engine/models/download-progress.js.map +1 -0
- package/dist/engine/models/embeddings.d.ts +58 -18
- package/dist/engine/models/embeddings.js +52 -28
- package/dist/engine/models/embeddings.js.map +1 -1
- package/dist/engine/models/factory.d.ts +2 -5
- package/dist/engine/models/factory.js +41 -56
- package/dist/engine/models/factory.js.map +1 -1
- package/dist/engine/models/index.d.ts +4 -6
- package/dist/engine/models/index.js +4 -4
- package/dist/engine/models/index.js.map +1 -1
- package/dist/engine/models/ranking.d.ts +7 -3
- package/dist/engine/models/resolution.d.ts +8 -0
- package/dist/engine/models/resolution.js +22 -0
- package/dist/engine/models/resolution.js.map +1 -0
- package/dist/engine/pipeline/indexing/index.d.ts +9 -7
- package/dist/engine/pipeline/indexing/index.js +360 -121
- package/dist/engine/pipeline/indexing/index.js.map +1 -1
- package/dist/engine/pipeline/indexing/root-paths.js +6 -6
- package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
- package/dist/engine/pipeline/indexing/scanner/index.d.ts +6 -1
- package/dist/engine/pipeline/indexing/scanner/index.js +233 -29
- package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
- package/dist/engine/pipeline/search/index.d.ts +6 -6
- package/dist/engine/pipeline/search/index.js +8 -10
- package/dist/engine/pipeline/search/index.js.map +1 -1
- package/dist/engine/service/index.d.ts +3 -2
- package/dist/engine/service/index.js +1 -1
- package/dist/engine/service/index.js.map +1 -1
- package/dist/engine/service/root.d.ts +13 -12
- package/dist/engine/service/root.js +35 -24
- package/dist/engine/service/root.js.map +1 -1
- package/dist/engine/service/structure-enrichment.js +12 -14
- package/dist/engine/service/structure-enrichment.js.map +1 -1
- package/dist/engine/service/types.d.ts +32 -37
- package/dist/engine/service/workspace-index.d.ts +24 -0
- package/dist/engine/service/workspace-index.js +151 -0
- package/dist/engine/service/workspace-index.js.map +1 -0
- package/dist/engine/service/zvec-grep.d.ts +12 -1
- package/dist/engine/service/zvec-grep.js +677 -486
- package/dist/engine/service/zvec-grep.js.map +1 -1
- package/dist/engine/storage/index.d.ts +8 -4
- package/dist/engine/storage/index.js +1 -1
- package/dist/engine/storage/index.js.map +1 -1
- package/dist/engine/storage/zvec.d.ts +10 -33
- package/dist/engine/storage/zvec.js +95 -38
- package/dist/engine/storage/zvec.js.map +1 -1
- package/dist/engine/types.d.ts +15 -23
- package/dist/engine/types.js +1 -1
- package/dist/engine/types.js.map +1 -1
- package/dist/engine/utils/daemon-lease.d.ts +17 -0
- package/dist/engine/utils/daemon-lease.js +175 -0
- package/dist/engine/utils/daemon-lease.js.map +1 -0
- package/dist/engine/utils/file-selection.js +38 -1
- package/dist/engine/utils/file-selection.js.map +1 -1
- package/dist/engine/utils/lock.js +1 -1
- package/dist/engine/utils/lock.js.map +1 -1
- package/dist/index-progress.d.ts +10 -0
- package/dist/index-progress.js +159 -0
- package/dist/index-progress.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/http-transport.d.ts +27 -0
- package/dist/mcp/http-transport.js +182 -0
- package/dist/mcp/http-transport.js.map +1 -0
- package/dist/mcp/input-normalization.d.ts +38 -0
- package/dist/mcp/input-normalization.js +95 -0
- package/dist/mcp/input-normalization.js.map +1 -0
- package/dist/mcp/progress-heartbeat.d.ts +17 -0
- package/dist/mcp/progress-heartbeat.js +46 -0
- package/dist/mcp/progress-heartbeat.js.map +1 -0
- package/dist/mcp/request-metadata.d.ts +2 -0
- package/dist/mcp/request-metadata.js +11 -0
- package/dist/mcp/request-metadata.js.map +1 -0
- package/dist/mcp/request-state.d.ts +40 -0
- package/dist/mcp/request-state.js +210 -0
- package/dist/mcp/request-state.js.map +1 -0
- package/dist/mcp/result-format.d.ts +13 -0
- package/dist/mcp/result-format.js +75 -0
- package/dist/mcp/result-format.js.map +1 -0
- package/dist/mcp/schemas.d.ts +430 -0
- package/dist/mcp/schemas.js +447 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/tools.d.ts +150 -0
- package/dist/mcp/tools.js +448 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/toolset.d.ts +5 -0
- package/dist/mcp/toolset.js +12 -0
- package/dist/mcp/toolset.js.map +1 -0
- package/dist/observability/trace-context.d.ts +11 -0
- package/dist/observability/trace-context.js +138 -0
- package/dist/observability/trace-context.js.map +1 -0
- package/docs/01-agents.md +111 -0
- package/docs/02-cli.md +229 -0
- package/docs/03-mcp.md +167 -0
- package/docs/04-pipeline.md +218 -0
- package/docs/05-architecture.md +86 -0
- package/docs/06-server.md +210 -0
- package/docs/07-embedding.md +179 -0
- package/docs/08-roadmap.md +85 -0
- package/docs/README.md +53 -0
- package/package.json +17 -8
- package/skills/zvec-grep/SKILL.md +43 -133
- package/skills/zvec-grep/agents/openai.yaml +2 -2
- package/skills/zvec-grep/references/cli-fallback.md +85 -0
- package/dist/cli/mcp.d.ts +0 -2
- package/dist/cli/mcp.js +0 -354
- package/dist/cli/mcp.js.map +0 -1
- package/dist/engine/collection/index.d.ts +0 -55
- package/dist/engine/collection/index.js +0 -710
- package/dist/engine/collection/index.js.map +0 -1
- package/dist/engine/errors/details.d.ts +0 -6
- package/dist/engine/errors/details.js.map +0 -1
- package/dist/engine/errors/index.js +0 -16
- package/dist/engine/errors/index.js.map +0 -1
- package/dist/engine/extraction/tree-sitter/grammar.js.map +0 -1
- package/dist/engine/extraction/tree-sitter/nodes.js.map +0 -1
- package/dist/engine/extraction/tree-sitter/parser.js.map +0 -1
- package/dist/engine/files/file-type.js.map +0 -1
- package/dist/engine/models/providers/index.d.ts +0 -2
- package/dist/engine/models/providers/index.js +0 -3
- package/dist/engine/models/providers/index.js.map +0 -1
- package/dist/engine/models/providers/llama-cpp/embedding.js.map +0 -1
- package/dist/engine/models/providers/llama-cpp/index.d.ts +0 -1
- package/dist/engine/models/providers/llama-cpp/index.js +0 -2
- package/dist/engine/models/providers/llama-cpp/index.js.map +0 -1
- package/dist/engine/models/providers/qwen/embedding.d.ts +0 -42
- package/dist/engine/models/providers/qwen/embedding.js.map +0 -1
- package/dist/engine/models/providers/qwen/index.d.ts +0 -1
- package/dist/engine/models/providers/qwen/index.js +0 -2
- package/dist/engine/models/providers/qwen/index.js.map +0 -1
- package/dist/engine/models/types.d.ts +0 -30
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.d.ts +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.js +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.d.ts +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.js +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.d.ts +0 -0
- /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.js +0 -0
- /package/dist/engine/{models → extraction}/types.js +0 -0
- /package/dist/engine/{files/file-type.js → file-type.js} +0 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { EngineError } from "../../errors.js";
|
|
3
|
+
import { defaultHome } from "../../utils/path.js";
|
|
4
|
+
import { BaseEmbeddingModel, } from "../embeddings.js";
|
|
5
|
+
import { createModelDownloadProgressReporter, } from "../download-progress.js";
|
|
6
|
+
const DEFAULT_MODEL_CACHE_DIR = join(defaultHome(), "models");
|
|
7
|
+
async function defaultTransformersJsLoader() {
|
|
8
|
+
try {
|
|
9
|
+
return (await import("@huggingface/transformers"));
|
|
10
|
+
}
|
|
11
|
+
catch (cause) {
|
|
12
|
+
throw new EngineError("Transformers.js is required for this local embedding model", {
|
|
13
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_MISSING_DEPENDENCY",
|
|
14
|
+
context: "Reinstall zvec-grep to restore @huggingface/transformers",
|
|
15
|
+
cause,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
let defaultRuntimeImport = null;
|
|
20
|
+
const defaultDependencies = {
|
|
21
|
+
loadRuntime() {
|
|
22
|
+
defaultRuntimeImport ??= defaultTransformersJsLoader();
|
|
23
|
+
return defaultRuntimeImport;
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export class TransformersJsEmbeddingModel extends BaseEmbeddingModel {
|
|
27
|
+
entry;
|
|
28
|
+
info;
|
|
29
|
+
modelCacheDir;
|
|
30
|
+
executionProvider;
|
|
31
|
+
dependencies;
|
|
32
|
+
pipeline = null;
|
|
33
|
+
pipelineLoadPromise = null;
|
|
34
|
+
usingCpuFallback = false;
|
|
35
|
+
disposed = false;
|
|
36
|
+
constructor(entry, options, dependencies = {}) {
|
|
37
|
+
super();
|
|
38
|
+
this.entry = entry;
|
|
39
|
+
this.info = {
|
|
40
|
+
reference: entry.reference,
|
|
41
|
+
provider: entry.provider,
|
|
42
|
+
name: entry.model,
|
|
43
|
+
dimension: entry.dimension,
|
|
44
|
+
metric: entry.metric,
|
|
45
|
+
inputKinds: ["text"],
|
|
46
|
+
limits: {
|
|
47
|
+
maxBatchSize: entry.maxBatchSize,
|
|
48
|
+
maxInputTokens: entry.maxInputTokens,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
this.modelCacheDir =
|
|
52
|
+
options.modelCacheDir ??
|
|
53
|
+
process.env.ZVEC_GREP_MODEL_CACHE ??
|
|
54
|
+
DEFAULT_MODEL_CACHE_DIR;
|
|
55
|
+
this.executionProvider = resolveExecutionProvider(options.device);
|
|
56
|
+
this.dependencies = { ...defaultDependencies, ...dependencies };
|
|
57
|
+
}
|
|
58
|
+
async doEmbed(contents, options) {
|
|
59
|
+
return await this.embedBatch(contents, options);
|
|
60
|
+
}
|
|
61
|
+
async embedBatch(contents, options) {
|
|
62
|
+
this.ensureNotDisposed();
|
|
63
|
+
const texts = contents.map((content) => formatText(content.text, options.purpose, this.entry));
|
|
64
|
+
let pipeline;
|
|
65
|
+
try {
|
|
66
|
+
pipeline = await this.ensurePipeline(options.onProgress);
|
|
67
|
+
}
|
|
68
|
+
catch (cause) {
|
|
69
|
+
throw new EngineError("Transformers.js embedding failed", {
|
|
70
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_EMBED_FAILED",
|
|
71
|
+
context: `model=${this.entry.reference} repo=${this.entry.repo}`,
|
|
72
|
+
cause,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
let truncatedInputIndexes;
|
|
76
|
+
try {
|
|
77
|
+
truncatedInputIndexes = await findTruncatedInputIndexes(pipeline.tokenizer, texts, this.entry.maxInputTokens);
|
|
78
|
+
}
|
|
79
|
+
catch (cause) {
|
|
80
|
+
throw new EngineError("Transformers.js tokenization failed", {
|
|
81
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_TOKENIZATION_FAILED",
|
|
82
|
+
context: `model=${this.entry.reference} repo=${this.entry.repo}`,
|
|
83
|
+
cause,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
let failure;
|
|
87
|
+
try {
|
|
88
|
+
return await this.embedTexts(pipeline, texts, truncatedInputIndexes);
|
|
89
|
+
}
|
|
90
|
+
catch (cause) {
|
|
91
|
+
failure = cause;
|
|
92
|
+
}
|
|
93
|
+
if (await this.fallbackToCpu(failure, options.onProgress)) {
|
|
94
|
+
try {
|
|
95
|
+
return await this.embedTexts(await this.ensurePipeline(options.onProgress), texts, truncatedInputIndexes);
|
|
96
|
+
}
|
|
97
|
+
catch (cause) {
|
|
98
|
+
failure = cause;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
throw new EngineError("Transformers.js embedding failed", {
|
|
102
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_EMBED_FAILED",
|
|
103
|
+
context: `model=${this.entry.reference} repo=${this.entry.repo}`,
|
|
104
|
+
cause: failure,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
async dispose() {
|
|
108
|
+
if (this.disposed) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this.disposed = true;
|
|
112
|
+
const pipeline = this.pipeline;
|
|
113
|
+
this.pipeline = null;
|
|
114
|
+
this.pipelineLoadPromise = null;
|
|
115
|
+
await pipeline?.dispose();
|
|
116
|
+
}
|
|
117
|
+
async ensurePipeline(onProgress) {
|
|
118
|
+
if (this.pipeline) {
|
|
119
|
+
return this.pipeline;
|
|
120
|
+
}
|
|
121
|
+
if (this.pipelineLoadPromise) {
|
|
122
|
+
return await this.pipelineLoadPromise;
|
|
123
|
+
}
|
|
124
|
+
this.pipelineLoadPromise = this.loadPipeline(onProgress);
|
|
125
|
+
try {
|
|
126
|
+
this.pipeline = await this.pipelineLoadPromise;
|
|
127
|
+
return this.pipeline;
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
this.pipelineLoadPromise = null;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async loadPipeline(onProgress) {
|
|
134
|
+
const downloadProgress = createModelDownloadProgressReporter(this.entry.reference, onProgress);
|
|
135
|
+
downloadProgress.start();
|
|
136
|
+
const runtime = await this.dependencies.loadRuntime();
|
|
137
|
+
let pipeline;
|
|
138
|
+
const executionProvider = this.usingCpuFallback
|
|
139
|
+
? "cpu"
|
|
140
|
+
: this.executionProvider;
|
|
141
|
+
try {
|
|
142
|
+
pipeline = await this.createPipeline(runtime, executionProvider, downloadProgress);
|
|
143
|
+
}
|
|
144
|
+
catch (cause) {
|
|
145
|
+
if (!executionProvider || executionProvider === "cpu") {
|
|
146
|
+
throw cause;
|
|
147
|
+
}
|
|
148
|
+
const warning = `Transformers.js ${executionProvider} embedding initialization failed (${formatErrorMessage(cause)}), falling back to CPU.`;
|
|
149
|
+
if (!downloadProgress.warning(warning)) {
|
|
150
|
+
process.stderr.write(`zvec-grep warning: ${warning}\n`);
|
|
151
|
+
}
|
|
152
|
+
this.usingCpuFallback = true;
|
|
153
|
+
pipeline = await this.createPipeline(runtime, "cpu", downloadProgress);
|
|
154
|
+
}
|
|
155
|
+
pipeline.tokenizer.model_max_length = this.entry.maxInputTokens;
|
|
156
|
+
downloadProgress.finish();
|
|
157
|
+
return pipeline;
|
|
158
|
+
}
|
|
159
|
+
async embedTexts(pipeline, texts, truncatedInputIndexes) {
|
|
160
|
+
const tensor = await pipeline(texts, {
|
|
161
|
+
pooling: this.entry.pooling,
|
|
162
|
+
normalize: this.entry.normalize,
|
|
163
|
+
truncation: true,
|
|
164
|
+
max_length: this.entry.maxInputTokens,
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
vectors: tensorToVectors(tensor, texts.length, this.entry.dimension),
|
|
168
|
+
truncated: truncatedInputIndexes,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
async fallbackToCpu(cause, onProgress) {
|
|
172
|
+
if (this.usingCpuFallback ||
|
|
173
|
+
!this.executionProvider ||
|
|
174
|
+
this.executionProvider === "cpu") {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
const warning = `Transformers.js ${this.executionProvider} embedding inference failed (${formatErrorMessage(cause)}), falling back to CPU.`;
|
|
178
|
+
if (onProgress) {
|
|
179
|
+
onProgress({
|
|
180
|
+
stage: "warning",
|
|
181
|
+
model: this.entry.reference,
|
|
182
|
+
message: warning,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
process.stderr.write(`zvec-grep warning: ${warning}\n`);
|
|
187
|
+
}
|
|
188
|
+
this.usingCpuFallback = true;
|
|
189
|
+
const pipeline = this.pipeline;
|
|
190
|
+
this.pipeline = null;
|
|
191
|
+
this.pipelineLoadPromise = null;
|
|
192
|
+
await pipeline?.dispose();
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
async createPipeline(runtime, executionProvider, downloadProgress) {
|
|
196
|
+
return await runtime.pipeline("feature-extraction", this.entry.repo, {
|
|
197
|
+
cache_dir: this.modelCacheDir,
|
|
198
|
+
revision: this.entry.revision,
|
|
199
|
+
dtype: this.entry.dtype,
|
|
200
|
+
progress_callback: (progress) => {
|
|
201
|
+
if (progress.status === "initiate" &&
|
|
202
|
+
typeof progress.file === "string") {
|
|
203
|
+
downloadProgress.register(progress.file);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (progress.status !== "progress" ||
|
|
207
|
+
typeof progress.file !== "string" ||
|
|
208
|
+
typeof progress.loaded !== "number") {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
downloadProgress.report({
|
|
212
|
+
artifact: progress.file,
|
|
213
|
+
downloadedBytes: progress.loaded,
|
|
214
|
+
totalBytes: progress.total,
|
|
215
|
+
});
|
|
216
|
+
},
|
|
217
|
+
...(executionProvider
|
|
218
|
+
? { session_options: { executionProviders: [executionProvider] } }
|
|
219
|
+
: {}),
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
ensureNotDisposed() {
|
|
223
|
+
if (this.disposed) {
|
|
224
|
+
throw new EngineError("Transformers.js embedding model is disposed", {
|
|
225
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_DISPOSED",
|
|
226
|
+
context: `model=${this.entry.reference}`,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
async function findTruncatedInputIndexes(tokenizer, texts, maxInputTokens) {
|
|
232
|
+
const encoded = await tokenizer(texts, {
|
|
233
|
+
truncation: true,
|
|
234
|
+
max_length: maxInputTokens + 1,
|
|
235
|
+
padding: true,
|
|
236
|
+
});
|
|
237
|
+
const mask = encoded.attention_mask;
|
|
238
|
+
const [batchSize, sequenceLength] = mask.dims;
|
|
239
|
+
if (mask.dims.length !== 2 ||
|
|
240
|
+
batchSize !== texts.length ||
|
|
241
|
+
!Number.isInteger(sequenceLength) ||
|
|
242
|
+
sequenceLength < 0 ||
|
|
243
|
+
mask.data.length !== batchSize * sequenceLength) {
|
|
244
|
+
throw new Error("Transformers.js tokenizer returned an unexpected mask");
|
|
245
|
+
}
|
|
246
|
+
const truncatedInputIndexes = [];
|
|
247
|
+
for (let inputIndex = 0; inputIndex < batchSize; inputIndex++) {
|
|
248
|
+
let tokenCount = 0;
|
|
249
|
+
const offset = inputIndex * sequenceLength;
|
|
250
|
+
for (let tokenIndex = 0; tokenIndex < sequenceLength; tokenIndex++) {
|
|
251
|
+
if (Number(mask.data[offset + tokenIndex]) !== 0) {
|
|
252
|
+
tokenCount++;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (tokenCount > maxInputTokens) {
|
|
256
|
+
truncatedInputIndexes.push(inputIndex);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return truncatedInputIndexes;
|
|
260
|
+
}
|
|
261
|
+
function resolveExecutionProvider(device) {
|
|
262
|
+
if (device === undefined) {
|
|
263
|
+
return null;
|
|
264
|
+
}
|
|
265
|
+
if (device === "cpu") {
|
|
266
|
+
return "cpu";
|
|
267
|
+
}
|
|
268
|
+
if (device === "metal" || device === "vulkan") {
|
|
269
|
+
return "webgpu";
|
|
270
|
+
}
|
|
271
|
+
if (device === "cuda") {
|
|
272
|
+
return "cuda";
|
|
273
|
+
}
|
|
274
|
+
if (process.platform === "win32") {
|
|
275
|
+
return "dml";
|
|
276
|
+
}
|
|
277
|
+
if (process.platform === "linux" && process.arch === "x64") {
|
|
278
|
+
return "cuda";
|
|
279
|
+
}
|
|
280
|
+
return "webgpu";
|
|
281
|
+
}
|
|
282
|
+
function formatErrorMessage(error) {
|
|
283
|
+
return error instanceof Error ? error.message : String(error);
|
|
284
|
+
}
|
|
285
|
+
function formatText(text, purpose, entry) {
|
|
286
|
+
const prefix = purpose === "query"
|
|
287
|
+
? "queryPrefix" in entry
|
|
288
|
+
? entry.queryPrefix
|
|
289
|
+
: undefined
|
|
290
|
+
: "documentPrefix" in entry
|
|
291
|
+
? entry.documentPrefix
|
|
292
|
+
: undefined;
|
|
293
|
+
return prefix ? `${prefix}${text}` : text;
|
|
294
|
+
}
|
|
295
|
+
function tensorToVectors(tensor, count, dimension) {
|
|
296
|
+
if (tensor.dims.length !== 2 ||
|
|
297
|
+
tensor.dims[0] !== count ||
|
|
298
|
+
tensor.dims[1] !== dimension ||
|
|
299
|
+
tensor.data.length !== count * dimension) {
|
|
300
|
+
throw new EngineError("Transformers.js returned an unexpected tensor", {
|
|
301
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_INVALID_TENSOR",
|
|
302
|
+
context: `expected=${count}x${dimension} actual=${tensor.dims.join("x")}`,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
return Array.from({ length: count }, (_, index) => Array.from({ length: dimension }, (__, offset) => {
|
|
306
|
+
const value = tensor.data[index * dimension + offset];
|
|
307
|
+
if (!Number.isFinite(value)) {
|
|
308
|
+
throw new EngineError("Transformers.js returned a non-finite tensor value", {
|
|
309
|
+
code: "ZVEC_GREP.ENGINE.MODELS.TRANSFORMERS_JS_INVALID_TENSOR",
|
|
310
|
+
context: `index=${index} offset=${offset}`,
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
return value;
|
|
314
|
+
}));
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=transformers-js.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformers-js.js","sourceRoot":"","sources":["../../../../src/engine/models/backends/transformers-js.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,7 @@
|
|
|
1
|
-
import type { EmbeddingCatalogEntry, ModelRef } from "./types.js";
|
|
2
|
-
export declare const MODEL_CATALOG: {
|
|
3
|
-
readonly openai: {
|
|
4
|
-
readonly embedding: readonly ["text-embedding-3-small", "text-embedding-3-large"];
|
|
5
|
-
readonly ranking: readonly [];
|
|
6
|
-
};
|
|
7
|
-
readonly qwen: {
|
|
8
|
-
readonly embedding: readonly ["text-embedding-v4", "qwen3-vl-embedding"];
|
|
9
|
-
readonly ranking: readonly ["gte-rerank-v2"];
|
|
10
|
-
};
|
|
11
|
-
readonly jina: {
|
|
12
|
-
readonly embedding: readonly ["jina-embeddings-v3"];
|
|
13
|
-
readonly ranking: readonly ["jina-reranker-v2-base-multilingual"];
|
|
14
|
-
};
|
|
15
|
-
readonly local: {
|
|
16
|
-
readonly embedding: readonly ["embeddinggemma-300m", "qwen3-embedding-0.6b"];
|
|
17
|
-
readonly ranking: readonly [];
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
1
|
export declare const EMBEDDING_MODEL_CATALOG: {
|
|
21
2
|
readonly "local/embeddinggemma-300m": {
|
|
22
|
-
readonly
|
|
3
|
+
readonly backend: "llama-cpp";
|
|
4
|
+
readonly reference: "local/embeddinggemma-300m";
|
|
23
5
|
readonly provider: "local";
|
|
24
6
|
readonly model: "embeddinggemma-300m";
|
|
25
7
|
readonly uri: "hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf";
|
|
@@ -30,7 +12,8 @@ export declare const EMBEDDING_MODEL_CATALOG: {
|
|
|
30
12
|
readonly maxBatchSize: 16;
|
|
31
13
|
};
|
|
32
14
|
readonly "local/qwen3-embedding-0.6b": {
|
|
33
|
-
readonly
|
|
15
|
+
readonly backend: "llama-cpp";
|
|
16
|
+
readonly reference: "local/qwen3-embedding-0.6b";
|
|
34
17
|
readonly provider: "local";
|
|
35
18
|
readonly model: "qwen3-embedding-0.6b";
|
|
36
19
|
readonly uri: "hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf";
|
|
@@ -40,8 +23,190 @@ export declare const EMBEDDING_MODEL_CATALOG: {
|
|
|
40
23
|
readonly contextSize: 8192;
|
|
41
24
|
readonly maxBatchSize: 8;
|
|
42
25
|
};
|
|
26
|
+
readonly "qwen/text-embedding-v4": {
|
|
27
|
+
readonly backend: "qwen";
|
|
28
|
+
readonly kind: "text";
|
|
29
|
+
readonly reference: "qwen/text-embedding-v4";
|
|
30
|
+
readonly provider: "qwen";
|
|
31
|
+
readonly model: "text-embedding-v4";
|
|
32
|
+
readonly dimension: 1024;
|
|
33
|
+
readonly metric: "cosine";
|
|
34
|
+
readonly defaultEndpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings";
|
|
35
|
+
readonly maxBatchSize: 10;
|
|
36
|
+
readonly maxInputTokens: 8192;
|
|
37
|
+
};
|
|
38
|
+
readonly "qwen/qwen3.7-text-embedding": {
|
|
39
|
+
readonly backend: "qwen";
|
|
40
|
+
readonly kind: "text";
|
|
41
|
+
readonly reference: "qwen/qwen3.7-text-embedding";
|
|
42
|
+
readonly provider: "qwen";
|
|
43
|
+
readonly model: "qwen3.7-text-embedding";
|
|
44
|
+
readonly dimension: 1024;
|
|
45
|
+
readonly metric: "cosine";
|
|
46
|
+
readonly defaultEndpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings";
|
|
47
|
+
readonly maxBatchSize: 20;
|
|
48
|
+
readonly maxInputTokens: 128000;
|
|
49
|
+
};
|
|
50
|
+
readonly "qwen/qwen3-vl-embedding": {
|
|
51
|
+
readonly backend: "qwen";
|
|
52
|
+
readonly kind: "multimodal";
|
|
53
|
+
readonly reference: "qwen/qwen3-vl-embedding";
|
|
54
|
+
readonly provider: "qwen";
|
|
55
|
+
readonly model: "qwen3-vl-embedding";
|
|
56
|
+
readonly dimension: 2560;
|
|
57
|
+
readonly metric: "cosine";
|
|
58
|
+
readonly defaultEndpoint: "https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding";
|
|
59
|
+
readonly maxBatchSize: 20;
|
|
60
|
+
readonly maxInputTokens: 32000;
|
|
61
|
+
readonly maxImageBytes: number;
|
|
62
|
+
};
|
|
63
|
+
readonly "local/bge-small-en-v1.5": {
|
|
64
|
+
readonly backend: "transformers-js";
|
|
65
|
+
readonly reference: "local/bge-small-en-v1.5";
|
|
66
|
+
readonly provider: "local";
|
|
67
|
+
readonly model: "bge-small-en-v1.5";
|
|
68
|
+
readonly repo: "onnx-community/bge-small-en-v1.5-ONNX";
|
|
69
|
+
readonly revision: "4a9a46c7b88fa408e650a571a1800243f26309bd";
|
|
70
|
+
readonly dtype: "q4";
|
|
71
|
+
readonly dimension: 384;
|
|
72
|
+
readonly metric: "cosine";
|
|
73
|
+
readonly pooling: "cls";
|
|
74
|
+
readonly normalize: true;
|
|
75
|
+
readonly queryPrefix: "Represent this sentence for searching relevant passages: ";
|
|
76
|
+
readonly maxInputTokens: 512;
|
|
77
|
+
readonly maxBatchSize: 4;
|
|
78
|
+
};
|
|
79
|
+
readonly "local/all-minilm-l6-v2": {
|
|
80
|
+
readonly backend: "transformers-js";
|
|
81
|
+
readonly reference: "local/all-minilm-l6-v2";
|
|
82
|
+
readonly provider: "local";
|
|
83
|
+
readonly model: "all-minilm-l6-v2";
|
|
84
|
+
readonly repo: "onnx-community/all-MiniLM-L6-v2-ONNX";
|
|
85
|
+
readonly revision: "aff7a1dc4e8a1ea593e6ea21e95c22ef0a25966f";
|
|
86
|
+
readonly dtype: "q4";
|
|
87
|
+
readonly dimension: 384;
|
|
88
|
+
readonly metric: "cosine";
|
|
89
|
+
readonly pooling: "mean";
|
|
90
|
+
readonly normalize: true;
|
|
91
|
+
readonly maxInputTokens: 256;
|
|
92
|
+
readonly maxBatchSize: 4;
|
|
93
|
+
};
|
|
94
|
+
readonly "local/potion-base-8m": {
|
|
95
|
+
readonly backend: "model2vec";
|
|
96
|
+
readonly reference: "local/potion-base-8m";
|
|
97
|
+
readonly provider: "local";
|
|
98
|
+
readonly model: "potion-base-8m";
|
|
99
|
+
readonly repo: "minishlab/potion-base-8M";
|
|
100
|
+
readonly revision: "bf8b056651a2c21b8d2565580b8569da283cab23";
|
|
101
|
+
readonly modelFile: "model.safetensors";
|
|
102
|
+
readonly embeddingTensor: "embeddings";
|
|
103
|
+
readonly tokenizerFile: "tokenizer.json";
|
|
104
|
+
readonly dimension: 256;
|
|
105
|
+
readonly metric: "cosine";
|
|
106
|
+
readonly normalize: true;
|
|
107
|
+
readonly maxInputTokens: 512;
|
|
108
|
+
readonly maxBatchSize: 256;
|
|
109
|
+
};
|
|
110
|
+
readonly "local/potion-code-16m-v2": {
|
|
111
|
+
readonly backend: "model2vec";
|
|
112
|
+
readonly reference: "local/potion-code-16m-v2";
|
|
113
|
+
readonly provider: "local";
|
|
114
|
+
readonly model: "potion-code-16m-v2";
|
|
115
|
+
readonly repo: "minishlab/potion-code-16M-v2";
|
|
116
|
+
readonly revision: "e9d2a44ca6a05ac6685f3b23709ea57eb7352d5b";
|
|
117
|
+
readonly modelFile: "model.safetensors";
|
|
118
|
+
readonly embeddingTensor: "embeddings";
|
|
119
|
+
readonly tokenizerFile: "tokenizer.json";
|
|
120
|
+
readonly dimension: 256;
|
|
121
|
+
readonly metric: "cosine";
|
|
122
|
+
readonly normalize: true;
|
|
123
|
+
readonly maxInputTokens: 8192;
|
|
124
|
+
readonly maxBatchSize: 256;
|
|
125
|
+
};
|
|
126
|
+
readonly "local/multilingual-e5-small": {
|
|
127
|
+
readonly backend: "transformers-js";
|
|
128
|
+
readonly reference: "local/multilingual-e5-small";
|
|
129
|
+
readonly provider: "local";
|
|
130
|
+
readonly model: "multilingual-e5-small";
|
|
131
|
+
readonly repo: "Xenova/multilingual-e5-small";
|
|
132
|
+
readonly revision: "761b726dd34fb83930e26aab4e9ac3899aa1fa78";
|
|
133
|
+
readonly dtype: "q8";
|
|
134
|
+
readonly dimension: 384;
|
|
135
|
+
readonly metric: "cosine";
|
|
136
|
+
readonly pooling: "mean";
|
|
137
|
+
readonly normalize: true;
|
|
138
|
+
readonly queryPrefix: "query: ";
|
|
139
|
+
readonly documentPrefix: "passage: ";
|
|
140
|
+
readonly maxInputTokens: 512;
|
|
141
|
+
readonly maxBatchSize: 4;
|
|
142
|
+
};
|
|
143
|
+
readonly "local/jina-embeddings-v2-base-code": {
|
|
144
|
+
readonly backend: "transformers-js";
|
|
145
|
+
readonly reference: "local/jina-embeddings-v2-base-code";
|
|
146
|
+
readonly provider: "local";
|
|
147
|
+
readonly model: "jina-embeddings-v2-base-code";
|
|
148
|
+
readonly repo: "jinaai/jina-embeddings-v2-base-code";
|
|
149
|
+
readonly revision: "516f4baf13dec4ddddda8631e019b5737c8bc250";
|
|
150
|
+
readonly dtype: "q8";
|
|
151
|
+
readonly dimension: 768;
|
|
152
|
+
readonly metric: "cosine";
|
|
153
|
+
readonly pooling: "mean";
|
|
154
|
+
readonly normalize: true;
|
|
155
|
+
readonly maxInputTokens: 8192;
|
|
156
|
+
readonly maxBatchSize: 2;
|
|
157
|
+
};
|
|
158
|
+
readonly "local/gte-modernbert-base": {
|
|
159
|
+
readonly backend: "transformers-js";
|
|
160
|
+
readonly reference: "local/gte-modernbert-base";
|
|
161
|
+
readonly provider: "local";
|
|
162
|
+
readonly model: "gte-modernbert-base";
|
|
163
|
+
readonly repo: "Alibaba-NLP/gte-modernbert-base";
|
|
164
|
+
readonly revision: "e7f32e3c00f91d699e8c43b53106206bcc72bb22";
|
|
165
|
+
readonly dtype: "q4";
|
|
166
|
+
readonly dimension: 768;
|
|
167
|
+
readonly metric: "cosine";
|
|
168
|
+
readonly pooling: "cls";
|
|
169
|
+
readonly normalize: true;
|
|
170
|
+
readonly maxInputTokens: 8192;
|
|
171
|
+
readonly maxBatchSize: 2;
|
|
172
|
+
};
|
|
173
|
+
readonly "local/nomic-embed-text-v1.5": {
|
|
174
|
+
readonly backend: "transformers-js";
|
|
175
|
+
readonly reference: "local/nomic-embed-text-v1.5";
|
|
176
|
+
readonly provider: "local";
|
|
177
|
+
readonly model: "nomic-embed-text-v1.5";
|
|
178
|
+
readonly repo: "nomic-ai/nomic-embed-text-v1.5";
|
|
179
|
+
readonly revision: "e9b6763023c676ca8431644204f50c2b100d9aab";
|
|
180
|
+
readonly dtype: "q4";
|
|
181
|
+
readonly dimension: 768;
|
|
182
|
+
readonly metric: "cosine";
|
|
183
|
+
readonly pooling: "mean";
|
|
184
|
+
readonly normalize: true;
|
|
185
|
+
readonly queryPrefix: "search_query: ";
|
|
186
|
+
readonly documentPrefix: "search_document: ";
|
|
187
|
+
readonly maxInputTokens: 8192;
|
|
188
|
+
readonly maxBatchSize: 2;
|
|
189
|
+
};
|
|
43
190
|
};
|
|
191
|
+
export type EmbeddingCatalogEntry = (typeof EMBEDDING_MODEL_CATALOG)[keyof typeof EMBEDDING_MODEL_CATALOG];
|
|
192
|
+
export type LlamaCppEmbeddingCatalogEntry = Extract<EmbeddingCatalogEntry, {
|
|
193
|
+
backend: "llama-cpp";
|
|
194
|
+
}>;
|
|
195
|
+
export type TransformersJsEmbeddingCatalogEntry = Extract<EmbeddingCatalogEntry, {
|
|
196
|
+
backend: "transformers-js";
|
|
197
|
+
}>;
|
|
198
|
+
export type Model2VecEmbeddingCatalogEntry = Extract<EmbeddingCatalogEntry, {
|
|
199
|
+
backend: "model2vec";
|
|
200
|
+
}>;
|
|
201
|
+
export type QwenEmbeddingCatalogEntry = Extract<EmbeddingCatalogEntry, {
|
|
202
|
+
backend: "qwen";
|
|
203
|
+
}>;
|
|
204
|
+
export type QwenTextEmbeddingCatalogEntry = Extract<QwenEmbeddingCatalogEntry, {
|
|
205
|
+
kind: "text";
|
|
206
|
+
}>;
|
|
207
|
+
export type QwenMultimodalEmbeddingCatalogEntry = Extract<QwenEmbeddingCatalogEntry, {
|
|
208
|
+
kind: "multimodal";
|
|
209
|
+
}>;
|
|
44
210
|
export type EmbeddingModelCatalogId = keyof typeof EMBEDDING_MODEL_CATALOG;
|
|
45
211
|
export declare function listEmbeddingModels(): EmbeddingCatalogEntry[];
|
|
46
|
-
export declare function getEmbeddingModelCatalogEntry(
|
|
47
|
-
export declare function getEmbeddingModelCatalogEntryByRef(ref: ModelRef): EmbeddingCatalogEntry | undefined;
|
|
212
|
+
export declare function getEmbeddingModelCatalogEntry(reference: string): EmbeddingCatalogEntry | undefined;
|