@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Content } from "
|
|
2
|
-
import {
|
|
3
|
-
import type { LlamaCppEmbeddingCatalogEntry
|
|
1
|
+
import type { Content } from "../../types.js";
|
|
2
|
+
import { BaseEmbeddingModel, type CreateEmbeddingModelOptions, type EmbeddingModelInfo, type EmbeddingResult, type NormalizedEmbeddingOptions } from "../embeddings.js";
|
|
3
|
+
import type { LlamaCppEmbeddingCatalogEntry } from "../catalog.js";
|
|
4
4
|
type LlamaEmbedding = {
|
|
5
5
|
vector: ArrayLike<number>;
|
|
6
6
|
};
|
|
@@ -30,35 +30,38 @@ type Llama = {
|
|
|
30
30
|
}): Promise<LlamaModel>;
|
|
31
31
|
dispose?(): Promise<void> | void;
|
|
32
32
|
};
|
|
33
|
+
type LlamaGpuSelection = Exclude<NonNullable<CreateEmbeddingModelOptions["device"]>, "cpu"> | false;
|
|
33
34
|
type NodeLlamaCppModule = {
|
|
34
35
|
getLlama(options: Record<string, unknown>): Promise<Llama>;
|
|
35
36
|
resolveModelFile(model: string, options: {
|
|
36
37
|
directory: string;
|
|
37
38
|
cli?: boolean;
|
|
39
|
+
onProgress?: (status: {
|
|
40
|
+
totalSize: number;
|
|
41
|
+
downloadedSize: number;
|
|
42
|
+
}) => void;
|
|
38
43
|
}): Promise<string>;
|
|
39
44
|
LlamaLogLevel?: {
|
|
40
45
|
error?: unknown;
|
|
41
46
|
};
|
|
42
47
|
};
|
|
43
48
|
type NodeLlamaCppLoader = () => Promise<NodeLlamaCppModule>;
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
type LlamaCppRuntimeState = {
|
|
50
|
+
failedGpuInitModes: Set<LlamaGpuSelection>;
|
|
51
|
+
cpuCompatibleFallbackWarningShown: boolean;
|
|
52
|
+
};
|
|
53
|
+
type LlamaCppDependencies = {
|
|
54
|
+
loadRuntime: NodeLlamaCppLoader;
|
|
55
|
+
runtimeState: LlamaCppRuntimeState;
|
|
56
|
+
};
|
|
57
|
+
export declare class LlamaCppEmbeddingModel extends BaseEmbeddingModel {
|
|
46
58
|
private readonly entry;
|
|
47
|
-
readonly
|
|
48
|
-
readonly provider: "local";
|
|
49
|
-
readonly model: string;
|
|
50
|
-
};
|
|
51
|
-
readonly dimension: number;
|
|
52
|
-
readonly metric: import("../../types.js").VectorMetric;
|
|
53
|
-
readonly supportedContentKinds: readonly ["text"];
|
|
54
|
-
readonly limits: {
|
|
55
|
-
readonly maxBatchSize: number;
|
|
56
|
-
readonly maxInputTokens: number;
|
|
57
|
-
};
|
|
58
|
-
readonly recommendedIndexConcurrency = 1;
|
|
59
|
+
readonly info: EmbeddingModelInfo;
|
|
59
60
|
private readonly modelCacheDir;
|
|
60
61
|
private readonly gpu;
|
|
61
|
-
private readonly
|
|
62
|
+
private readonly parallelism?;
|
|
63
|
+
private readonly dependencies;
|
|
64
|
+
private runtimeImport;
|
|
62
65
|
private llama;
|
|
63
66
|
private model;
|
|
64
67
|
private contexts;
|
|
@@ -67,11 +70,13 @@ export declare class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
67
70
|
private contextsCreatePromise;
|
|
68
71
|
private usingCpuFallback;
|
|
69
72
|
private disposed;
|
|
70
|
-
constructor(entry: LlamaCppEmbeddingCatalogEntry, options:
|
|
71
|
-
protected doEmbed(contents: readonly Content[], options:
|
|
73
|
+
constructor(entry: LlamaCppEmbeddingCatalogEntry, options: CreateEmbeddingModelOptions, dependencies?: Partial<LlamaCppDependencies>);
|
|
74
|
+
protected doEmbed(contents: readonly Content[], options: NormalizedEmbeddingOptions): Promise<EmbeddingResult>;
|
|
75
|
+
private embedBatch;
|
|
72
76
|
dispose(): Promise<void>;
|
|
73
77
|
private embedTexts;
|
|
74
78
|
private ensureLlama;
|
|
79
|
+
private loadRuntime;
|
|
75
80
|
private loadLlamaWithFallback;
|
|
76
81
|
private loadCpuCompatibleLlama;
|
|
77
82
|
private ensureModel;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { closeSync, existsSync, mkdirSync, openSync, readSync, statSync, unlinkSync, } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { EngineError } from "
|
|
4
|
-
import { defaultHome } from "
|
|
5
|
-
import {
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { EngineError } from "../../errors.js";
|
|
4
|
+
import { defaultHome } from "../../utils/path.js";
|
|
5
|
+
import { BaseEmbeddingModel, } from "../embeddings.js";
|
|
6
|
+
import { createModelDownloadProgressReporter, } from "../download-progress.js";
|
|
6
7
|
const DEFAULT_MODEL_CACHE_DIR = join(defaultHome(), "models");
|
|
7
8
|
const GGUF_MAGIC = Buffer.from("GGUF");
|
|
8
9
|
const DEFAULT_PARALLELISM_CAP = 8;
|
|
@@ -14,10 +15,6 @@ const DEFAULT_DARWIN_ARM64_CMAKE_OPTIONS = {
|
|
|
14
15
|
GGML_NATIVE: "OFF",
|
|
15
16
|
};
|
|
16
17
|
const SUPPRESSED_LLAMA_CPP_LOG_MESSAGES = new Set(["Failed to get swap info"]);
|
|
17
|
-
let nodeLlamaCppImport = null;
|
|
18
|
-
let nodeLlamaCppLoader = defaultNodeLlamaCppLoader;
|
|
19
|
-
const failedGpuInitModes = new Set();
|
|
20
|
-
let cpuCompatibleFallbackWarningShown = false;
|
|
21
18
|
async function defaultNodeLlamaCppLoader() {
|
|
22
19
|
const moduleName = "node-llama-cpp";
|
|
23
20
|
try {
|
|
@@ -41,27 +38,25 @@ function installDarwinMetalResidencyMitigation() {
|
|
|
41
38
|
}
|
|
42
39
|
process.env.GGML_METAL_NO_RESIDENCY ??= "1";
|
|
43
40
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
41
|
+
let defaultRuntimeImport = null;
|
|
42
|
+
const defaultDependencies = {
|
|
43
|
+
loadRuntime() {
|
|
44
|
+
defaultRuntimeImport ??= defaultNodeLlamaCppLoader();
|
|
45
|
+
return defaultRuntimeImport;
|
|
46
|
+
},
|
|
47
|
+
runtimeState: {
|
|
48
|
+
failedGpuInitModes: new Set(),
|
|
49
|
+
cpuCompatibleFallbackWarningShown: false,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
export class LlamaCppEmbeddingModel extends BaseEmbeddingModel {
|
|
55
53
|
entry;
|
|
56
|
-
|
|
57
|
-
dimension;
|
|
58
|
-
metric;
|
|
59
|
-
supportedContentKinds = ["text"];
|
|
60
|
-
limits;
|
|
61
|
-
recommendedIndexConcurrency = 1;
|
|
54
|
+
info;
|
|
62
55
|
modelCacheDir;
|
|
63
56
|
gpu;
|
|
64
|
-
|
|
57
|
+
parallelism;
|
|
58
|
+
dependencies;
|
|
59
|
+
runtimeImport = null;
|
|
65
60
|
llama = null;
|
|
66
61
|
model = null;
|
|
67
62
|
contexts = [];
|
|
@@ -70,39 +65,42 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
70
65
|
contextsCreatePromise = null;
|
|
71
66
|
usingCpuFallback = false;
|
|
72
67
|
disposed = false;
|
|
73
|
-
constructor(entry, options) {
|
|
68
|
+
constructor(entry, options, dependencies = {}) {
|
|
74
69
|
super();
|
|
75
70
|
this.entry = entry;
|
|
76
|
-
this.
|
|
71
|
+
this.info = {
|
|
72
|
+
reference: entry.reference,
|
|
77
73
|
provider: entry.provider,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
name: entry.model,
|
|
75
|
+
dimension: entry.dimension,
|
|
76
|
+
metric: entry.metric,
|
|
77
|
+
inputKinds: ["text"],
|
|
78
|
+
limits: {
|
|
79
|
+
maxBatchSize: entry.maxBatchSize,
|
|
80
|
+
maxInputTokens: entry.contextSize,
|
|
81
|
+
},
|
|
85
82
|
};
|
|
86
83
|
this.modelCacheDir =
|
|
87
84
|
options.modelCacheDir ??
|
|
88
85
|
process.env.ZVEC_GREP_MODEL_CACHE ??
|
|
89
86
|
DEFAULT_MODEL_CACHE_DIR;
|
|
90
|
-
this.gpu =
|
|
91
|
-
|
|
92
|
-
this.
|
|
93
|
-
options.embeddingParallelism ??
|
|
94
|
-
resolveParallelismOverride(process.env.ZVEC_GREP_EMBED_PARALLELISM);
|
|
87
|
+
this.gpu = embeddingDeviceToLlamaGpuSelection(options.device ?? "cpu");
|
|
88
|
+
this.parallelism = resolveParallelismOverride(process.env.ZVEC_GREP_LLAMA_CONTEXT_PARALLELISM);
|
|
89
|
+
this.dependencies = { ...defaultDependencies, ...dependencies };
|
|
95
90
|
}
|
|
96
91
|
async doEmbed(contents, options) {
|
|
92
|
+
return await this.embedBatch(contents, options);
|
|
93
|
+
}
|
|
94
|
+
async embedBatch(contents, options) {
|
|
97
95
|
this.ensureNotDisposed();
|
|
98
96
|
const texts = contents.map((content) => formatTextForEmbedding(content.text, options.purpose, this.entry));
|
|
99
97
|
try {
|
|
100
|
-
return await this.embedTexts(texts);
|
|
98
|
+
return await this.embedTexts(texts, options.onProgress);
|
|
101
99
|
}
|
|
102
100
|
catch (cause) {
|
|
103
101
|
throw new EngineError("llama.cpp embedding failed", {
|
|
104
102
|
code: "ZVEC_GREP.ENGINE.MODELS.LLAMA_CPP_EMBED_FAILED",
|
|
105
|
-
context: `model=${this.entry.
|
|
103
|
+
context: `model=${this.entry.reference}`,
|
|
106
104
|
cause,
|
|
107
105
|
});
|
|
108
106
|
}
|
|
@@ -116,34 +114,44 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
116
114
|
this.modelLoadPromise = null;
|
|
117
115
|
this.contextsCreatePromise = null;
|
|
118
116
|
}
|
|
119
|
-
async embedTexts(texts) {
|
|
120
|
-
const contexts = await this.ensureEmbeddingContexts(texts.length);
|
|
117
|
+
async embedTexts(texts, onProgress) {
|
|
118
|
+
const contexts = await this.ensureEmbeddingContexts(texts.length, onProgress);
|
|
119
|
+
const truncatedInputIndexes = [];
|
|
120
|
+
const safeTexts = texts.map((text, index) => {
|
|
121
|
+
const result = this.truncateToContextSize(text);
|
|
122
|
+
if (result.truncated) {
|
|
123
|
+
truncatedInputIndexes.push(index);
|
|
124
|
+
}
|
|
125
|
+
return result.text;
|
|
126
|
+
});
|
|
121
127
|
const chunkSize = Math.ceil(texts.length / contexts.length);
|
|
122
128
|
const chunks = contexts
|
|
123
129
|
.map((context, index) => ({
|
|
124
130
|
context,
|
|
125
|
-
texts:
|
|
131
|
+
texts: safeTexts.slice(index * chunkSize, (index + 1) * chunkSize),
|
|
126
132
|
}))
|
|
127
133
|
.filter((chunk) => chunk.texts.length > 0);
|
|
128
134
|
const results = await Promise.all(chunks.map(async (chunk) => {
|
|
129
135
|
const vectors = [];
|
|
130
136
|
for (const text of chunk.texts) {
|
|
131
|
-
const
|
|
132
|
-
const embedding = await chunk.context.getEmbeddingFor(safeText);
|
|
137
|
+
const embedding = await chunk.context.getEmbeddingFor(text);
|
|
133
138
|
vectors.push(Array.from(embedding.vector));
|
|
134
139
|
}
|
|
135
140
|
return vectors;
|
|
136
141
|
}));
|
|
137
|
-
return
|
|
142
|
+
return {
|
|
143
|
+
vectors: results.flat(),
|
|
144
|
+
truncated: truncatedInputIndexes,
|
|
145
|
+
};
|
|
138
146
|
}
|
|
139
|
-
async ensureLlama() {
|
|
147
|
+
async ensureLlama(downloadProgress) {
|
|
140
148
|
if (this.llama) {
|
|
141
149
|
return this.llama;
|
|
142
150
|
}
|
|
143
151
|
if (this.llamaLoadPromise) {
|
|
144
152
|
return await this.llamaLoadPromise;
|
|
145
153
|
}
|
|
146
|
-
this.llamaLoadPromise = this.loadLlamaWithFallback();
|
|
154
|
+
this.llamaLoadPromise = this.loadLlamaWithFallback(downloadProgress);
|
|
147
155
|
try {
|
|
148
156
|
return await this.llamaLoadPromise;
|
|
149
157
|
}
|
|
@@ -151,8 +159,12 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
151
159
|
this.llamaLoadPromise = null;
|
|
152
160
|
}
|
|
153
161
|
}
|
|
154
|
-
async
|
|
155
|
-
|
|
162
|
+
async loadRuntime() {
|
|
163
|
+
this.runtimeImport ??= this.dependencies.loadRuntime();
|
|
164
|
+
return await this.runtimeImport;
|
|
165
|
+
}
|
|
166
|
+
async loadLlamaWithFallback(downloadProgress) {
|
|
167
|
+
const runtime = await this.loadRuntime();
|
|
156
168
|
const requestedGpu = this.usingCpuFallback ? false : this.gpu;
|
|
157
169
|
const load = (gpu) => runtime.getLlama({
|
|
158
170
|
build: "autoAttempt",
|
|
@@ -163,46 +175,46 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
163
175
|
progressLogs: false,
|
|
164
176
|
});
|
|
165
177
|
if (requestedGpu === false) {
|
|
166
|
-
this.llama = await this.loadCpuCompatibleLlama(load);
|
|
178
|
+
this.llama = await this.loadCpuCompatibleLlama(load, downloadProgress);
|
|
167
179
|
return this.llama;
|
|
168
180
|
}
|
|
169
|
-
if (failedGpuInitModes.has(requestedGpu)) {
|
|
170
|
-
|
|
181
|
+
if (this.dependencies.runtimeState.failedGpuInitModes.has(requestedGpu)) {
|
|
182
|
+
reportLlamaWarning(downloadProgress, `skipping previously failed llama.cpp GPU init${requestedGpu === "auto" ? "" : ` for device=${requestedGpu}`}, using CPU.`);
|
|
171
183
|
this.usingCpuFallback = true;
|
|
172
|
-
this.llama = await this.loadCpuCompatibleLlama(load);
|
|
184
|
+
this.llama = await this.loadCpuCompatibleLlama(load, downloadProgress);
|
|
173
185
|
return this.llama;
|
|
174
186
|
}
|
|
175
187
|
try {
|
|
176
188
|
this.llama = await load(requestedGpu);
|
|
177
189
|
}
|
|
178
190
|
catch (error) {
|
|
179
|
-
failedGpuInitModes.add(requestedGpu);
|
|
180
|
-
|
|
191
|
+
this.dependencies.runtimeState.failedGpuInitModes.add(requestedGpu);
|
|
192
|
+
reportLlamaWarning(downloadProgress, `llama.cpp GPU init failed (${formatErrorMessage(error)}), falling back to CPU.`);
|
|
181
193
|
this.usingCpuFallback = true;
|
|
182
|
-
this.llama = await this.loadCpuCompatibleLlama(load);
|
|
194
|
+
this.llama = await this.loadCpuCompatibleLlama(load, downloadProgress);
|
|
183
195
|
}
|
|
184
196
|
return this.llama;
|
|
185
197
|
}
|
|
186
|
-
async loadCpuCompatibleLlama(load) {
|
|
198
|
+
async loadCpuCompatibleLlama(load, downloadProgress) {
|
|
187
199
|
try {
|
|
188
200
|
return await load(false);
|
|
189
201
|
}
|
|
190
202
|
catch (error) {
|
|
191
|
-
if (!cpuCompatibleFallbackWarningShown) {
|
|
192
|
-
cpuCompatibleFallbackWarningShown = true;
|
|
193
|
-
|
|
203
|
+
if (!this.dependencies.runtimeState.cpuCompatibleFallbackWarningShown) {
|
|
204
|
+
this.dependencies.runtimeState.cpuCompatibleFallbackWarningShown = true;
|
|
205
|
+
reportLlamaWarning(downloadProgress, `CPU-only llama.cpp backend unavailable (${formatErrorMessage(error)}); using packaged backend with GPU model offloading disabled.`);
|
|
194
206
|
}
|
|
195
207
|
return await load("auto");
|
|
196
208
|
}
|
|
197
209
|
}
|
|
198
|
-
async ensureModel() {
|
|
210
|
+
async ensureModel(onProgress) {
|
|
199
211
|
if (this.model) {
|
|
200
212
|
return this.model;
|
|
201
213
|
}
|
|
202
214
|
if (this.modelLoadPromise) {
|
|
203
215
|
return await this.modelLoadPromise;
|
|
204
216
|
}
|
|
205
|
-
this.modelLoadPromise = this.loadModelWithFallback();
|
|
217
|
+
this.modelLoadPromise = this.loadModelWithFallback(onProgress);
|
|
206
218
|
try {
|
|
207
219
|
return await this.modelLoadPromise;
|
|
208
220
|
}
|
|
@@ -210,23 +222,32 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
210
222
|
this.modelLoadPromise = null;
|
|
211
223
|
}
|
|
212
224
|
}
|
|
213
|
-
async loadModelWithFallback() {
|
|
225
|
+
async loadModelWithFallback(onProgress) {
|
|
226
|
+
const downloadProgress = createModelDownloadProgressReporter(this.entry.reference, onProgress, [basename(this.entry.uri)]);
|
|
227
|
+
downloadProgress.start();
|
|
214
228
|
try {
|
|
215
|
-
|
|
229
|
+
const model = await this.loadModel(downloadProgress);
|
|
230
|
+
downloadProgress.finish();
|
|
231
|
+
return model;
|
|
216
232
|
}
|
|
217
233
|
catch (error) {
|
|
218
234
|
if (!this.canRetryGpuOperationOnCpu()) {
|
|
219
235
|
throw error;
|
|
220
236
|
}
|
|
221
|
-
|
|
237
|
+
const warning = `llama.cpp GPU model load failed (${formatErrorMessage(error)}), falling back to CPU.`;
|
|
238
|
+
if (!downloadProgress.warning(warning)) {
|
|
239
|
+
process.stderr.write(`zvec-grep warning: ${warning}\n`);
|
|
240
|
+
}
|
|
222
241
|
this.usingCpuFallback = true;
|
|
223
242
|
await this.disposeLoadedRuntime();
|
|
224
|
-
|
|
243
|
+
const model = await this.loadModel(downloadProgress);
|
|
244
|
+
downloadProgress.finish();
|
|
245
|
+
return model;
|
|
225
246
|
}
|
|
226
247
|
}
|
|
227
|
-
async loadModel() {
|
|
228
|
-
const
|
|
229
|
-
const
|
|
248
|
+
async loadModel(downloadProgress) {
|
|
249
|
+
const modelPath = await this.resolveModelPath(downloadProgress);
|
|
250
|
+
const llama = await this.ensureLlama(downloadProgress);
|
|
230
251
|
const model = await llama.loadModel(this.modelLoadOptions(modelPath));
|
|
231
252
|
this.model = model;
|
|
232
253
|
return model;
|
|
@@ -237,7 +258,7 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
237
258
|
...(this.shouldDisableModelGpuOffload() ? { gpuLayers: 0 } : {}),
|
|
238
259
|
};
|
|
239
260
|
}
|
|
240
|
-
async ensureEmbeddingContexts(textCount) {
|
|
261
|
+
async ensureEmbeddingContexts(textCount, onProgress) {
|
|
241
262
|
const targetParallelism = await this.resolveEffectiveParallelism(textCount);
|
|
242
263
|
if (this.contexts.length >= targetParallelism) {
|
|
243
264
|
return this.contexts.slice(0, targetParallelism);
|
|
@@ -248,8 +269,7 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
248
269
|
return this.contexts.slice(0, targetParallelism);
|
|
249
270
|
}
|
|
250
271
|
}
|
|
251
|
-
this.contextsCreatePromise =
|
|
252
|
-
this.createEmbeddingContextsWithFallback(targetParallelism);
|
|
272
|
+
this.contextsCreatePromise = this.createEmbeddingContextsWithFallback(targetParallelism, onProgress);
|
|
253
273
|
try {
|
|
254
274
|
await this.contextsCreatePromise;
|
|
255
275
|
return this.contexts.slice(0, targetParallelism);
|
|
@@ -258,9 +278,9 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
258
278
|
this.contextsCreatePromise = null;
|
|
259
279
|
}
|
|
260
280
|
}
|
|
261
|
-
async createEmbeddingContextsWithFallback(targetParallelism) {
|
|
281
|
+
async createEmbeddingContextsWithFallback(targetParallelism, onProgress) {
|
|
262
282
|
try {
|
|
263
|
-
return await this.createEmbeddingContexts(targetParallelism);
|
|
283
|
+
return await this.createEmbeddingContexts(targetParallelism, onProgress);
|
|
264
284
|
}
|
|
265
285
|
catch (error) {
|
|
266
286
|
if (!this.canRetryGpuOperationOnCpu()) {
|
|
@@ -269,11 +289,11 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
269
289
|
process.stderr.write(`zvec-grep warning: llama.cpp GPU embedding context failed (${formatErrorMessage(error)}), falling back to CPU.\n`);
|
|
270
290
|
this.usingCpuFallback = true;
|
|
271
291
|
await this.disposeLoadedRuntime();
|
|
272
|
-
return await this.createEmbeddingContexts(targetParallelism);
|
|
292
|
+
return await this.createEmbeddingContexts(targetParallelism, onProgress);
|
|
273
293
|
}
|
|
274
294
|
}
|
|
275
|
-
async createEmbeddingContexts(targetParallelism) {
|
|
276
|
-
const model = await this.ensureModel();
|
|
295
|
+
async createEmbeddingContexts(targetParallelism, onProgress) {
|
|
296
|
+
const model = await this.ensureModel(onProgress);
|
|
277
297
|
const threads = await this.resolveThreadsPerContext(targetParallelism);
|
|
278
298
|
const initialContextCount = this.contexts.length;
|
|
279
299
|
while (this.contexts.length < targetParallelism) {
|
|
@@ -318,19 +338,26 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
318
338
|
this.modelLoadPromise = null;
|
|
319
339
|
this.llamaLoadPromise = null;
|
|
320
340
|
}
|
|
321
|
-
async resolveModelPath() {
|
|
341
|
+
async resolveModelPath(downloadProgress) {
|
|
322
342
|
mkdirSync(this.modelCacheDir, { recursive: true });
|
|
323
|
-
const runtime = await
|
|
343
|
+
const runtime = await this.loadRuntime();
|
|
324
344
|
const modelPath = await runtime.resolveModelFile(this.entry.uri, {
|
|
325
345
|
directory: this.modelCacheDir,
|
|
326
346
|
cli: false,
|
|
347
|
+
onProgress: ({ downloadedSize, totalSize }) => {
|
|
348
|
+
downloadProgress.report({
|
|
349
|
+
artifact: basename(this.entry.uri),
|
|
350
|
+
downloadedBytes: downloadedSize,
|
|
351
|
+
totalBytes: totalSize,
|
|
352
|
+
});
|
|
353
|
+
},
|
|
327
354
|
});
|
|
328
355
|
validateGgufFile(modelPath, this.entry.uri);
|
|
329
356
|
return modelPath;
|
|
330
357
|
}
|
|
331
358
|
async resolveParallelism() {
|
|
332
|
-
if (this.
|
|
333
|
-
return this.
|
|
359
|
+
if (this.parallelism !== undefined) {
|
|
360
|
+
return this.parallelism;
|
|
334
361
|
}
|
|
335
362
|
const llama = await this.ensureLlama();
|
|
336
363
|
if (!this.shouldDisableModelGpuOffload() &&
|
|
@@ -365,20 +392,23 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
365
392
|
truncateToContextSize(text) {
|
|
366
393
|
const model = this.model;
|
|
367
394
|
if (!model?.tokenize || !model.detokenize) {
|
|
368
|
-
return text;
|
|
395
|
+
return { text, truncated: false };
|
|
369
396
|
}
|
|
370
397
|
const limit = Math.max(1, Math.min(this.entry.contextSize, model.trainContextSize ?? this.entry.contextSize));
|
|
371
398
|
const tokens = model.tokenize(text);
|
|
372
399
|
if (tokens.length <= limit) {
|
|
373
|
-
return text;
|
|
400
|
+
return { text, truncated: false };
|
|
374
401
|
}
|
|
375
|
-
return
|
|
402
|
+
return {
|
|
403
|
+
text: model.detokenize(tokens.slice(0, Math.max(1, limit - 4))),
|
|
404
|
+
truncated: true,
|
|
405
|
+
};
|
|
376
406
|
}
|
|
377
407
|
ensureNotDisposed() {
|
|
378
408
|
if (this.disposed) {
|
|
379
409
|
throw new EngineError("llama.cpp embedding model is disposed", {
|
|
380
410
|
code: "ZVEC_GREP.ENGINE.MODELS.LLAMA_CPP_DISPOSED",
|
|
381
|
-
context: `model=${this.entry.
|
|
411
|
+
context: `model=${this.entry.reference}`,
|
|
382
412
|
});
|
|
383
413
|
}
|
|
384
414
|
}
|
|
@@ -386,6 +416,11 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
|
|
|
386
416
|
function formatErrorMessage(error) {
|
|
387
417
|
return error instanceof Error ? error.message : String(error);
|
|
388
418
|
}
|
|
419
|
+
function reportLlamaWarning(downloadProgress, message) {
|
|
420
|
+
if (!downloadProgress?.warning(message)) {
|
|
421
|
+
process.stderr.write(`zvec-grep warning: ${message}\n`);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
389
424
|
function llamaCppLogger(_level, message) {
|
|
390
425
|
const trimmed = message.trim();
|
|
391
426
|
if (SUPPRESSED_LLAMA_CPP_LOG_MESSAGES.has(trimmed)) {
|
|
@@ -424,22 +459,8 @@ function formatTextForEmbedding(text, purpose, entry) {
|
|
|
424
459
|
? `task: search result | query: ${text}`
|
|
425
460
|
: `title: none | text: ${text}`;
|
|
426
461
|
}
|
|
427
|
-
function
|
|
428
|
-
|
|
429
|
-
if (!normalized) {
|
|
430
|
-
return false;
|
|
431
|
-
}
|
|
432
|
-
if (["false", "off", "none", "disable", "disabled", "0"].includes(normalized)) {
|
|
433
|
-
return false;
|
|
434
|
-
}
|
|
435
|
-
if (normalized === "auto" ||
|
|
436
|
-
normalized === "metal" ||
|
|
437
|
-
normalized === "vulkan" ||
|
|
438
|
-
normalized === "cuda") {
|
|
439
|
-
return normalized;
|
|
440
|
-
}
|
|
441
|
-
process.stderr.write(`zvec-grep warning: invalid ZVEC_GREP_LLAMA_GPU="${envValue}", using CPU.\n`);
|
|
442
|
-
return false;
|
|
462
|
+
function embeddingDeviceToLlamaGpuSelection(device) {
|
|
463
|
+
return device === "cpu" ? false : device;
|
|
443
464
|
}
|
|
444
465
|
function resolveParallelismOverride(envValue) {
|
|
445
466
|
const normalized = envValue?.trim() ?? "";
|
|
@@ -448,7 +469,7 @@ function resolveParallelismOverride(envValue) {
|
|
|
448
469
|
}
|
|
449
470
|
const parsed = Number.parseInt(normalized, 10);
|
|
450
471
|
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
451
|
-
process.stderr.write(`zvec-grep warning: invalid
|
|
472
|
+
process.stderr.write(`zvec-grep warning: invalid ZVEC_GREP_LLAMA_CONTEXT_PARALLELISM="${envValue}", using automatic parallelism.\n`);
|
|
452
473
|
return undefined;
|
|
453
474
|
}
|
|
454
475
|
return Math.min(DEFAULT_PARALLELISM_CAP, parsed);
|
|
@@ -487,4 +508,4 @@ function validateGgufFile(filePath, modelUri) {
|
|
|
487
508
|
context: `model=${modelUri} path=${filePath} expected=GGUF actual=${got} sizeKB=${sizeKb}`,
|
|
488
509
|
});
|
|
489
510
|
}
|
|
490
|
-
//# sourceMappingURL=
|
|
511
|
+
//# sourceMappingURL=llama-cpp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llama-cpp.js","sourceRoot":"","sources":["../../../../src/engine/models/backends/llama-cpp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Content } from "../../types.js";
|
|
2
|
+
import { BaseEmbeddingModel, type CreateEmbeddingModelOptions, type EmbeddingModelInfo, type EmbeddingResult, type NormalizedEmbeddingOptions } from "../embeddings.js";
|
|
3
|
+
import type { Model2VecEmbeddingCatalogEntry } from "../catalog.js";
|
|
4
|
+
type TokenTensor = {
|
|
5
|
+
data: ArrayLike<number | bigint>;
|
|
6
|
+
};
|
|
7
|
+
type TokenizerOutput = {
|
|
8
|
+
input_ids: TokenTensor;
|
|
9
|
+
};
|
|
10
|
+
type TokenizerLike = {
|
|
11
|
+
(text: string, options: {
|
|
12
|
+
add_special_tokens: false;
|
|
13
|
+
truncation: true;
|
|
14
|
+
max_length: number;
|
|
15
|
+
}): TokenizerOutput | Promise<TokenizerOutput>;
|
|
16
|
+
unk_token_id?: number | null;
|
|
17
|
+
};
|
|
18
|
+
type StaticEmbeddingTable = {
|
|
19
|
+
data: Float32Array | Uint16Array;
|
|
20
|
+
dimension: number;
|
|
21
|
+
dtype: "F16" | "F32";
|
|
22
|
+
rows: number;
|
|
23
|
+
};
|
|
24
|
+
type Model2VecDependencies = {
|
|
25
|
+
loadTokenizer(repo: string, options: {
|
|
26
|
+
cache_dir: string;
|
|
27
|
+
revision: string;
|
|
28
|
+
local_files_only?: boolean;
|
|
29
|
+
}): Promise<TokenizerLike>;
|
|
30
|
+
loadSafetensors(path: string, tensorName: string, dimension: number): Promise<StaticEmbeddingTable>;
|
|
31
|
+
download(url: string, destination: string, onProgress?: (progress: {
|
|
32
|
+
downloadedBytes: number;
|
|
33
|
+
totalBytes?: number;
|
|
34
|
+
}) => void): Promise<void>;
|
|
35
|
+
};
|
|
36
|
+
export declare class Model2VecEmbeddingModel extends BaseEmbeddingModel {
|
|
37
|
+
private readonly entry;
|
|
38
|
+
readonly info: EmbeddingModelInfo;
|
|
39
|
+
private readonly modelCacheDir;
|
|
40
|
+
private readonly dependencies;
|
|
41
|
+
private tokenizer;
|
|
42
|
+
private staticTable;
|
|
43
|
+
private loadPromise;
|
|
44
|
+
private disposed;
|
|
45
|
+
constructor(entry: Model2VecEmbeddingCatalogEntry, options: CreateEmbeddingModelOptions, dependencies?: Partial<Model2VecDependencies>);
|
|
46
|
+
protected doEmbed(contents: readonly Content[], options: NormalizedEmbeddingOptions): Promise<EmbeddingResult>;
|
|
47
|
+
private embedBatch;
|
|
48
|
+
dispose(): Promise<void>;
|
|
49
|
+
private ensureLoaded;
|
|
50
|
+
private loadModel;
|
|
51
|
+
private resolveModelPath;
|
|
52
|
+
private resolveTokenizerSource;
|
|
53
|
+
private resolveCachedFile;
|
|
54
|
+
private embedTexts;
|
|
55
|
+
private ensureNotDisposed;
|
|
56
|
+
}
|
|
57
|
+
export {};
|