@tryhamster/gerbil 1.0.11 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/architectures-C1I5V3Dt.mjs.map +1 -1
- package/dist/cli.mjs +7 -7
- package/dist/cli.mjs.map +1 -1
- package/dist/frameworks/express.mjs +1 -1
- package/dist/frameworks/fastify.mjs +1 -1
- package/dist/frameworks/hono.mjs +1 -1
- package/dist/frameworks/next.d.mts +2 -2
- package/dist/frameworks/next.mjs +1 -1
- package/dist/frameworks/trpc.mjs +1 -1
- package/dist/gerbil-BlacEbZh.mjs +4 -0
- package/dist/{gerbil-2_wciMRP.d.mts → gerbil-DZbWbIm2.d.mts} +2 -2
- package/dist/{gerbil-2_wciMRP.d.mts.map → gerbil-DZbWbIm2.d.mts.map} +1 -1
- package/dist/{gerbil-Ef5IbSQu.mjs → gerbil-DpiwMe0y.mjs} +2 -2
- package/dist/{gerbil-Ef5IbSQu.mjs.map → gerbil-DpiwMe0y.mjs.map} +1 -1
- package/dist/gpu/hooks.d.mts +1 -1
- package/dist/gpu/index.d.mts +1 -1
- package/dist/gpu/index.mjs +2 -2
- package/dist/{gpu-BaSjl8vT.mjs → gpu-CUOj5CaA.mjs} +7 -5
- package/dist/gpu-CUOj5CaA.mjs.map +1 -0
- package/dist/{index-CGYIAChm.d.mts → index-CKszv3lt.d.mts} +30 -1
- package/dist/index-CKszv3lt.d.mts.map +1 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +4 -4
- package/dist/integrations/ai-sdk.mjs +1 -1
- package/dist/integrations/langchain.mjs +1 -1
- package/dist/integrations/llamaindex.mjs +1 -1
- package/dist/integrations/mcp.d.mts +2 -2
- package/dist/integrations/mcp.mjs +4 -4
- package/dist/{mcp-Df5e-Ca7.mjs → mcp-Cb-4xYP6.mjs} +3 -3
- package/dist/{mcp-Df5e-Ca7.mjs.map → mcp-Cb-4xYP6.mjs.map} +1 -1
- package/dist/{moonshine-stt-BUZfQUFa.mjs → moonshine-stt-aSSceh2Y.mjs} +174 -9
- package/dist/moonshine-stt-aSSceh2Y.mjs.map +1 -0
- package/dist/moonshine-stt-qS4hohbf.mjs +4 -0
- package/dist/{one-liner-BX0_po5f.mjs → one-liner-DYAlbxBF.mjs} +2 -2
- package/dist/{one-liner-BX0_po5f.mjs.map → one-liner-DYAlbxBF.mjs.map} +1 -1
- package/dist/{repl-BD0XXdOn.mjs → repl-BtDu0j1n.mjs} +3 -3
- package/dist/skills/index.d.mts +2 -2
- package/dist/skills/index.mjs +3 -3
- package/dist/{skills-C1jGVp7L.mjs → skills-DVttBRMZ.mjs} +2 -2
- package/dist/{skills-C1jGVp7L.mjs.map → skills-DVttBRMZ.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/gerbil-BjfUymxY.mjs +0 -4
- package/dist/gpu-BaSjl8vT.mjs.map +0 -1
- package/dist/index-CGYIAChm.d.mts.map +0 -1
- package/dist/moonshine-stt-BJWv2IQM.mjs +0 -4
- package/dist/moonshine-stt-BUZfQUFa.mjs.map +0 -1
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
//#region src/gpu/vocab-prune.d.ts
|
|
2
|
+
|
|
3
|
+
interface VocabKeepPlan {
|
|
4
|
+
/** Full (original) vocab size. */
|
|
5
|
+
vocabSize: number;
|
|
6
|
+
/** Kept low-id prefix length: rows [0, prefixLen). */
|
|
7
|
+
prefixLen: number;
|
|
8
|
+
/** First kept tail row; rows [tailStart, vocabSize) are kept. */
|
|
9
|
+
tailStart: number;
|
|
10
|
+
/** Number of kept tail rows. */
|
|
11
|
+
tailLen: number;
|
|
12
|
+
/** Pruned vocab size = prefixLen + tailLen (the head's new N). */
|
|
13
|
+
prunedVocab: number;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
1
16
|
//#region src/gpu/ir.d.ts
|
|
2
17
|
/**
|
|
3
18
|
* Gerbil WebGPU IR — the contract every component builds on.
|
|
@@ -75,6 +90,12 @@ interface ModelArchConfig {
|
|
|
75
90
|
vision_architecture?: string;
|
|
76
91
|
vision_patch_size?: number;
|
|
77
92
|
vision_embed_dim?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Set when the LM head was vocab-pruned (Lever B). `vocab_size` above already
|
|
95
|
+
* reflects the PRUNED head size; this plan lets the decoder map a pruned-head
|
|
96
|
+
* output index back to the real token id. Absent = full vocab, no remap.
|
|
97
|
+
*/
|
|
98
|
+
vocabKeepPlan?: VocabKeepPlan;
|
|
78
99
|
}
|
|
79
100
|
interface ModelGraph {
|
|
80
101
|
/** HF architecture string, e.g. "Qwen2ForCausalLM". */
|
|
@@ -333,6 +354,14 @@ interface LoadModelOptions {
|
|
|
333
354
|
* nor `multimodal` is set, the ~201MB ViT is excluded from the download.
|
|
334
355
|
*/
|
|
335
356
|
loadVisionTower?: boolean;
|
|
357
|
+
/**
|
|
358
|
+
* Prune the LM head to a kept vocab prefix + special-token tail for faster
|
|
359
|
+
* decode (Lever B). `true` → default keep size; a number → keep that many
|
|
360
|
+
* low-id rows. For a tied model this UNTIES the head (trades resident memory
|
|
361
|
+
* for decode speed), so enable it only where memory is ample (desktop / iPad),
|
|
362
|
+
* not on memory-tight phones. Falls back to the GERBIL_VOCAB_PRUNE global.
|
|
363
|
+
*/
|
|
364
|
+
vocabKeep?: number | boolean;
|
|
336
365
|
}
|
|
337
366
|
/**
|
|
338
367
|
* Gemma 4 Per-Layer-Embeddings (PLE) source, kept CPU-resident.
|
|
@@ -2112,4 +2141,4 @@ declare class WebGPUEngine {
|
|
|
2112
2141
|
}
|
|
2113
2142
|
//#endregion
|
|
2114
2143
|
export { buildGemma4PoolMatrix as $, generateMoonshineEncoderGraph as A, generateGemma4VisionGraph as B, KaniTTSOptions as C, KVDType as Ct, generateQwen3_5VisionGraph as D, Executor as E, ModelCapabilities as Et, generateNanoCodecDecoderGraph as F, GEMMA4_IMAGE_PROCESSOR as G, resolveGemma4VisionInfo as H, parseKaniConfig as I, ImageProcessorConfig as J, Gemma4VisionGridConfig as K, Gemma4VisionGraphInfo as L, parseMoonshineConfig as M, audioTokensToCodes as N, MOONSHINE_REMAINING_WORK as O, generateKaniTtsGraph as P, VisionPositionTensors as Q, dequantizeGemma4VisionProjection as R, KaniTTS as S, GraphDType as St, SpeakResult as T, ModelArchConfig as Tt, DEFAULT_MODELS as U, patchGemma4VisionClips as V, resolveDefaultRepo as W, QWEN3_5_IMAGE_PROCESSOR as X, PreprocessedImage as Y, VisionGridConfig as Z, MoonshineSTT as _, loadModel as _t, GenerateObjectOptions as a, buildPosEmbeds as at, TranscribeResult as b, GPUDiagnosticResult as bt, GenerateResult as c, buildVisionPositionTensors as ct, ObjectSchema as d, preprocessImageGemma4 as dt, buildGemma4PosEmbeds as et, ObjectValidator as f, smartResize as ft, VisionInputs as g, loadKaniTTS as gt, VisionExecutor as h, LoadedMoonshine as ht, EncodeImageResult as i, buildMRoPEPositionIds as it, moonshineEncoderFrames as j, generateMoonshineDecoderGraph as k, IntegrityCheckEntry as l, mropeFreqDims as lt, WebGPUEngineOptions as m, LoadedKaniTTS as mt, AgentTool as n, buildGemma4VisionPositionTensors as nt, GenerateObjectResult as o, buildPositionIds as ot, WebGPUEngine as p, SamplingParams as pt, Gemma4VisionPositionTensors as q, EmbedOptions as r, buildMRoPECosSin as rt, GenerateOptions as s, buildRotaryCosSin as st, AgentStep as t, buildGemma4RotaryCosSin as tt, IntegrityCheckResult as u, preprocessImage as ut, MoonshineSTTOptions as v, loadMoonshine as vt, SpeakOptions as w, KvMode as wt, MoonshineEncoderExecutor as x, initGPU as xt, TranscribeOptions as y, ChatMessage as yt, dequantizeMLXProjection as z };
|
|
2115
|
-
//# sourceMappingURL=index-
|
|
2144
|
+
//# sourceMappingURL=index-CKszv3lt.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CKszv3lt.d.mts","names":[],"sources":["../src/gpu/vocab-prune.ts","../src/gpu/ir.ts","../src/gpu/architectures/index.ts","../src/gpu/device.ts","../src/gpu/tokenizer.ts","../src/gpu/weight-source.ts","../src/gpu/model-loader.ts","../src/gpu/sampler.ts","../src/gpu/vision-preprocess.ts","../src/gpu/defaults.ts","../src/gpu/architectures/gemma4_vision.ts","../src/gpu/architectures/kani_tts.ts","../src/gpu/architectures/moonshine.ts","../src/gpu/architectures/qwen3_5_vision.ts","../src/gpu/executor.ts","../src/gpu/kani-tts.ts","../src/gpu/moonshine-executor.ts","../src/gpu/moonshine-stt.ts","../src/gpu/vision-executor.ts","../src/gpu/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as SpeakResult, C as PreloadOptions, D as SessionStats, E as SearchResult, F as TelemetryConfig, I as TranscribeOptions, L as TranscribeResult, M as StreamingTranscriptionSession, N as SystemInfo, O as SimilarityResult, P as TTSModelConfig, R as TranscribeSegment, S as ModelStats, T as STTModelConfig, _ as LoadSTTOptions, a as EmbedResult, b as ModelLoadEvent, c as GenerateEvent, d as GerbilConfig, f as GerbilModelSettings, g as LoadOptions, h as JsonOptions, i as EmbedOptions, j as StreamingTranscriptionOptions, k as SpeakOptions, l as GenerateOptions, m as ImageInput, n as CacheConfig, o as ErrorContext, p as GerbilProviderSettings, r as ConcurrencyConfig, s as FallbackConfig, t as AudioChunk, u as GenerateResult, v as LoadTTSOptions, w as ProgressInfo, x as ModelSource, y as ModelConfig, z as VoiceInfo } from "./types-LlyYILII.mjs";
|
|
2
|
-
import { C as KaniTTSOptions, S as KaniTTS, U as DEFAULT_MODELS, _ as MoonshineSTT, a as GenerateObjectOptions, d as ObjectSchema, f as ObjectValidator, o as GenerateObjectResult, p as WebGPUEngine, v as MoonshineSTTOptions } from "./index-
|
|
3
|
-
import { t as Gerbil } from "./gerbil-
|
|
2
|
+
import { C as KaniTTSOptions, S as KaniTTS, U as DEFAULT_MODELS, _ as MoonshineSTT, a as GenerateObjectOptions, d as ObjectSchema, f as ObjectValidator, o as GenerateObjectResult, p as WebGPUEngine, v as MoonshineSTTOptions } from "./index-CKszv3lt.mjs";
|
|
3
|
+
import { t as Gerbil } from "./gerbil-DZbWbIm2.mjs";
|
|
4
4
|
import { a as MemoryMetadata, c as MemorySearchResult, d as RecallOptions, f as RecallResult, i as MemoryExport, l as MemoryStore, m as SearchOptions, o as MemoryOptions, p as Redactor, r as Embedder, s as MemoryRecord, t as AddOptions } from "./types-DQBe2lFo.mjs";
|
|
5
5
|
import { _ as createGerbilEmbedder, f as createFileStore, h as createMemory, m as Memory, s as createInMemoryStore, u as createIndexedDBStore } from "./index-Dgmb2kE3.mjs";
|
|
6
6
|
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as resolveModel, c as configureGlobalCache, i as listBuiltinModels, l as getGlobalCache, n as BUILTIN_MODELS, o as ResponseCache, r as DEFAULT_MODEL, s as clearGlobalCache, t as Gerbil } from "./gerbil-
|
|
1
|
+
import { a as resolveModel, c as configureGlobalCache, i as listBuiltinModels, l as getGlobalCache, n as BUILTIN_MODELS, o as ResponseCache, r as DEFAULT_MODEL, s as clearGlobalCache, t as Gerbil } from "./gerbil-DpiwMe0y.mjs";
|
|
2
2
|
import "./utils-DKO55ZmZ.mjs";
|
|
3
|
-
import { a as generateObject, c as one_liner_default, i as generate, l as stream, n as embed, r as embedBatch, s as json, t as dispose } from "./one-liner-
|
|
3
|
+
import { a as generateObject, c as one_liner_default, i as generate, l as stream, n as embed, r as embedBatch, s as json, t as dispose } from "./one-liner-DYAlbxBF.mjs";
|
|
4
4
|
import { t as DEFAULT_MODELS } from "./defaults-9komdrbY.mjs";
|
|
5
5
|
import "./architectures-C1I5V3Dt.mjs";
|
|
6
|
-
import { t as WebGPUEngine, y as KaniTTS } from "./gpu-
|
|
7
|
-
import { t as MoonshineSTT } from "./moonshine-stt-
|
|
6
|
+
import { t as WebGPUEngine, y as KaniTTS } from "./gpu-CUOj5CaA.mjs";
|
|
7
|
+
import { t as MoonshineSTT } from "./moonshine-stt-aSSceh2Y.mjs";
|
|
8
8
|
import { a as createInMemoryStore, n as createMemory, t as Memory } from "./memory-Dj0J1v88.mjs";
|
|
9
9
|
import { n as createFileStore, r as createGerbilEmbedder } from "./memory-DVN0MnIG.mjs";
|
|
10
10
|
import "./vector-B0panuy6.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as GerbilConfig } from "../types-LlyYILII.mjs";
|
|
2
|
-
import "../index-
|
|
3
|
-
import { t as Gerbil } from "../gerbil-
|
|
2
|
+
import "../index-CKszv3lt.mjs";
|
|
3
|
+
import { t as Gerbil } from "../gerbil-DZbWbIm2.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/mcp.d.ts
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "../gerbil-
|
|
1
|
+
import "../gerbil-DpiwMe0y.mjs";
|
|
2
2
|
import "../utils-DKO55ZmZ.mjs";
|
|
3
|
-
import "../one-liner-
|
|
4
|
-
import "../skills-
|
|
5
|
-
import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-
|
|
3
|
+
import "../one-liner-DYAlbxBF.mjs";
|
|
4
|
+
import "../skills-DVttBRMZ.mjs";
|
|
5
|
+
import { n as mcp_default, r as startMCPServer, t as createMCPServer } from "../mcp-Cb-4xYP6.mjs";
|
|
6
6
|
|
|
7
7
|
export { createMCPServer, mcp_default as default, startMCPServer };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as DEFAULT_MODEL, t as Gerbil } from "./gerbil-
|
|
2
|
-
import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-
|
|
1
|
+
import { r as DEFAULT_MODEL, t as Gerbil } from "./gerbil-DpiwMe0y.mjs";
|
|
2
|
+
import { a as summarize, f as explain, h as commit, s as review, t as translate } from "./skills-DVttBRMZ.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/mcp.ts
|
|
5
5
|
/**
|
|
@@ -318,4 +318,4 @@ var mcp_default = {
|
|
|
318
318
|
|
|
319
319
|
//#endregion
|
|
320
320
|
export { mcp_default as n, startMCPServer as r, createMCPServer as t };
|
|
321
|
-
//# sourceMappingURL=mcp-
|
|
321
|
+
//# sourceMappingURL=mcp-Cb-4xYP6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-Df5e-Ca7.mjs","names":["handlers: Record<string, (args: any) => Promise<any>>","skills.summarize","skills.explain","skills.review","skills.commit","skills.translate"],"sources":["../src/integrations/mcp.ts"],"sourcesContent":["/**\n * Gerbil MCP Server\n *\n * Model Context Protocol server for Claude Desktop, Cursor, etc.\n *\n * @example\n * ```bash\n * gerbil serve --mcp\n * ```\n *\n * @example Claude Desktop config\n * ```json\n * {\n * \"mcpServers\": {\n * \"gerbil\": {\n * \"command\": \"npx\",\n * \"args\": [\"-y\", \"gerbil\", \"serve\", \"--mcp\"]\n * }\n * }\n * }\n * ```\n */\n\nimport { Gerbil } from \"../core/gerbil.js\";\nimport { DEFAULT_MODEL } from \"../core/models.js\";\nimport type { GerbilConfig } from \"../core/types.js\";\nimport * as skills from \"../skills/index.js\";\n\nexport interface MCPServerOptions extends GerbilConfig {\n /** Port for HTTP transport (default: stdio) */\n port?: number;\n\n /** Tools to expose */\n tools?: string[];\n}\n\n// Tool definitions\nconst TOOL_DEFINITIONS = {\n generate: {\n name: \"gerbil_generate\",\n description: \"Generate text using a local LLM\",\n inputSchema: {\n type: \"object\",\n properties: {\n prompt: { type: \"string\", description: \"The prompt to generate from\" },\n maxTokens: { type: \"number\", description: \"Maximum tokens to generate\" },\n temperature: { type: \"number\", description: \"Sampling temperature (0-2)\" },\n system: { type: \"string\", description: \"System prompt\" },\n thinking: { type: \"boolean\", description: \"Enable thinking mode\" },\n },\n required: [\"prompt\"],\n },\n },\n summarize: {\n name: \"gerbil_summarize\",\n description: \"Summarize content\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Content to summarize\" },\n length: { type: \"string\", enum: [\"short\", \"medium\", \"long\"] },\n format: { type: \"string\", enum: [\"paragraph\", \"bullets\"] },\n },\n required: [\"content\"],\n },\n },\n explain: {\n name: \"gerbil_explain\",\n description: \"Explain code or concepts\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Code or concept to explain\" },\n level: { type: \"string\", enum: [\"beginner\", \"intermediate\", \"expert\"] },\n language: { type: \"string\", description: \"Programming language\" },\n },\n required: [\"content\"],\n },\n },\n review: {\n name: \"gerbil_review\",\n description: \"Review code for issues\",\n inputSchema: {\n type: \"object\",\n properties: {\n code: { type: \"string\", description: \"Code to review\" },\n focus: {\n type: \"array\",\n items: { type: \"string\", enum: [\"security\", \"performance\", \"style\", \"bugs\"] },\n },\n },\n required: [\"code\"],\n },\n },\n commit: {\n name: \"gerbil_commit\",\n description: \"Generate a commit message from a diff\",\n inputSchema: {\n type: \"object\",\n properties: {\n diff: { type: \"string\", description: \"Git diff\" },\n type: { type: \"string\", enum: [\"conventional\", \"simple\", \"detailed\"] },\n },\n required: [\"diff\"],\n },\n },\n translate: {\n name: \"gerbil_translate\",\n description: \"Translate text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to translate\" },\n to: { type: \"string\", description: \"Target language\" },\n from: { type: \"string\", description: \"Source language (optional)\" },\n },\n required: [\"text\", \"to\"],\n },\n },\n embed: {\n name: \"gerbil_embed\",\n description: \"Generate embeddings for text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to embed\" },\n },\n required: [\"text\"],\n },\n },\n};\n\n/**\n * Create MCP server\n */\nexport async function createMCPServer(options: MCPServerOptions = {}) {\n const g = new Gerbil(options);\n\n // Load model\n await g.loadModel(options.model || DEFAULT_MODEL);\n\n // Determine which tools to expose\n const enabledTools = options.tools || Object.keys(TOOL_DEFINITIONS);\n\n // Tool handlers\n const handlers: Record<string, (args: any) => Promise<any>> = {\n gerbil_generate: async (args) => {\n const result = await g.generate(args.prompt, {\n maxTokens: args.maxTokens,\n temperature: args.temperature,\n system: args.system,\n thinking: args.thinking,\n });\n return {\n content: [\n {\n type: \"text\",\n text: result.thinking\n ? `Thinking: ${result.thinking}\\n\\nAnswer: ${result.text}`\n : result.text,\n },\n ],\n };\n },\n\n gerbil_summarize: async (args) => {\n const summary = await skills.summarize({\n content: args.content,\n length: args.length,\n format: args.format,\n });\n return { content: [{ type: \"text\", text: summary }] };\n },\n\n gerbil_explain: async (args) => {\n const explanation = await skills.explain({\n content: args.content,\n level: args.level,\n language: args.language,\n } as Parameters<typeof skills.explain>[0]);\n return { content: [{ type: \"text\", text: explanation }] };\n },\n\n gerbil_review: async (args) => {\n const reviewResult = await skills.review({\n code: args.code,\n focus: args.focus,\n } as Parameters<typeof skills.review>[0]);\n return { content: [{ type: \"text\", text: reviewResult }] };\n },\n\n gerbil_commit: async (args) => {\n const message = await skills.commit({\n diff: args.diff,\n type: args.type,\n } as Parameters<typeof skills.commit>[0]);\n return { content: [{ type: \"text\", text: message }] };\n },\n\n gerbil_translate: async (args) => {\n const translated = await skills.translate({\n text: args.text,\n to: args.to,\n from: args.from,\n } as Parameters<typeof skills.translate>[0]);\n return { content: [{ type: \"text\", text: translated }] };\n },\n\n gerbil_embed: async (args) => {\n const result = await g.embed(args.text);\n return {\n content: [\n {\n type: \"text\",\n text: JSON.stringify({\n vector: result.vector.slice(0, 10),\n dimensions: result.vector.length,\n }),\n },\n ],\n };\n },\n };\n\n return {\n // Server info\n info: {\n name: \"gerbil\",\n version: \"1.0.0\",\n description: \"Local LLM inference via Gerbil\",\n },\n\n // List available tools\n listTools: () =>\n enabledTools\n .filter((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS])\n .map((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS]),\n\n // Call a tool\n callTool: async (name: string, args: any) => {\n const handler = handlers[name];\n if (!handler) {\n throw new Error(`Unknown tool: ${name}`);\n }\n return handler(args);\n },\n\n // Get Gerbil instance\n gerbil: g,\n };\n}\n\n/**\n * Start MCP server with stdio transport\n */\nexport async function startMCPServer(options: MCPServerOptions = {}) {\n const server = await createMCPServer(options);\n\n // Simple stdio protocol handler\n const readline = await import(\"node:readline\");\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n terminal: false,\n });\n\n rl.on(\"line\", async (line) => {\n try {\n const request = JSON.parse(line);\n\n let _response: any;\n\n switch (request.method) {\n case \"initialize\":\n _response = {\n protocolVersion: \"2024-11-05\",\n serverInfo: server.info,\n capabilities: {\n tools: {},\n },\n };\n break;\n\n case \"tools/list\":\n _response = { tools: server.listTools() };\n break;\n\n case \"tools/call\":\n _response = await server.callTool(request.params.name, request.params.arguments);\n break;\n\n default:\n _response = { error: { code: -32_601, message: \"Method not found\" } };\n }\n } catch (_error) {}\n });\n}\n\nexport default { createMCPServer, startMCPServer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-Cb-4xYP6.mjs","names":["handlers: Record<string, (args: any) => Promise<any>>","skills.summarize","skills.explain","skills.review","skills.commit","skills.translate"],"sources":["../src/integrations/mcp.ts"],"sourcesContent":["/**\n * Gerbil MCP Server\n *\n * Model Context Protocol server for Claude Desktop, Cursor, etc.\n *\n * @example\n * ```bash\n * gerbil serve --mcp\n * ```\n *\n * @example Claude Desktop config\n * ```json\n * {\n * \"mcpServers\": {\n * \"gerbil\": {\n * \"command\": \"npx\",\n * \"args\": [\"-y\", \"gerbil\", \"serve\", \"--mcp\"]\n * }\n * }\n * }\n * ```\n */\n\nimport { Gerbil } from \"../core/gerbil.js\";\nimport { DEFAULT_MODEL } from \"../core/models.js\";\nimport type { GerbilConfig } from \"../core/types.js\";\nimport * as skills from \"../skills/index.js\";\n\nexport interface MCPServerOptions extends GerbilConfig {\n /** Port for HTTP transport (default: stdio) */\n port?: number;\n\n /** Tools to expose */\n tools?: string[];\n}\n\n// Tool definitions\nconst TOOL_DEFINITIONS = {\n generate: {\n name: \"gerbil_generate\",\n description: \"Generate text using a local LLM\",\n inputSchema: {\n type: \"object\",\n properties: {\n prompt: { type: \"string\", description: \"The prompt to generate from\" },\n maxTokens: { type: \"number\", description: \"Maximum tokens to generate\" },\n temperature: { type: \"number\", description: \"Sampling temperature (0-2)\" },\n system: { type: \"string\", description: \"System prompt\" },\n thinking: { type: \"boolean\", description: \"Enable thinking mode\" },\n },\n required: [\"prompt\"],\n },\n },\n summarize: {\n name: \"gerbil_summarize\",\n description: \"Summarize content\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Content to summarize\" },\n length: { type: \"string\", enum: [\"short\", \"medium\", \"long\"] },\n format: { type: \"string\", enum: [\"paragraph\", \"bullets\"] },\n },\n required: [\"content\"],\n },\n },\n explain: {\n name: \"gerbil_explain\",\n description: \"Explain code or concepts\",\n inputSchema: {\n type: \"object\",\n properties: {\n content: { type: \"string\", description: \"Code or concept to explain\" },\n level: { type: \"string\", enum: [\"beginner\", \"intermediate\", \"expert\"] },\n language: { type: \"string\", description: \"Programming language\" },\n },\n required: [\"content\"],\n },\n },\n review: {\n name: \"gerbil_review\",\n description: \"Review code for issues\",\n inputSchema: {\n type: \"object\",\n properties: {\n code: { type: \"string\", description: \"Code to review\" },\n focus: {\n type: \"array\",\n items: { type: \"string\", enum: [\"security\", \"performance\", \"style\", \"bugs\"] },\n },\n },\n required: [\"code\"],\n },\n },\n commit: {\n name: \"gerbil_commit\",\n description: \"Generate a commit message from a diff\",\n inputSchema: {\n type: \"object\",\n properties: {\n diff: { type: \"string\", description: \"Git diff\" },\n type: { type: \"string\", enum: [\"conventional\", \"simple\", \"detailed\"] },\n },\n required: [\"diff\"],\n },\n },\n translate: {\n name: \"gerbil_translate\",\n description: \"Translate text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to translate\" },\n to: { type: \"string\", description: \"Target language\" },\n from: { type: \"string\", description: \"Source language (optional)\" },\n },\n required: [\"text\", \"to\"],\n },\n },\n embed: {\n name: \"gerbil_embed\",\n description: \"Generate embeddings for text\",\n inputSchema: {\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to embed\" },\n },\n required: [\"text\"],\n },\n },\n};\n\n/**\n * Create MCP server\n */\nexport async function createMCPServer(options: MCPServerOptions = {}) {\n const g = new Gerbil(options);\n\n // Load model\n await g.loadModel(options.model || DEFAULT_MODEL);\n\n // Determine which tools to expose\n const enabledTools = options.tools || Object.keys(TOOL_DEFINITIONS);\n\n // Tool handlers\n const handlers: Record<string, (args: any) => Promise<any>> = {\n gerbil_generate: async (args) => {\n const result = await g.generate(args.prompt, {\n maxTokens: args.maxTokens,\n temperature: args.temperature,\n system: args.system,\n thinking: args.thinking,\n });\n return {\n content: [\n {\n type: \"text\",\n text: result.thinking\n ? `Thinking: ${result.thinking}\\n\\nAnswer: ${result.text}`\n : result.text,\n },\n ],\n };\n },\n\n gerbil_summarize: async (args) => {\n const summary = await skills.summarize({\n content: args.content,\n length: args.length,\n format: args.format,\n });\n return { content: [{ type: \"text\", text: summary }] };\n },\n\n gerbil_explain: async (args) => {\n const explanation = await skills.explain({\n content: args.content,\n level: args.level,\n language: args.language,\n } as Parameters<typeof skills.explain>[0]);\n return { content: [{ type: \"text\", text: explanation }] };\n },\n\n gerbil_review: async (args) => {\n const reviewResult = await skills.review({\n code: args.code,\n focus: args.focus,\n } as Parameters<typeof skills.review>[0]);\n return { content: [{ type: \"text\", text: reviewResult }] };\n },\n\n gerbil_commit: async (args) => {\n const message = await skills.commit({\n diff: args.diff,\n type: args.type,\n } as Parameters<typeof skills.commit>[0]);\n return { content: [{ type: \"text\", text: message }] };\n },\n\n gerbil_translate: async (args) => {\n const translated = await skills.translate({\n text: args.text,\n to: args.to,\n from: args.from,\n } as Parameters<typeof skills.translate>[0]);\n return { content: [{ type: \"text\", text: translated }] };\n },\n\n gerbil_embed: async (args) => {\n const result = await g.embed(args.text);\n return {\n content: [\n {\n type: \"text\",\n text: JSON.stringify({\n vector: result.vector.slice(0, 10),\n dimensions: result.vector.length,\n }),\n },\n ],\n };\n },\n };\n\n return {\n // Server info\n info: {\n name: \"gerbil\",\n version: \"1.0.0\",\n description: \"Local LLM inference via Gerbil\",\n },\n\n // List available tools\n listTools: () =>\n enabledTools\n .filter((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS])\n .map((t) => TOOL_DEFINITIONS[t as keyof typeof TOOL_DEFINITIONS]),\n\n // Call a tool\n callTool: async (name: string, args: any) => {\n const handler = handlers[name];\n if (!handler) {\n throw new Error(`Unknown tool: ${name}`);\n }\n return handler(args);\n },\n\n // Get Gerbil instance\n gerbil: g,\n };\n}\n\n/**\n * Start MCP server with stdio transport\n */\nexport async function startMCPServer(options: MCPServerOptions = {}) {\n const server = await createMCPServer(options);\n\n // Simple stdio protocol handler\n const readline = await import(\"node:readline\");\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n terminal: false,\n });\n\n rl.on(\"line\", async (line) => {\n try {\n const request = JSON.parse(line);\n\n let _response: any;\n\n switch (request.method) {\n case \"initialize\":\n _response = {\n protocolVersion: \"2024-11-05\",\n serverInfo: server.info,\n capabilities: {\n tools: {},\n },\n };\n break;\n\n case \"tools/list\":\n _response = { tools: server.listTools() };\n break;\n\n case \"tools/call\":\n _response = await server.callTool(request.params.name, request.params.arguments);\n break;\n\n default:\n _response = { error: { code: -32_601, message: \"Method not found\" } };\n }\n } catch (_error) {}\n });\n}\n\nexport default { createMCPServer, startMCPServer };\n"],"mappings":"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"}
|
|
@@ -17,7 +17,9 @@ async function initGPU(options) {
|
|
|
17
17
|
if ((typeof navigator === "undefined" || !navigator.gpu) && typeof process !== "undefined") try {
|
|
18
18
|
const { create } = await new Function("specifier", "return import(specifier)")("webgpu");
|
|
19
19
|
if (!globalThis.navigator) globalThis.navigator = {};
|
|
20
|
-
|
|
20
|
+
const dawnFeatures = typeof process !== "undefined" ? process.env.GERBIL_DAWN_FEATURES?.trim() : void 0;
|
|
21
|
+
const createFlags = dawnFeatures ? [`enable-dawn-features=${dawnFeatures}`] : [];
|
|
22
|
+
globalThis.navigator.gpu = create(createFlags);
|
|
21
23
|
} catch {}
|
|
22
24
|
if (typeof navigator === "undefined" || !navigator.gpu) throw new Error("WebGPU is not available in this environment. Requires Chrome 113+, Safari 26+ (iOS 26+), or Firefox 141+.");
|
|
23
25
|
const isMobile = typeof navigator !== "undefined" && /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
|
|
@@ -10299,6 +10301,93 @@ var Tokenizer = class Tokenizer {
|
|
|
10299
10301
|
}
|
|
10300
10302
|
};
|
|
10301
10303
|
|
|
10304
|
+
//#endregion
|
|
10305
|
+
//#region src/gpu/vocab-prune.ts
|
|
10306
|
+
/**
|
|
10307
|
+
* Vocab pruning for the LM head (Lever B).
|
|
10308
|
+
*
|
|
10309
|
+
* The lm_head matmul is the single largest op in a decode step — it projects the
|
|
10310
|
+
* hidden state onto the full vocabulary (248,320 rows for Qwen3.5). Most of those
|
|
10311
|
+
* rows are rarely or never emitted, so we keep only a prefix of the vocab plus the
|
|
10312
|
+
* special-token tail and run the head over that smaller set. Decode gets faster
|
|
10313
|
+
* (smaller GEMV + argmax) with negligible quality loss, since the dropped rows are
|
|
10314
|
+
* low-frequency tokens that can still be represented by their byte/sub-word pieces.
|
|
10315
|
+
*
|
|
10316
|
+
* For a TIED model (Qwen3.5: lm_head === embed_tokens) this means UNTYING — the
|
|
10317
|
+
* head becomes its own pruned tensor while embed_tokens stays full for input
|
|
10318
|
+
* lookup. So it trades a little resident memory for decode speed; gate it to
|
|
10319
|
+
* devices with memory headroom (desktop / iPad), not memory-tight phones.
|
|
10320
|
+
*
|
|
10321
|
+
* Keep-set = [0, prefixLen) ∪ [tailStart, vocabSize). Two CONTIGUOUS spans, which
|
|
10322
|
+
* makes the int4 row-slice two memcpys and the index→token map piecewise-identity
|
|
10323
|
+
* (no lookup table). Qwen3.5's special tokens (EOS=248044 … 248076) sit at the top
|
|
10324
|
+
* of the vocab, so a modest tail keeps every special/added token emittable.
|
|
10325
|
+
*/
|
|
10326
|
+
/** Default kept prefix when pruning is enabled without an explicit size. */
|
|
10327
|
+
const DEFAULT_VOCAB_KEEP = 131072;
|
|
10328
|
+
/** Rows kept at the TOP of the vocab to preserve special/added tokens. */
|
|
10329
|
+
const DEFAULT_SPECIAL_TAIL = 1024;
|
|
10330
|
+
/**
|
|
10331
|
+
* Resolve the kept-prefix size from a create option or the GERBIL_VOCAB_PRUNE
|
|
10332
|
+
* global, or null when pruning is off / would not actually shrink the vocab.
|
|
10333
|
+
* `true`/`"1"` → DEFAULT_VOCAB_KEEP; a number → that many prefix rows.
|
|
10334
|
+
*/
|
|
10335
|
+
function resolveVocabKeep(optKeep, vocabSize) {
|
|
10336
|
+
let raw = optKeep;
|
|
10337
|
+
if (raw === void 0 && typeof globalThis !== "undefined") raw = globalThis.GERBIL_VOCAB_PRUNE;
|
|
10338
|
+
if (raw === void 0 || raw === false || raw === 0) return null;
|
|
10339
|
+
const keepN = raw === true ? DEFAULT_VOCAB_KEEP : Number(raw);
|
|
10340
|
+
if (!Number.isFinite(keepN) || keepN <= 0) return null;
|
|
10341
|
+
if (keepN + DEFAULT_SPECIAL_TAIL >= vocabSize) return null;
|
|
10342
|
+
return Math.floor(keepN);
|
|
10343
|
+
}
|
|
10344
|
+
/** Build the two-span keep plan for a given prefix size + special tail. */
|
|
10345
|
+
function buildKeepPlan(vocabSize, keepN, specialTail = DEFAULT_SPECIAL_TAIL) {
|
|
10346
|
+
const prefixLen = Math.min(keepN, vocabSize);
|
|
10347
|
+
const tailStart = Math.max(prefixLen, vocabSize - specialTail);
|
|
10348
|
+
const tailLen = vocabSize - tailStart;
|
|
10349
|
+
return {
|
|
10350
|
+
vocabSize,
|
|
10351
|
+
prefixLen,
|
|
10352
|
+
tailStart,
|
|
10353
|
+
tailLen,
|
|
10354
|
+
prunedVocab: prefixLen + tailLen
|
|
10355
|
+
};
|
|
10356
|
+
}
|
|
10357
|
+
/**
|
|
10358
|
+
* Map a pruned-head output index (argmax / sample result, in [0, prunedVocab)) to
|
|
10359
|
+
* the real token id. Piecewise: the prefix is identity, the tail offsets up to the
|
|
10360
|
+
* kept top rows.
|
|
10361
|
+
*/
|
|
10362
|
+
function remapPrunedToken(index, plan) {
|
|
10363
|
+
if (index < plan.prefixLen) return index;
|
|
10364
|
+
return plan.tailStart + (index - plan.prefixLen);
|
|
10365
|
+
}
|
|
10366
|
+
/**
|
|
10367
|
+
* Slice a row-major INT4 weight (q/scales/zeros) to the keep plan's two spans.
|
|
10368
|
+
* Rows are the vocab (N) dimension; per-row element counts are derived from the
|
|
10369
|
+
* array lengths so this is agnostic to hidden size / group size / scale dtype.
|
|
10370
|
+
*
|
|
10371
|
+
* q: packed u32 (8 int4 per u32 along K). scales/zeros: per (row, group).
|
|
10372
|
+
*/
|
|
10373
|
+
function sliceInt4Head(q, scales, zeros, plan) {
|
|
10374
|
+
const qPerRow = q.length / plan.vocabSize;
|
|
10375
|
+
const sPerRow = scales.length / plan.vocabSize;
|
|
10376
|
+
const zPerRow = zeros.length / plan.vocabSize;
|
|
10377
|
+
if (!(Number.isInteger(qPerRow) && Number.isInteger(sPerRow) && Number.isInteger(zPerRow))) throw new Error(`vocab-prune: int4 head not row-aligned (q ${q.length}, scales ${scales.length}, zeros ${zeros.length} over vocab ${plan.vocabSize})`);
|
|
10378
|
+
const gather = (src, perRow, make) => {
|
|
10379
|
+
const out = make(plan.prunedVocab * perRow);
|
|
10380
|
+
out.set(src.subarray(0, plan.prefixLen * perRow), 0);
|
|
10381
|
+
out.set(src.subarray(plan.tailStart * perRow, plan.vocabSize * perRow), plan.prefixLen * perRow);
|
|
10382
|
+
return out;
|
|
10383
|
+
};
|
|
10384
|
+
return {
|
|
10385
|
+
q: gather(q, qPerRow, (n) => new Uint32Array(n)),
|
|
10386
|
+
scales: gather(scales, sPerRow, (n) => new Float32Array(n)),
|
|
10387
|
+
zeros: gather(zeros, zPerRow, (n) => new Float32Array(n))
|
|
10388
|
+
};
|
|
10389
|
+
}
|
|
10390
|
+
|
|
10302
10391
|
//#endregion
|
|
10303
10392
|
//#region src/gpu/weight-source.ts
|
|
10304
10393
|
/**
|
|
@@ -10738,32 +10827,60 @@ async function fetchWithTimeout(url, init, timeoutMs) {
|
|
|
10738
10827
|
/** Per-attempt network timeout for weight/header range fetches. */
|
|
10739
10828
|
const RANGE_FETCH_TIMEOUT_MS = 3e4;
|
|
10740
10829
|
/**
|
|
10830
|
+
* Range-fetch retry budget. Public object-store URLs (e.g. Cloudflare's r2.dev)
|
|
10831
|
+
* throttle sustained multi-hundred-MB downloads with 429s for seconds at a time.
|
|
10832
|
+
* A short retry budget turns that throttle into a hard load failure — which the
|
|
10833
|
+
* user only escapes by manually reloading (cached chunks let each reload get a
|
|
10834
|
+
* little further). A longer, Retry-After-aware budget rides the throttle out in
|
|
10835
|
+
* ONE session so the load completes without manual reloads.
|
|
10836
|
+
*/
|
|
10837
|
+
const RANGE_FETCH_MAX_ATTEMPTS = 6;
|
|
10838
|
+
const RANGE_FETCH_BASE_BACKOFF_MS = 600;
|
|
10839
|
+
const RANGE_FETCH_MAX_BACKOFF_MS = 8e3;
|
|
10840
|
+
/** Cap on an honored Retry-After so a hostile header can't wedge the load. */
|
|
10841
|
+
const RANGE_FETCH_MAX_RETRY_AFTER_MS = 2e4;
|
|
10842
|
+
/**
|
|
10843
|
+
* Backoff before the next range-fetch retry. Honors a `Retry-After` header
|
|
10844
|
+
* (seconds or HTTP-date) when the server sends one, else exponential backoff
|
|
10845
|
+
* capped at RANGE_FETCH_MAX_BACKOFF_MS, plus jitter to desync concurrent chunks.
|
|
10846
|
+
*/
|
|
10847
|
+
function rangeRetryDelayMs(attempt, resp) {
|
|
10848
|
+
const retryAfter = resp?.headers.get("retry-after");
|
|
10849
|
+
if (retryAfter) {
|
|
10850
|
+
const asSeconds = Number(retryAfter);
|
|
10851
|
+
const ms = Number.isFinite(asSeconds) ? asSeconds * 1e3 : Date.parse(retryAfter) - Date.now();
|
|
10852
|
+
if (Number.isFinite(ms) && ms > 0) return Math.min(ms, RANGE_FETCH_MAX_RETRY_AFTER_MS);
|
|
10853
|
+
}
|
|
10854
|
+
return Math.min(RANGE_FETCH_BASE_BACKOFF_MS * 2 ** attempt, RANGE_FETCH_MAX_BACKOFF_MS) + Math.floor(Math.random() * 300);
|
|
10855
|
+
}
|
|
10856
|
+
/**
|
|
10741
10857
|
* Fetch a byte range from a URL over the network (no caching).
|
|
10742
10858
|
*/
|
|
10743
10859
|
async function fetchRangeRaw(url, start, end, hfToken) {
|
|
10744
10860
|
const headers = { Range: `bytes=${start}-${end - 1}` };
|
|
10745
10861
|
if (hfToken) headers.Authorization = `Bearer ${hfToken}`;
|
|
10746
10862
|
let lastStatus = 0;
|
|
10747
|
-
|
|
10863
|
+
const lastAttempt = RANGE_FETCH_MAX_ATTEMPTS - 1;
|
|
10864
|
+
for (let attempt = 0; attempt < RANGE_FETCH_MAX_ATTEMPTS; attempt++) {
|
|
10748
10865
|
let resp;
|
|
10749
10866
|
try {
|
|
10750
10867
|
resp = await fetchWithTimeout(url, { headers }, RANGE_FETCH_TIMEOUT_MS);
|
|
10751
10868
|
} catch {
|
|
10752
|
-
if (attempt <
|
|
10753
|
-
await new Promise((r) => setTimeout(r,
|
|
10869
|
+
if (attempt < lastAttempt) {
|
|
10870
|
+
await new Promise((r) => setTimeout(r, rangeRetryDelayMs(attempt)));
|
|
10754
10871
|
continue;
|
|
10755
10872
|
}
|
|
10756
10873
|
throw new Error(`Range request failed: network error for ${url}`);
|
|
10757
10874
|
}
|
|
10758
10875
|
if (resp.ok || resp.status === 206) return resp.arrayBuffer();
|
|
10759
10876
|
lastStatus = resp.status;
|
|
10760
|
-
if ((resp.status === 403 || resp.status === 429 || resp.status >= 500) && attempt <
|
|
10761
|
-
await new Promise((r) => setTimeout(r,
|
|
10877
|
+
if ((resp.status === 403 || resp.status === 429 || resp.status >= 500) && attempt < lastAttempt) {
|
|
10878
|
+
await new Promise((r) => setTimeout(r, rangeRetryDelayMs(attempt, resp)));
|
|
10762
10879
|
continue;
|
|
10763
10880
|
}
|
|
10764
10881
|
break;
|
|
10765
10882
|
}
|
|
10766
|
-
throw new Error(`Range request failed: ${lastStatus}${lastStatus === 403 || lastStatus === 429 ? " (
|
|
10883
|
+
throw new Error(`Range request failed: ${lastStatus}${lastStatus === 403 || lastStatus === 429 ? " (download rate limit — wait a moment and retry; once cached this won't recur)" : ""}`);
|
|
10767
10884
|
}
|
|
10768
10885
|
/**
|
|
10769
10886
|
* Fetch a byte range from a URL, caching the exact range.
|
|
@@ -11595,6 +11712,7 @@ async function loadModel(options) {
|
|
|
11595
11712
|
const missingTensors = [];
|
|
11596
11713
|
for (const [name, desc] of Object.entries(graph.tensors)) if (desc.storage === "constant" && !store.has(name)) missingTensors.push(name);
|
|
11597
11714
|
if (missingTensors.length > 0) console.warn(`[Gerbil] Missing ${missingTensors.length} weight tensors:`, missingTensors.slice(0, 10));
|
|
11715
|
+
await applyVocabPrune(graph, store, options.vocabKeep, onProgress);
|
|
11598
11716
|
onProgress?.(100, 100, "Model loaded.");
|
|
11599
11717
|
return {
|
|
11600
11718
|
graph,
|
|
@@ -11604,6 +11722,53 @@ async function loadModel(options) {
|
|
|
11604
11722
|
pleSource
|
|
11605
11723
|
};
|
|
11606
11724
|
}
|
|
11725
|
+
/**
|
|
11726
|
+
* Vocab-prune the LM head in place (Lever B). No-op unless pruning is enabled
|
|
11727
|
+
* (via `vocabKeep` / GERBIL_VOCAB_PRUNE) AND the head is a tied INT4 head that
|
|
11728
|
+
* reads the embed_tokens quantized tensors. When it fires it:
|
|
11729
|
+
* - slices embed_tokens.{q,scales,zeros} to the keep plan's two row-spans,
|
|
11730
|
+
* - stores them as lm_head.weight.{q,scales,zeros} (UNTYING the head — embed
|
|
11731
|
+
* stays full for input lookup),
|
|
11732
|
+
* - repoints the lm_head node at the new tensors with N = pruned vocab,
|
|
11733
|
+
* - shrinks the logits tensor + config.vocab_size,
|
|
11734
|
+
* - records the keep plan on config so the decoder can remap output indices.
|
|
11735
|
+
*/
|
|
11736
|
+
async function applyVocabPrune(graph, store, vocabKeep, onProgress) {
|
|
11737
|
+
const fullVocab = graph.config.vocab_size;
|
|
11738
|
+
const keepN = resolveVocabKeep(vocabKeep, fullVocab);
|
|
11739
|
+
if (keepN === null) return;
|
|
11740
|
+
const headNode = graph.nodes.find((n) => n.id === "lm_head");
|
|
11741
|
+
if (!headNode || headNode.opType !== "MatMulInt4") return;
|
|
11742
|
+
const embedQ = `${CANONICAL_KEYS.EMBED}.q`;
|
|
11743
|
+
if (headNode.inputs[1] !== embedQ) return;
|
|
11744
|
+
const q = await store.get(embedQ);
|
|
11745
|
+
const scales = await store.get(`${CANONICAL_KEYS.EMBED}.scales`);
|
|
11746
|
+
const zeros = await store.get(`${CANONICAL_KEYS.EMBED}.zeros`);
|
|
11747
|
+
if (!(q && scales && zeros)) return;
|
|
11748
|
+
const plan = buildKeepPlan(fullVocab, keepN);
|
|
11749
|
+
onProgress?.(99, 100, `Pruning LM head ${fullVocab} → ${plan.prunedVocab} vocab...`);
|
|
11750
|
+
const sliced = sliceInt4Head(q.data, scales.data, zeros.data, plan);
|
|
11751
|
+
await store.set(`${CANONICAL_KEYS.LM_HEAD}.q`, {
|
|
11752
|
+
data: sliced.q,
|
|
11753
|
+
shape: [sliced.q.length]
|
|
11754
|
+
});
|
|
11755
|
+
await store.set(`${CANONICAL_KEYS.LM_HEAD}.scales`, {
|
|
11756
|
+
data: sliced.scales,
|
|
11757
|
+
shape: [sliced.scales.length]
|
|
11758
|
+
});
|
|
11759
|
+
await store.set(`${CANONICAL_KEYS.LM_HEAD}.zeros`, {
|
|
11760
|
+
data: sliced.zeros,
|
|
11761
|
+
shape: [sliced.zeros.length]
|
|
11762
|
+
});
|
|
11763
|
+
headNode.inputs[1] = `${CANONICAL_KEYS.LM_HEAD}.q`;
|
|
11764
|
+
headNode.inputs[2] = `${CANONICAL_KEYS.LM_HEAD}.scales`;
|
|
11765
|
+
headNode.inputs[3] = `${CANONICAL_KEYS.LM_HEAD}.zeros`;
|
|
11766
|
+
headNode.attributes.N = plan.prunedVocab;
|
|
11767
|
+
const logits = graph.tensors[headNode.outputs[0]];
|
|
11768
|
+
if (logits) logits.shape = [1, plan.prunedVocab];
|
|
11769
|
+
graph.config.vocab_size = plan.prunedVocab;
|
|
11770
|
+
graph.config.vocabKeepPlan = plan;
|
|
11771
|
+
}
|
|
11607
11772
|
async function loadMoonshine(options) {
|
|
11608
11773
|
const revision = options.revision ?? "main";
|
|
11609
11774
|
const baseURL = resolveHFBaseURL(options.repo, revision);
|
|
@@ -12072,5 +12237,5 @@ function selectGraphWeights(graph, weights) {
|
|
|
12072
12237
|
}
|
|
12073
12238
|
|
|
12074
12239
|
//#endregion
|
|
12075
|
-
export { loadMoonshine as a,
|
|
12076
|
-
//# sourceMappingURL=moonshine-stt-
|
|
12240
|
+
export { verifyGPU as _, loadMoonshine as a, KERNEL_REGISTRY as c, createBindGroup as d, createStorageBuffer as f, initGPU as g, getOrCreatePipeline as h, loadModel as i, MATMUL_BIAS_F16C_SPEC as l, destroyBuffers as m, MoonshineEncoderExecutor as n, remapPrunedToken as o, createUniformBuffer as p, loadKaniTTS as r, Executor as s, MoonshineSTT as t, clearPipelineCache as u };
|
|
12241
|
+
//# sourceMappingURL=moonshine-stt-aSSceh2Y.mjs.map
|