inference-server 1.0.0-beta.21 → 1.0.0-beta.23

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.
@@ -40,7 +40,7 @@ export interface NodeLlamaCppModelConfig extends ModelConfig {
40
40
  }
41
41
  export declare const autoGpu = true;
42
42
  export declare function prepareModel({ config, log }: EngineContext<NodeLlamaCppModelConfig>, onProgress?: (progress: FileDownloadProgress) => void, signal?: AbortSignal): Promise<{
43
- gguf: GgufFileInfo;
43
+ gguf?: any;
44
44
  } | undefined>;
45
45
  export declare function createInstance({ config, log }: EngineContext<NodeLlamaCppModelConfig>, signal?: AbortSignal): Promise<NodeLlamaCppInstance>;
46
46
  export declare function disposeInstance(instance: NodeLlamaCppInstance): Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs';
3
3
  import { nanoid } from 'nanoid';
4
- import { getLlama, LlamaChat, LlamaCompletion, LlamaLogLevel, TokenBias, LlamaGrammar, defineChatSessionFunction, createModelDownloader, readGgufFileInfo, LlamaJsonSchemaGrammar, } from 'node-llama-cpp';
4
+ import { getLlama, LlamaChat, LlamaCompletion, LlamaLogLevel, TokenBias, LlamaGrammar, defineChatSessionFunction, createModelDownloader, LlamaJsonSchemaGrammar, } from 'node-llama-cpp';
5
5
  import { LogLevels } from '../../lib/logger.js';
6
6
  import { flattenMessageTextContent } from '../../lib/flattenMessageTextContent.js';
7
7
  import { acquireFileLock } from '../../lib/acquireFileLock.js';
@@ -47,34 +47,23 @@ export async function prepareModel({ config, log }, onProgress, signal) {
47
47
  if (signal?.aborted) {
48
48
  return;
49
49
  }
50
- const validationError = await validateModelFile(config);
50
+ const validationRes = await validateModelFile(config);
51
+ let modelMeta = validationRes.meta;
51
52
  if (signal?.aborted) {
52
53
  return;
53
54
  }
54
- if (validationError) {
55
- if (config.url) {
56
- await downloadModel(config.url, validationError);
55
+ if (validationRes.error) {
56
+ if (!config.url) {
57
+ throw new Error(`${validationRes.error} - No URL provided`);
57
58
  }
58
- else {
59
- throw new Error(`${validationError} - No URL provided`);
59
+ await downloadModel(config.url, validationRes.error);
60
+ const revalidationRes = await validateModelFile(config);
61
+ if (revalidationRes.error) {
62
+ throw new Error(`Downloaded files are invalid: ${revalidationRes.error}`);
60
63
  }
64
+ modelMeta = revalidationRes.meta;
61
65
  }
62
- const finalValidationError = await validateModelFile(config);
63
- if (finalValidationError) {
64
- throw new Error(`Downloaded files are invalid: ${finalValidationError}`);
65
- }
66
- const gguf = await readGgufFileInfo(config.location, {
67
- signal,
68
- ignoreKeys: [
69
- 'gguf.tokenizer.ggml.merges',
70
- 'gguf.tokenizer.ggml.tokens',
71
- 'gguf.tokenizer.ggml.scores',
72
- 'gguf.tokenizer.ggml.token_type',
73
- ],
74
- });
75
- return {
76
- gguf,
77
- };
66
+ return modelMeta;
78
67
  }
79
68
  catch (err) {
80
69
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engines/node-llama-cpp/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engines/node-llama-cpp/engine.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,11 @@ interface ValidatableModelConfig {
5
5
  sha256?: string;
6
6
  md5?: string;
7
7
  }
8
- export declare function validateModelFile(config: ValidatableModelConfig): Promise<string | undefined>;
8
+ interface ValidationResult {
9
+ error?: string;
10
+ meta?: {
11
+ gguf?: any;
12
+ };
13
+ }
14
+ export declare function validateModelFile(config: ValidatableModelConfig, signal?: AbortSignal): Promise<ValidationResult>;
9
15
  export {};
@@ -1,14 +1,23 @@
1
1
  import fs from 'node:fs';
2
2
  import { calculateFileChecksum } from '../lib/calculateFileChecksum.js';
3
3
  import { resolveModelFileLocation } from '../lib/resolveModelFileLocation.js';
4
- export async function validateModelFile(config) {
4
+ import { readGgufFileInfo } from 'node-llama-cpp';
5
+ export async function validateModelFile(config, signal) {
5
6
  const fileLocation = resolveModelFileLocation({
6
7
  url: config.url,
7
8
  filePath: config.location,
8
9
  modelsCachePath: config.modelsCachePath,
9
10
  });
10
11
  if (!fs.existsSync(fileLocation)) {
11
- return `Model file missing at ${fileLocation}`;
12
+ return {
13
+ error: `Model file missing at ${fileLocation}`,
14
+ };
15
+ }
16
+ const stats = fs.statSync(fileLocation);
17
+ if (stats.size === 0) {
18
+ return {
19
+ error: `Model file at ${fileLocation} is empty`,
20
+ };
12
21
  }
13
22
  const hasChecksum = config.sha256 || config.md5;
14
23
  let validatedChecksum = false;
@@ -40,23 +49,48 @@ export async function validateModelFile(config) {
40
49
  }
41
50
  }
42
51
  if (!validatedChecksum) {
43
- return `Model file with incomplete download`;
52
+ return {
53
+ error: `Model file with incomplete download`,
54
+ };
44
55
  }
45
56
  }
46
57
  if (!validatedChecksum && hasChecksum) {
47
58
  if (config.sha256) {
48
59
  const fileHash = await calculateFileChecksum(fileLocation, 'sha256');
49
60
  if (fileHash !== config.sha256) {
50
- return `File sha256 checksum mismatch: expected ${config.sha256} got ${fileHash} at ${fileLocation}`;
61
+ return {
62
+ error: `File sha256 checksum mismatch: expected ${config.sha256} got ${fileHash} at ${fileLocation}`,
63
+ };
51
64
  }
52
65
  }
53
66
  else if (config.md5) {
54
67
  const fileHash = await calculateFileChecksum(fileLocation, 'md5');
55
68
  if (fileHash !== config.md5) {
56
- return `File md5 checksum mismatch: expected ${config.md5} got ${fileHash} at ${fileLocation}`;
69
+ return {
70
+ error: `File md5 checksum mismatch: expected ${config.md5} got ${fileHash} at ${fileLocation}`,
71
+ };
57
72
  }
58
73
  }
59
74
  }
60
- return undefined;
75
+ if (config.location?.endsWith('.gguf')) {
76
+ try {
77
+ const ggufMeta = await readGgufFileInfo(config.location, {
78
+ signal,
79
+ ignoreKeys: [
80
+ 'gguf.tokenizer.ggml.merges',
81
+ 'gguf.tokenizer.ggml.tokens',
82
+ 'gguf.tokenizer.ggml.scores',
83
+ 'gguf.tokenizer.ggml.token_type',
84
+ ],
85
+ });
86
+ return { meta: { gguf: ggufMeta } };
87
+ }
88
+ catch (err) {
89
+ return {
90
+ error: `Invalid GGUF: ${err}`,
91
+ };
92
+ }
93
+ }
94
+ return { meta: {} };
61
95
  }
62
96
  //# sourceMappingURL=validateModelFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateModelFile.js","sourceRoot":"","sources":["../../src/lib/validateModelFile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAUnF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAA8B;IACrE,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC7C,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,eAAe,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC,CAAA;IACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,yBAAyB,YAAY,EAAE,CAAA;IAC/C,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAA;IAC/C,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAC7B,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QACnC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YACjE,IAAI,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC7B,iBAAiB,GAAG,IAAI,CAAA;gBACxB,OAAO,IAAI,CAAA;YACZ,CAAC;QACF,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YACpE,IAAI,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,iBAAiB,GAAG,IAAI,CAAA;gBACxB,OAAO,IAAI,CAAA;YACZ,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAA;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,oFAAoF;QACpF,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAA;YACxC,IAAI,OAAO,EAAE,CAAC;gBACb,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACxB,iBAAiB,GAAG,IAAI,CAAA;YACzB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,OAAO,qCAAqC,CAAA;QAC7C,CAAC;IACF,CAAC;IAED,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YACpE,IAAI,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,OAAO,2CAA2C,MAAM,CAAC,MAAM,QAAQ,QAAQ,OAAO,YAAY,EAAE,CAAA;YACrG,CAAC;QACF,CAAC;aAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YACjE,IAAI,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC7B,OAAO,wCAAwC,MAAM,CAAC,GAAG,QAAQ,QAAQ,OAAO,YAAY,EAAE,CAAA;YAC/F,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"validateModelFile.js","sourceRoot":"","sources":["../../src/lib/validateModelFile.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -2,23 +2,96 @@ import { ModelPool } from './pool.js';
2
2
  import { ModelStore } from './store.js';
3
3
  import { ModelOptions, InferenceRequest, CompletionProcessingOptions, ChatCompletionRequest, EmbeddingRequest, ProcessingOptions, TextCompletionRequest, ModelEngine, ImageToTextRequest, TextToSpeechRequest, TextToSpeechProcessingOptions, SpeechToTextRequest, SpeechToTextProcessingOptions, TextToImageRequest, ImageToImageRequest, ObjectRecognitionRequest } from './types/index.js';
4
4
  import { Logger, LogLevel } from './lib/logger.js';
5
+ /**
6
+ * Configuration options for initializing a `ModelServer`.
7
+ * The example provided starts a model server using gpt4all as the engine, with the task of text-completion.
8
+ * @interface ModelServerOptions
9
+ * @example
10
+ * const modelServer = await startModelServer({
11
+ * log: 'info',
12
+ * concurrency: 2,
13
+ * models: {
14
+ * 'phi3-mini-4k': {
15
+ * task: 'text-completion',
16
+ * url: 'https://gpt4all.io/models/gguf/Phi-3-mini-4k-instruct.Q4_0.gguf',
17
+ * engine: 'gpt4all',
18
+ * maxInstances: 2,
19
+ * },
20
+ * },
21
+ * })
22
+ */
5
23
  export interface ModelServerOptions {
24
+ /**
25
+ * A record of custom engines to be used for processing tasks. Each engine is identified by a unique name.
26
+ * @type {Record<string, ModelEngine>}
27
+ * @optional
28
+ */
6
29
  engines?: Record<string, ModelEngine>;
30
+ /**
31
+ * A record of model configurations, where each model is identified by a unique ID, defined by the user.
32
+ * @type {Record<string, ModelOptions>}
33
+ */
7
34
  models: Record<string, ModelOptions>;
35
+ /**
36
+ * The maximum number of concurrent tasks allowed in the model pool.
37
+ * @type {number}
38
+ * @optional
39
+ */
8
40
  concurrency?: number;
41
+ /**
42
+ * The path to the cache directory where model files and related data will be stored.
43
+ * @type {string}
44
+ * @optional
45
+ */
9
46
  cachePath?: string;
47
+ /**
48
+ * A logger instance or log level to control logging for the server. If a log level is provided,
49
+ * a default logger will be created with that level.
50
+ * @type {Logger | LogLevel}
51
+ * @optional
52
+ */
10
53
  log?: Logger | LogLevel;
11
54
  }
12
55
  export declare function startModelServer(options: ModelServerOptions): ModelServer;
56
+ /**
57
+ * Represents a server for managing and serving machine learning models, including model initialization,
58
+ * request handling, and task processing.
59
+ *
60
+ * @class ModelServer
61
+ */
13
62
  export declare class ModelServer {
63
+ /** @property {ModelPool} pool - A pool for managing model instances and concurrency. */
14
64
  pool: ModelPool;
65
+ /** @property {ModelStore} store - A store for managing model metadata, preparation, and storage. */
15
66
  store: ModelStore;
67
+ /** @property {Record<string, ModelEngine>} engines - A record of engines (custom and built-in) used for processing tasks. */
16
68
  engines: Record<string, ModelEngine>;
69
+ /** @property {Logger} log - Logger for tracking the server's activities and errors. */
17
70
  log: Logger;
71
+ /**
72
+ * Constructs a `ModelServer` instance with the specified options.
73
+ * @param {ModelServerOptions} options - Configuration options for the server.
74
+ */
18
75
  constructor(options: ModelServerOptions);
19
76
  modelExists(modelId: string): boolean;
77
+ /**
78
+ * Starts the model server, initializing engines and preparing the model store and pool.
79
+ * Usually you would not need to call this method. startModelServer() will do this for you.
80
+ * @returns {Promise<void>} Resolves when the server is fully started.
81
+ */
20
82
  start(): Promise<void>;
83
+ /**
84
+ * Stops the server. disposes all resources. Clears the queue of working tasks.
85
+ **/
21
86
  stop(): Promise<void>;
87
+ /**
88
+ * Requests an available model instance from the pool for a specific task.
89
+ * There is not much need to call this method unless you are creating a custom task pipeline.
90
+ * This method is called internally by the processXTask methods.
91
+ * @param {InferenceRequest} request - The inference request details.
92
+ * @param {AbortSignal} [signal] - Optional signal to cancel the request.
93
+ * @returns {Promise<ModelInstance>} The requested model instance.
94
+ */
22
95
  requestInstance(request: InferenceRequest, signal?: AbortSignal): Promise<import("./pool.js").ModelInstanceHandle>;
23
96
  private prepareInstance;
24
97
  processChatCompletionTask(args: ChatCompletionRequest, options?: CompletionProcessingOptions): Promise<import("./types/index.js").EngineChatCompletionResult>;
@@ -30,6 +103,11 @@ export declare class ModelServer {
30
103
  processTextToImageTask(args: TextToImageRequest, options?: ProcessingOptions): Promise<import("./types/index.js").EngineTextToImageResult>;
31
104
  processImageToImageTask(args: ImageToImageRequest, options?: ProcessingOptions): Promise<import("./types/index.js").EngineImageToImageResult>;
32
105
  processObjectRecognitionTask(args: ObjectRecognitionRequest, options?: ProcessingOptions): Promise<import("./types/index.js").EngineObjectRecognitionResult>;
106
+ /**
107
+ * Retrieves the current status of the model server, including pool and store status.
108
+ *
109
+ * @returns {Object} The status object containing pool and store information.
110
+ */
33
111
  getStatus(): {
34
112
  pool: {
35
113
  processing: number;
package/dist/server.js CHANGED
@@ -11,11 +11,25 @@ export function startModelServer(options) {
11
11
  server.start();
12
12
  return server;
13
13
  }
14
+ /**
15
+ * Represents a server for managing and serving machine learning models, including model initialization,
16
+ * request handling, and task processing.
17
+ *
18
+ * @class ModelServer
19
+ */
14
20
  export class ModelServer {
21
+ /** @property {ModelPool} pool - A pool for managing model instances and concurrency. */
15
22
  pool;
23
+ /** @property {ModelStore} store - A store for managing model metadata, preparation, and storage. */
16
24
  store;
25
+ /** @property {Record<string, ModelEngine>} engines - A record of engines (custom and built-in) used for processing tasks. */
17
26
  engines = {};
27
+ /** @property {Logger} log - Logger for tracking the server's activities and errors. */
18
28
  log;
29
+ /**
30
+ * Constructs a `ModelServer` instance with the specified options.
31
+ * @param {ModelServerOptions} options - Configuration options for the server.
32
+ */
19
33
  constructor(options) {
20
34
  this.log = createSublogger(options.log);
21
35
  let modelsCachePath = getCacheDirPath('models');
@@ -86,6 +100,11 @@ export class ModelServer {
86
100
  modelExists(modelId) {
87
101
  return !!this.pool.config.models[modelId];
88
102
  }
103
+ /**
104
+ * Starts the model server, initializing engines and preparing the model store and pool.
105
+ * Usually you would not need to call this method. startModelServer() will do this for you.
106
+ * @returns {Promise<void>} Resolves when the server is fully started.
107
+ */
89
108
  async start() {
90
109
  const engineStartPromises = [];
91
110
  // call startEngine on custom engines
@@ -118,6 +137,9 @@ export class ModelServer {
118
137
  await Promise.all(engineStartPromises);
119
138
  await Promise.all([this.store.init(this.engines), this.pool.init(this.engines)]);
120
139
  }
140
+ /**
141
+ * Stops the server. disposes all resources. Clears the queue of working tasks.
142
+ **/
121
143
  async stop() {
122
144
  this.log(LogLevels.info, 'Stopping model server');
123
145
  this.pool.queue.clear();
@@ -132,6 +154,14 @@ export class ModelServer {
132
154
  }
133
155
  this.log(LogLevels.debug, 'Model server stopped');
134
156
  }
157
+ /**
158
+ * Requests an available model instance from the pool for a specific task.
159
+ * There is not much need to call this method unless you are creating a custom task pipeline.
160
+ * This method is called internally by the processXTask methods.
161
+ * @param {InferenceRequest} request - The inference request details.
162
+ * @param {AbortSignal} [signal] - Optional signal to cancel the request.
163
+ * @returns {Promise<ModelInstance>} The requested model instance.
164
+ */
135
165
  async requestInstance(request, signal) {
136
166
  return this.pool.requestInstance(request, signal);
137
167
  }
@@ -223,6 +253,11 @@ export class ModelServer {
223
253
  await lock.release();
224
254
  return result;
225
255
  }
256
+ /**
257
+ * Retrieves the current status of the model server, including pool and store status.
258
+ *
259
+ * @returns {Object} The status object containing pool and store information.
260
+ */
226
261
  getStatus() {
227
262
  const poolStatus = this.pool.getStatus();
228
263
  const storeStatus = this.store.getStatus();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { format as formatURL } from 'node:url';
2
2
  import { ModelHTTPServer } from './http.js';
3
+ import { WhisperForConditionalGeneration, } from '@huggingface/transformers';
3
4
  // Currently only used for debugging. Do not use.
4
5
  const serverOptions = {
5
6
  listen: {
@@ -302,30 +303,20 @@ const serverOptions = {
302
303
  // prepare: 'async',
303
304
  // dtype: 'fp16',
304
305
  // },
305
- // 'whisper-base': {
306
- // url: 'https://huggingface.co/onnx-community/whisper-base',
307
- // engine: 'transformers-js',
308
- // task: 'speech-to-text',
309
- // prepare: 'async',
310
- // minInstances: 1,
311
- // modelClass: WhisperForConditionalGeneration,
312
- // dtype: {
313
- // encoder_model: 'fp16',
314
- // decoder_model_merged: 'q4',
315
- // },
316
- // device: {
317
- // gpu: false,
318
- // },
319
- // },
320
- mobilellm: {
321
- // url: 'https://huggingface.co/onnx-community/MobileLLM-600M'
322
- // url: 'https://huggingface.co/onnx-community/MobileLLM-350M',
323
- url: 'https://huggingface.co/onnx-community/MobileLLM-125M',
306
+ 'whisper-base': {
307
+ url: 'https://huggingface.co/onnx-community/whisper-base',
324
308
  engine: 'transformers-js',
325
- task: 'text-completion',
326
- modelClass: 'MobileLLMForCausalLM',
327
- dtype: 'fp16',
328
- prepare: 'blocking',
309
+ task: 'speech-to-text',
310
+ prepare: 'async',
311
+ minInstances: 1,
312
+ modelClass: WhisperForConditionalGeneration,
313
+ dtype: {
314
+ encoder_model: 'fp16',
315
+ decoder_model_merged: 'q4',
316
+ },
317
+ device: {
318
+ gpu: false,
319
+ },
329
320
  },
330
321
  },
331
322
  };
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
package/docs/cli.md ADDED
@@ -0,0 +1,17 @@
1
+
2
+ ### CLI
3
+
4
+ The package comes with a few CLI commands to help you manage model files.
5
+
6
+ ```bash
7
+ $ infs --help
8
+ infs <command>
9
+
10
+ Commands:
11
+ infs list [configPath] List stored models [aliases: ls, dir]
12
+ infs show <modelName> Print details of a model [aliases: info, details]
13
+ infs prepare <configPath> Prepare models defined in configuration
14
+ [aliases: prep, download]
15
+ infs remove <pattern> Delete models matching the pattern
16
+ [aliases: rm, del]
17
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inference-server",
3
- "version": "1.0.0-beta.21",
3
+ "version": "1.0.0-beta.23",
4
4
  "description": "Libraries and server to build AI applications. Adapters to various native bindings allowing local inference. Integrate it with your application, or use as a microservice.",
5
5
  "main": "dist/index.js",
6
6
  "source": "src/index.ts",
@@ -142,34 +142,24 @@ export async function prepareModel(
142
142
  return
143
143
  }
144
144
 
145
- const validationError = await validateModelFile(config)
145
+ const validationRes = await validateModelFile(config)
146
+ let modelMeta = validationRes.meta
146
147
  if (signal?.aborted) {
147
148
  return
148
149
  }
149
- if (validationError) {
150
- if (config.url) {
151
- await downloadModel(config.url, validationError)
152
- } else {
153
- throw new Error(`${validationError} - No URL provided`)
150
+ if (validationRes.error) {
151
+ if (!config.url) {
152
+ throw new Error(`${validationRes.error} - No URL provided`)
153
+ }
154
+ await downloadModel(config.url, validationRes.error)
155
+ const revalidationRes = await validateModelFile(config)
156
+ if (revalidationRes.error) {
157
+ throw new Error(`Downloaded files are invalid: ${revalidationRes.error}`)
154
158
  }
159
+ modelMeta = revalidationRes.meta
155
160
  }
156
161
 
157
- const finalValidationError = await validateModelFile(config)
158
- if (finalValidationError) {
159
- throw new Error(`Downloaded files are invalid: ${finalValidationError}`)
160
- }
161
- const gguf = await readGgufFileInfo(config.location, {
162
- signal,
163
- ignoreKeys: [
164
- 'gguf.tokenizer.ggml.merges',
165
- 'gguf.tokenizer.ggml.tokens',
166
- 'gguf.tokenizer.ggml.scores',
167
- 'gguf.tokenizer.ggml.token_type',
168
- ],
169
- })
170
- return {
171
- gguf,
172
- }
162
+ return modelMeta
173
163
  } catch (err) {
174
164
  throw err
175
165
  } finally {
@@ -474,10 +464,10 @@ export async function processChatCompletionTask(
474
464
  onFunctionCall: (functionCall: LlamaChatResponseFunctionCall<any>) => {
475
465
  // log(LogLevels.debug, 'Called function', functionCall)
476
466
  },
477
- }
467
+ }
478
468
  : {
479
469
  grammar: inputGrammar,
480
- }
470
+ }
481
471
 
482
472
  const initialTokenMeterState = instance.chat.sequence.tokenMeter.getState()
483
473
  let completionResult: LlamaChatResult
@@ -1,8 +1,7 @@
1
-
2
-
3
1
  import fs from 'node:fs'
4
2
  import { calculateFileChecksum } from '#package/lib/calculateFileChecksum.js'
5
3
  import { resolveModelFileLocation } from '#package/lib/resolveModelFileLocation.js'
4
+ import { readGgufFileInfo } from 'node-llama-cpp'
6
5
 
7
6
  interface ValidatableModelConfig {
8
7
  url?: string
@@ -12,14 +11,32 @@ interface ValidatableModelConfig {
12
11
  md5?: string
13
12
  }
14
13
 
15
- export async function validateModelFile(config: ValidatableModelConfig): Promise<string | undefined> {
14
+ interface ValidationResult {
15
+ error?: string
16
+ meta?: {
17
+ gguf?: any
18
+ }
19
+ }
20
+
21
+ export async function validateModelFile(
22
+ config: ValidatableModelConfig,
23
+ signal?: AbortSignal,
24
+ ): Promise<ValidationResult> {
16
25
  const fileLocation = resolveModelFileLocation({
17
26
  url: config.url,
18
27
  filePath: config.location,
19
28
  modelsCachePath: config.modelsCachePath,
20
29
  })
21
30
  if (!fs.existsSync(fileLocation)) {
22
- return `Model file missing at ${fileLocation}`
31
+ return {
32
+ error: `Model file missing at ${fileLocation}`,
33
+ }
34
+ }
35
+ const stats = fs.statSync(fileLocation)
36
+ if (stats.size === 0) {
37
+ return {
38
+ error: `Model file at ${fileLocation} is empty`,
39
+ }
23
40
  }
24
41
  const hasChecksum = config.sha256 || config.md5
25
42
  let validatedChecksum = false
@@ -50,7 +67,9 @@ export async function validateModelFile(config: ValidatableModelConfig): Promise
50
67
  }
51
68
  }
52
69
  if (!validatedChecksum) {
53
- return `Model file with incomplete download`
70
+ return {
71
+ error: `Model file with incomplete download`,
72
+ }
54
73
  }
55
74
  }
56
75
 
@@ -58,14 +77,38 @@ export async function validateModelFile(config: ValidatableModelConfig): Promise
58
77
  if (config.sha256) {
59
78
  const fileHash = await calculateFileChecksum(fileLocation, 'sha256')
60
79
  if (fileHash !== config.sha256) {
61
- return `File sha256 checksum mismatch: expected ${config.sha256} got ${fileHash} at ${fileLocation}`
80
+ return {
81
+ error: `File sha256 checksum mismatch: expected ${config.sha256} got ${fileHash} at ${fileLocation}`,
82
+ }
62
83
  }
63
84
  } else if (config.md5) {
64
85
  const fileHash = await calculateFileChecksum(fileLocation, 'md5')
65
86
  if (fileHash !== config.md5) {
66
- return `File md5 checksum mismatch: expected ${config.md5} got ${fileHash} at ${fileLocation}`
87
+ return {
88
+ error: `File md5 checksum mismatch: expected ${config.md5} got ${fileHash} at ${fileLocation}`,
89
+ }
67
90
  }
68
91
  }
69
92
  }
70
- return undefined
93
+
94
+ if (config.location?.endsWith('.gguf')) {
95
+ try {
96
+ const ggufMeta = await readGgufFileInfo(config.location!, {
97
+ signal,
98
+ ignoreKeys: [
99
+ 'gguf.tokenizer.ggml.merges',
100
+ 'gguf.tokenizer.ggml.tokens',
101
+ 'gguf.tokenizer.ggml.scores',
102
+ 'gguf.tokenizer.ggml.token_type',
103
+ ],
104
+ })
105
+ return { meta: { gguf: ggufMeta } }
106
+ } catch (err) {
107
+ return {
108
+ error: `Invalid GGUF: ${err}`,
109
+ }
110
+ }
111
+ }
112
+
113
+ return { meta: {} }
71
114
  }
package/src/server.ts CHANGED
@@ -29,26 +29,88 @@ import { resolveModelFileLocation } from '#package/lib/resolveModelFileLocation.
29
29
  import { validateModelOptions } from '#package/lib/validateModelOptions.js'
30
30
  import { getCacheDirPath } from '#package/lib/getCacheDirPath.js'
31
31
 
32
+ /**
33
+ * Configuration options for initializing a `ModelServer`.
34
+ * The example provided starts a model server using gpt4all as the engine, with the task of text-completion.
35
+ * @interface ModelServerOptions
36
+ * @example
37
+ * const modelServer = await startModelServer({
38
+ * log: 'info',
39
+ * concurrency: 2,
40
+ * models: {
41
+ * 'phi3-mini-4k': {
42
+ * task: 'text-completion',
43
+ * url: 'https://gpt4all.io/models/gguf/Phi-3-mini-4k-instruct.Q4_0.gguf',
44
+ * engine: 'gpt4all',
45
+ * maxInstances: 2,
46
+ * },
47
+ * },
48
+ * })
49
+ */
32
50
  export interface ModelServerOptions {
33
- engines?: Record<string, ModelEngine>
34
- models: Record<string, ModelOptions>
35
- concurrency?: number
36
- cachePath?: string
37
- log?: Logger | LogLevel
51
+ /**
52
+ * A record of custom engines to be used for processing tasks. Each engine is identified by a unique name.
53
+ * @type {Record<string, ModelEngine>}
54
+ * @optional
55
+ */
56
+ engines?: Record<string, ModelEngine>;
57
+
58
+ /**
59
+ * A record of model configurations, where each model is identified by a unique ID, defined by the user.
60
+ * @type {Record<string, ModelOptions>}
61
+ */
62
+ models: Record<string, ModelOptions>;
63
+ /**
64
+ * The maximum number of concurrent tasks allowed in the model pool.
65
+ * @type {number}
66
+ * @optional
67
+ */
68
+ concurrency?: number;
69
+ /**
70
+ * The path to the cache directory where model files and related data will be stored.
71
+ * @type {string}
72
+ * @optional
73
+ */
74
+ cachePath?: string;
75
+ /**
76
+ * A logger instance or log level to control logging for the server. If a log level is provided,
77
+ * a default logger will be created with that level.
78
+ * @type {Logger | LogLevel}
79
+ * @optional
80
+ */
81
+ log?: Logger | LogLevel;
38
82
  }
39
83
 
84
+
40
85
  export function startModelServer(options: ModelServerOptions) {
41
86
  const server = new ModelServer(options)
42
87
  server.start()
43
88
  return server
44
89
  }
45
90
 
91
+ /**
92
+ * Represents a server for managing and serving machine learning models, including model initialization,
93
+ * request handling, and task processing.
94
+ *
95
+ * @class ModelServer
96
+ */
46
97
  export class ModelServer {
98
+ /** @property {ModelPool} pool - A pool for managing model instances and concurrency. */
47
99
  pool: ModelPool
100
+
101
+ /** @property {ModelStore} store - A store for managing model metadata, preparation, and storage. */
48
102
  store: ModelStore
103
+
104
+ /** @property {Record<string, ModelEngine>} engines - A record of engines (custom and built-in) used for processing tasks. */
49
105
  engines: Record<string, ModelEngine> = {}
106
+
107
+ /** @property {Logger} log - Logger for tracking the server's activities and errors. */
50
108
  log: Logger
51
109
 
110
+ /**
111
+ * Constructs a `ModelServer` instance with the specified options.
112
+ * @param {ModelServerOptions} options - Configuration options for the server.
113
+ */
52
114
  constructor(options: ModelServerOptions) {
53
115
  this.log = createSublogger(options.log)
54
116
  let modelsCachePath = getCacheDirPath('models')
@@ -125,7 +187,11 @@ export class ModelServer {
125
187
  modelExists(modelId: string) {
126
188
  return !!this.pool.config.models[modelId]
127
189
  }
128
-
190
+ /**
191
+ * Starts the model server, initializing engines and preparing the model store and pool.
192
+ * Usually you would not need to call this method. startModelServer() will do this for you.
193
+ * @returns {Promise<void>} Resolves when the server is fully started.
194
+ */
129
195
  async start() {
130
196
  const engineStartPromises = []
131
197
  // call startEngine on custom engines
@@ -161,7 +227,9 @@ export class ModelServer {
161
227
  await Promise.all(engineStartPromises)
162
228
  await Promise.all([this.store.init(this.engines), this.pool.init(this.engines)])
163
229
  }
164
-
230
+ /**
231
+ * Stops the server. disposes all resources. Clears the queue of working tasks.
232
+ **/
165
233
  async stop() {
166
234
  this.log(LogLevels.info, 'Stopping model server')
167
235
  this.pool.queue.clear()
@@ -176,7 +244,14 @@ export class ModelServer {
176
244
 
177
245
  this.log(LogLevels.debug, 'Model server stopped')
178
246
  }
179
-
247
+ /**
248
+ * Requests an available model instance from the pool for a specific task.
249
+ * There is not much need to call this method unless you are creating a custom task pipeline.
250
+ * This method is called internally by the processXTask methods.
251
+ * @param {InferenceRequest} request - The inference request details.
252
+ * @param {AbortSignal} [signal] - Optional signal to cancel the request.
253
+ * @returns {Promise<ModelInstance>} The requested model instance.
254
+ */
180
255
  async requestInstance(request: InferenceRequest, signal?: AbortSignal) {
181
256
  return this.pool.requestInstance(request, signal)
182
257
  }
@@ -213,7 +288,7 @@ export class ModelServer {
213
288
  await lock.release()
214
289
  return result
215
290
  }
216
-
291
+
217
292
  async processTextCompletionTask(args: TextCompletionRequest, options?: CompletionProcessingOptions) {
218
293
  const lock = await this.requestInstance(args)
219
294
  const task = lock.instance.processTextCompletionTask(args, options)
@@ -221,7 +296,7 @@ export class ModelServer {
221
296
  await lock.release()
222
297
  return result
223
298
  }
224
-
299
+
225
300
  async processEmbeddingTask(args: EmbeddingRequest, options?: ProcessingOptions) {
226
301
  const lock = await this.requestInstance(args)
227
302
  const task = lock.instance.processEmbeddingTask(args, options)
@@ -229,7 +304,7 @@ export class ModelServer {
229
304
  await lock.release()
230
305
  return result
231
306
  }
232
-
307
+
233
308
  async processImageToTextTask(args: ImageToTextRequest, options?: ProcessingOptions) {
234
309
  const lock = await this.requestInstance(args)
235
310
  const task = lock.instance.processImageToTextTask(args, options)
@@ -261,7 +336,6 @@ export class ModelServer {
261
336
  await lock.release()
262
337
  return result
263
338
  }
264
-
265
339
  async processImageToImageTask(args: ImageToImageRequest, options?: ProcessingOptions) {
266
340
  const lock = await this.requestInstance(args)
267
341
  const task = lock.instance.processImageToImageTask(args, options)
@@ -269,7 +343,7 @@ export class ModelServer {
269
343
  await lock.release()
270
344
  return result
271
345
  }
272
-
346
+
273
347
  async processObjectRecognitionTask(args: ObjectRecognitionRequest, options?: ProcessingOptions) {
274
348
  const lock = await this.requestInstance(args)
275
349
  const task = lock.instance.processObjectRecognitionTask(args, options)
@@ -278,6 +352,11 @@ export class ModelServer {
278
352
  return result
279
353
  }
280
354
 
355
+ /**
356
+ * Retrieves the current status of the model server, including pool and store status.
357
+ *
358
+ * @returns {Object} The status object containing pool and store information.
359
+ */
281
360
  getStatus() {
282
361
  const poolStatus = this.pool.getStatus()
283
362
  const storeStatus = this.store.getStatus()
package/src/standalone.ts CHANGED
@@ -314,30 +314,20 @@ const serverOptions: ModelHTTPServerOptions = {
314
314
  // prepare: 'async',
315
315
  // dtype: 'fp16',
316
316
  // },
317
- // 'whisper-base': {
318
- // url: 'https://huggingface.co/onnx-community/whisper-base',
319
- // engine: 'transformers-js',
320
- // task: 'speech-to-text',
321
- // prepare: 'async',
322
- // minInstances: 1,
323
- // modelClass: WhisperForConditionalGeneration,
324
- // dtype: {
325
- // encoder_model: 'fp16',
326
- // decoder_model_merged: 'q4',
327
- // },
328
- // device: {
329
- // gpu: false,
330
- // },
331
- // },
332
- mobilellm: {
333
- // url: 'https://huggingface.co/onnx-community/MobileLLM-600M'
334
- // url: 'https://huggingface.co/onnx-community/MobileLLM-350M',
335
- url: 'https://huggingface.co/onnx-community/MobileLLM-125M',
317
+ 'whisper-base': {
318
+ url: 'https://huggingface.co/onnx-community/whisper-base',
336
319
  engine: 'transformers-js',
337
- task: 'text-completion',
338
- modelClass: 'MobileLLMForCausalLM',
339
- dtype: 'fp16',
340
- prepare: 'blocking',
320
+ task: 'speech-to-text',
321
+ prepare: 'async',
322
+ minInstances: 1,
323
+ modelClass: WhisperForConditionalGeneration,
324
+ dtype: {
325
+ encoder_model: 'fp16',
326
+ decoder_model_merged: 'q4',
327
+ },
328
+ device: {
329
+ gpu: false,
330
+ },
341
331
  },
342
332
  },
343
333
  }