@jungjaehoon/mama-core 1.2.0 → 1.2.1

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.
@@ -15,6 +15,7 @@
15
15
  export interface MAMAConfig {
16
16
  modelName: string;
17
17
  embeddingDim: number;
18
+ quantized: boolean;
18
19
  cacheDir: string;
19
20
  [key: string]: unknown;
20
21
  }
@@ -36,6 +37,10 @@ export declare function getModelName(): string;
36
37
  * Get current embedding dimension
37
38
  */
38
39
  export declare function getEmbeddingDim(): number;
40
+ /**
41
+ * Get whether to use quantized model
42
+ */
43
+ export declare function getQuantized(): boolean;
39
44
  /**
40
45
  * Get current cache directory
41
46
  */
@@ -43,6 +48,7 @@ export declare function getCacheDir(): string;
43
48
  export interface ConfigUpdates {
44
49
  modelName?: string;
45
50
  embeddingDim?: number;
51
+ quantized?: boolean;
46
52
  cacheDir?: string;
47
53
  }
48
54
  /**
@@ -21,6 +21,7 @@ exports.DEFAULT_CONFIG = void 0;
21
21
  exports.loadConfig = loadConfig;
22
22
  exports.getModelName = getModelName;
23
23
  exports.getEmbeddingDim = getEmbeddingDim;
24
+ exports.getQuantized = getQuantized;
24
25
  exports.getCacheDir = getCacheDir;
25
26
  exports.updateConfig = updateConfig;
26
27
  exports.getConfigPath = getConfigPath;
@@ -32,6 +33,7 @@ const debug_logger_js_1 = require("./debug-logger.js");
32
33
  exports.DEFAULT_CONFIG = {
33
34
  modelName: 'Xenova/multilingual-e5-small',
34
35
  embeddingDim: 384,
36
+ quantized: true,
35
37
  cacheDir: path_1.default.join(os_1.default.homedir(), '.cache', 'huggingface', 'transformers'),
36
38
  };
37
39
  // Config file path
@@ -129,6 +131,13 @@ function getEmbeddingDim() {
129
131
  const config = loadConfig();
130
132
  return config.embeddingDim;
131
133
  }
134
+ /**
135
+ * Get whether to use quantized model
136
+ */
137
+ function getQuantized() {
138
+ const config = loadConfig();
139
+ return config.quantized;
140
+ }
132
141
  /**
133
142
  * Get current cache directory
134
143
  */
@@ -10,7 +10,7 @@
10
10
  * @date 2025-11-20
11
11
  */
12
12
  import { embeddingCache } from './embedding-cache.js';
13
- import { loadConfig, getModelName, getEmbeddingDim } from './config-loader.js';
13
+ import { loadConfig, getModelName, getEmbeddingDim, getQuantized } from './config-loader.js';
14
14
  /**
15
15
  * Decision object for enhanced embedding generation
16
16
  */
@@ -71,5 +71,5 @@ export declare function cosineSimilarity(embA: Float32Array, embB: Float32Array)
71
71
  export { embeddingCache };
72
72
  export declare const EMBEDDING_DIM: number;
73
73
  export declare const MODEL_NAME: string;
74
- export { loadConfig, getModelName, getEmbeddingDim };
74
+ export { loadConfig, getModelName, getEmbeddingDim, getQuantized };
75
75
  //# sourceMappingURL=embeddings.d.ts.map
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.getEmbeddingDim = exports.getModelName = exports.loadConfig = exports.MODEL_NAME = exports.EMBEDDING_DIM = exports.embeddingCache = void 0;
17
+ exports.getQuantized = exports.getEmbeddingDim = exports.getModelName = exports.loadConfig = exports.MODEL_NAME = exports.EMBEDDING_DIM = exports.embeddingCache = void 0;
18
18
  exports.generateEmbedding = generateEmbedding;
19
19
  exports.generateEnhancedEmbedding = generateEnhancedEmbedding;
20
20
  exports.generateBatchEmbeddings = generateBatchEmbeddings;
@@ -29,6 +29,7 @@ const config_loader_js_1 = require("./config-loader.js");
29
29
  Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_loader_js_1.loadConfig; } });
30
30
  Object.defineProperty(exports, "getModelName", { enumerable: true, get: function () { return config_loader_js_1.getModelName; } });
31
31
  Object.defineProperty(exports, "getEmbeddingDim", { enumerable: true, get: function () { return config_loader_js_1.getEmbeddingDim; } });
32
+ Object.defineProperty(exports, "getQuantized", { enumerable: true, get: function () { return config_loader_js_1.getQuantized; } });
32
33
  // Shared cache directory (not in node_modules)
33
34
  const DEFAULT_CACHE_DIR = path_1.default.join(os_1.default.homedir(), '.cache', 'huggingface', 'transformers');
34
35
  // Singleton pattern for model loading
@@ -73,11 +74,14 @@ async function loadModel() {
73
74
  const cacheDir = process.env.HF_HOME || process.env.TRANSFORMERS_CACHE || DEFAULT_CACHE_DIR;
74
75
  env.cacheDir = cacheDir;
75
76
  (0, debug_logger_js_1.info)(`[MAMA] Model cache directory: ${cacheDir}`);
76
- embeddingPipeline = (await pipeline('feature-extraction', modelName));
77
+ const quantized = (0, config_loader_js_1.getQuantized)();
78
+ embeddingPipeline = (await pipeline('feature-extraction', modelName, {
79
+ dtype: quantized ? 'q8' : 'fp32',
80
+ }));
77
81
  currentModelName = modelName;
78
82
  const loadTime = Date.now() - startTime;
79
83
  const config = (0, config_loader_js_1.loadConfig)();
80
- (0, progress_indicator_js_1.logComplete)(`Embedding model ready (${loadTime}ms, ${config.embeddingDim}-dim)`);
84
+ (0, progress_indicator_js_1.logComplete)(`Embedding model ready (${loadTime}ms, ${config.embeddingDim}-dim, ${quantized ? 'q8' : 'fp32'})`);
81
85
  }
82
86
  catch (loadErr) {
83
87
  modelLoadFailed = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jungjaehoon/mama-core",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "MAMA Core - Shared modules for Memory-Augmented MCP Assistant",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",