inference-server 1.0.0-beta.28 → 1.0.0-beta.29

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.
@@ -449,7 +449,7 @@ export async function processChatCompletionTask(task, ctx, signal) {
449
449
  leadingResponseText = lastResponsePart;
450
450
  }
451
451
  // resolve function call results
452
- const results = await Promise.all(invokableFunctionCalls.map(async (functionCall) => {
452
+ const functionCallResults = await Promise.all(invokableFunctionCalls.map(async (functionCall) => {
453
453
  const functionDef = functionDefinitions[functionCall.functionName];
454
454
  if (!functionDef) {
455
455
  throw new Error(`The model tried to call undefined function "${functionCall.functionName}"`);
@@ -480,7 +480,7 @@ export async function processChatCompletionTask(task, ctx, signal) {
480
480
  newContextWindowChatHistory = lastEvaluation.contextWindow;
481
481
  let startsNewChunk = supportsParallelFunctionCalling;
482
482
  // add results to chat history in the order they were called
483
- for (const callResult of results) {
483
+ for (const callResult of functionCallResults) {
484
484
  newChatHistory = addFunctionCallToChatHistory({
485
485
  chatHistory: newChatHistory,
486
486
  functionName: callResult.functionCall.functionName,
@@ -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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"}
package/dist/instance.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import crypto from 'node:crypto';
2
2
  import { customAlphabet } from 'nanoid';
3
- import { calculateContextIdentity } from './lib/calculateContextIdentity.js';
3
+ import { calculateChatContextIdentity } from './lib/calculateChatContextIdentity.js';
4
4
  import { LogLevels, createLogger, withLogMeta } from './lib/logger.js';
5
5
  import { elapsedMillis, mergeAbortSignals } from './lib/util.js';
6
+ import { getLargestCommonPrefix } from './lib/getLargestCommonPrefix.js';
6
7
  const idAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
7
8
  const generateId = customAlphabet(idAlphabet, 8);
8
9
  export class ModelInstance {
@@ -75,14 +76,15 @@ export class ModelInstance {
75
76
  }, abortSignal);
76
77
  this.status = 'idle';
77
78
  if (this.config.initialMessages?.length) {
78
- this.contextIdentity = calculateContextIdentity({
79
+ this.contextIdentity = calculateChatContextIdentity({
79
80
  messages: this.config.initialMessages,
80
81
  });
81
82
  }
82
83
  if (this.config.prefix) {
83
- this.contextIdentity = calculateContextIdentity({
84
- text: this.config.prefix,
85
- });
84
+ // this.contextIdentity = calculateContextIdentity({
85
+ // text: this.config.prefix,
86
+ // })
87
+ this.contextIdentity = this.config.prefix;
86
88
  }
87
89
  this.log(LogLevels.debug, 'Instance loaded', {
88
90
  elapsed: elapsedMillis(loadBegin),
@@ -128,22 +130,18 @@ export class ModelInstance {
128
130
  if (!this.contextIdentity) {
129
131
  return false;
130
132
  }
131
- let incomingContextIdentity = '';
132
133
  if ('messages' in request && request.messages?.length) {
133
- incomingContextIdentity = calculateContextIdentity({
134
+ const incomingContextIdentity = calculateChatContextIdentity({
134
135
  messages: request.messages,
135
136
  dropLastUserMessage: true,
136
137
  });
138
+ return this.contextIdentity === incomingContextIdentity;
137
139
  }
138
140
  else if ('prompt' in request && request.prompt) {
139
- incomingContextIdentity = calculateContextIdentity({
140
- text: request.prompt,
141
- });
141
+ const commonPrefix = getLargestCommonPrefix(this.contextIdentity, request.prompt);
142
+ return commonPrefix.length > 0;
142
143
  }
143
- if (!incomingContextIdentity) {
144
- return false;
145
- }
146
- return this.contextIdentity === incomingContextIdentity || incomingContextIdentity.startsWith(this.contextIdentity);
144
+ return false;
147
145
  }
148
146
  matchesRequirements(request) {
149
147
  const requiresGpu = !!this.config.device?.gpu && this.config.device?.gpu !== 'auto';
@@ -207,7 +205,7 @@ export class ModelInstance {
207
205
  signal: args?.signal,
208
206
  });
209
207
  // start completion processing
210
- taskLogger(LogLevels.verbose, 'Creating chat completion');
208
+ taskLogger(LogLevels.info, 'Processing chat completion task');
211
209
  const taskBegin = process.hrtime.bigint();
212
210
  const taskContext = {
213
211
  instance: this.engineRef,
@@ -223,7 +221,7 @@ export class ModelInstance {
223
221
  else if (controller.cancelSignal.aborted) {
224
222
  result.finishReason = 'cancel';
225
223
  }
226
- this.contextIdentity = calculateContextIdentity({
224
+ this.contextIdentity = calculateChatContextIdentity({
227
225
  messages: [...args.messages, result.message],
228
226
  });
229
227
  return result;
@@ -287,7 +285,7 @@ export class ModelInstance {
287
285
  timeout: args?.timeout,
288
286
  signal: args?.signal,
289
287
  });
290
- taskLogger(LogLevels.verbose, 'Creating text completion task');
288
+ taskLogger(LogLevels.info, 'Processing text completion task');
291
289
  // pass on resetContext if this instance has been flagged for reset
292
290
  let resetContext = false;
293
291
  if (this.needsContextReset) {
@@ -310,9 +308,10 @@ export class ModelInstance {
310
308
  else if (controller.cancelSignal.aborted) {
311
309
  result.finishReason = 'cancel';
312
310
  }
313
- this.contextIdentity = calculateContextIdentity({
314
- text: args.prompt + result.text,
315
- });
311
+ // this.contextIdentity = calculateContextIdentity({
312
+ // text: args.prompt + result.text,
313
+ // })
314
+ this.contextIdentity = args.prompt + result.text;
316
315
  return result;
317
316
  })
318
317
  .catch((error) => {
@@ -374,6 +373,7 @@ export class ModelInstance {
374
373
  config: this.config,
375
374
  log: taskLogger,
376
375
  };
376
+ taskLogger(LogLevels.info, `Processing ${taskType} task`);
377
377
  const processor = this.engine[processorName];
378
378
  const result = processor(args, taskContext, controller.signal)
379
379
  .then((result) => {
@@ -382,7 +382,7 @@ export class ModelInstance {
382
382
  if (controller.timeoutSignal.aborted) {
383
383
  taskLogger(LogLevels.warn, `${taskType} task timed out`);
384
384
  }
385
- taskLogger(LogLevels.verbose, `${taskType} task done`, {
385
+ taskLogger(LogLevels.info, `${taskType} task done`, {
386
386
  elapsed: timeElapsed,
387
387
  });
388
388
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAgCvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,SAAS,EAAU,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEvE,MAAM,UAAU,GAAG,gEAAgE,CAAA;AACnF,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;AAShD,MAAM,OAAO,aAAa;IACzB,EAAE,CAAQ;IACV,MAAM,CAAqB;IAC3B,OAAO,CAAQ;IACf,MAAM,CAAa;IACnB,WAAW,CAAQ;IACnB,SAAS,CAAM;IACf,QAAQ,GAAW,CAAC,CAAA;IACpB,GAAG,CAAS;IACZ,GAAG,CAAQ;IACX,GAAG,CAAQ;IAEH,MAAM,CAAa;IACnB,SAAS,CAAuB;IAChC,eAAe,CAAS;IACxB,iBAAiB,GAAY,KAAK,CAAA;IAClC,cAAc,CAA8B;IAC5C,kBAAkB,CAAiB;IAE3C,YAAY,MAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,EAAwB;QAC9E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAA;QACzB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,EAAE;SACjB,CAAC,CAAA;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAA;QAE/C,kGAAkG;QAClG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1F,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,2BAA2B,EAAE;YACrD,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,UAAU,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC,CAAA;IACH,CAAC;IAEO,kBAAkB;QACzB,OAAO,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAEO,cAAc;QACrB,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAoB;QAC9B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC/E,IAAI,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAChD;gBACC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,EAAE;iBACjB,CAAC;gBACF,MAAM,EAAE;oBACP,GAAG,IAAI,CAAC,MAAM;oBACd,MAAM,EAAE;wBACP,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;wBACrB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK;qBAC/C;iBACD;aACD,EACD,WAAW,CACX,CAAA;YACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC,eAAe,GAAG,wBAAwB,CAAC;oBAC/C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;iBACrC,CAAC,CAAA;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,wBAAwB,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;iBACxB,CAAC,CAAA;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE;gBAC5C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC;aACjC,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;YACrB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,0BAA0B,EAAE;gBACrD,KAAK;aACL,CAAC,CAAA;YACF,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC;IAED,OAAO;QACN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAA;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,OAA6B;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,EAAE,cAAc,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED,YAAY;QACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC9B,CAAC;IAED,uBAAuB;QACtB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC5B,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS,CAAA;IAC1C,CAAC;IAED,mBAAmB,CAAC,OAA6B;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAA;QACb,CAAC;QACD,IAAI,uBAAuB,GAAG,EAAE,CAAA;QAChC,IAAI,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvD,uBAAuB,GAAG,wBAAwB,CAAC;gBAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,mBAAmB,EAAE,IAAI;aACzB,CAAC,CAAA;QACH,CAAC;aAAM,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,uBAAuB,GAAG,wBAAwB,CAAC;gBAClD,IAAI,EAAE,OAAO,CAAC,MAAM;aACpB,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,KAAK,uBAAuB,IAAI,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACpH,CAAC;IAED,mBAAmB,CAAC,OAA6B;QAChD,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAA;QACnF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,CAAA;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,OAAO,YAAY,IAAI,UAAU,CAAA;IAClC,CAAC;IAEO,oBAAoB,CAAC,IAAgD;QAC5E,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAA;QAC9C,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAA;QAC/C,MAAM,YAAY,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAC9E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,OAAmC,CAAA;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAChB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO;YACN,MAAM,EAAE,GAAG,EAAE;gBACZ,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAChC,IAAI,OAAO,EAAE,CAAC;oBACb,YAAY,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACF,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACd,IAAI,OAAO,EAAE,CAAC;oBACb,YAAY,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACF,CAAC;YACD,MAAM,EAAE,iBAAiB,CAAC,YAAY,CAAC;YACvC,aAAa,EAAE,iBAAiB,CAAC,MAAM;YACvC,YAAY,EAAE,gBAAgB,CAAC,MAAM;SACrC,CAAA;IACF,CAAC;IAED,yBAAyB,CAAC,IAA4B;QACrD,IAAI,CAAC,CAAC,2BAA2B,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,uCAAuC,CAAC,CAAA;QACtF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,cAAe,CAAC,QAAQ;YACvC,IAAI,EAAE,EAAE;SACR,CAAC,CAAA;QACF,uDAAuD;QACvD,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;YAC9B,YAAY,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,MAAM,EAAE,IAAI,EAAE,MAAM;SACpB,CAAC,CAAA;QACF,8BAA8B;QAC9B,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QACzC,MAAM,WAAW,GAAG;YACnB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY;YACZ,GAAG,EAAE,UAAU;SACf,CAAA;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAA0B,CAC/D,IAAI,EACJ,WAAW,EACX,UAAU,CAAC,MAAM,CACjB;aACC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAA;YAChC,CAAC;iBAAM,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAA;YAC/B,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,wBAAwB,CAAC;gBAC/C,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjC,MAAM,aAAa,GAA6B;oBAC/C,YAAY,EAAE,OAAO;oBACrB,OAAO,EAAE;wBACR,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,EAAE;qBACX;oBACD,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,aAAa,EAAE,CAAC;iBAChB,CAAA;gBACD,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBACtC,aAAa,CAAC,YAAY,GAAG,SAAS,CAAA;oBACtC,OAAO,aAAa,CAAA;gBACrB,CAAC;gBACD,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBACrC,aAAa,CAAC,YAAY,GAAG,QAAQ,CAAA;oBACrC,OAAO,aAAa,CAAA;gBACrB,CAAC;gBACD,OAAO,aAAa,CAAA;YACrB,CAAC;YACD,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;gBAC7D,KAAK;aACL,CAAC,CAAA;YACF,MAAM,KAAK,CAAA;QACZ,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAC5C,UAAU,CAAC,QAAQ,EAAE,CAAA;YACrB,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,2BAA2B,EAAE;gBACvD,OAAO,EAAE,WAAW;aACpB,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;QACH,OAAO;YACN,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SACzB,CAAA;IACF,CAAC;IAED,yBAAyB,CAAC,IAA4B;QACrD,IAAI,CAAC,CAAC,2BAA2B,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,sCAAsC,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,cAAe,CAAC,QAAQ;YACvC,IAAI,EAAE,EAAE;SACR,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,MAAM,EAAE,IAAI,EAAE,MAAM;SACpB,CAAC,CAAA;QACF,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAA;QAC9D,mEAAmE;QACnE,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;YAC9B,YAAY,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QACzC,MAAM,WAAW,GAAG;YACnB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY;YACZ,GAAG,EAAE,UAAU;SACf,CAAA;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAA0B,CAAC,IAAI,EACpE,WAAW,EACX,UAAU,CAAC,MAAM,CACjB;aACC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAA;YAChC,CAAC;iBAAM,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAA;YAC/B,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,wBAAwB,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI;aAC/B,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjC,MAAM,aAAa,GAA6B;oBAC/C,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,EAAE;oBACR,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,aAAa,EAAE,CAAC;iBAChB,CAAA;gBACD,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBACtC,aAAa,CAAC,YAAY,GAAG,SAAS,CAAA;oBACtC,OAAO,aAAa,CAAA;gBACrB,CAAC;gBACD,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBACrC,aAAa,CAAC,YAAY,GAAG,QAAQ,CAAA;oBACrC,OAAO,aAAa,CAAA;gBACrB,CAAC;gBACD,OAAO,aAAa,CAAA;YACrB,CAAC;YACD,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;gBAC7D,KAAK;aACL,CAAC,CAAA;YACF,MAAM,KAAK,CAAA;QACZ,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAC5C,UAAU,CAAC,QAAQ,EAAE,CAAA;YACrB,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,2BAA2B,EAAE;gBACvD,OAAO,EAAE,WAAW;aACpB,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;QACH,OAAO;YACN,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,iBAAiB;SACzB,CAAA;IACF,CAAC;IAEO,WAAW,CAClB,QAAkB,EAClB,aAAgC,EAChC,IAAc;QAEd,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,wBAAwB,QAAQ,EAAE,CAAC,CAAA;QACjF,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,cAAe,CAAC,QAAQ;YACvC,IAAI,EAAE,EAAE;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,MAAM,EAAE,IAAI,EAAE,MAAM;SACpB,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QACzC,MAAM,WAAW,GAAG;YACnB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,UAAU;SACf,CAAA;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAiC,CAAA;QAC5E,MAAM,MAAM,GAAwB,SAAS,CAC5C,IAAI,EACJ,WAAW,EACX,UAAU,CAAC,MAAM,CACjB;aACC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAC5C,UAAU,CAAC,QAAQ,EAAE,CAAA;YACrB,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAA;YACzD,CAAC;YACD,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,QAAQ,YAAY,EAAE;gBACtD,OAAO,EAAE,WAAW;aACpB,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE;gBAC7C,KAAK;aACL,CAAC,CAAA;YACF,MAAM,KAAK,CAAA;QACZ,CAAC,CAAC,CAAA;QAEH,OAAO;YACN,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,MAAoB;SAC5B,CAAA;IACF,CAAC;IAED,oBAAoB,CAAC,IAAuB;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAsB,WAAW,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAA;IACxF,CAAC;IAED,sBAAsB,CAAC,IAAyB;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAwB,eAAe,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAA;IAChG,CAAC;IAED,uBAAuB,CAAC,IAA0B;QACjD,OAAO,IAAI,CAAC,WAAW,CAAyB,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,uBAAuB,CAAC,IAA0B;QACjD,OAAO,IAAI,CAAC,WAAW,CAAyB,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,uBAAuB,CAAC,IAA0B;QACjD,OAAO,IAAI,CAAC,WAAW,CAAyB,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,sBAAsB,CAAC,IAAyB;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAwB,eAAe,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAA;IAChG,CAAC;IAED,6BAA6B,CAAC,IAAgC;QAC7D,OAAO,IAAI,CAAC,WAAW,CAA+B,qBAAqB,EAAE,+BAA+B,EAAE,IAAI,CAAC,CAAA;IACpH,CAAC;IAED,0BAA0B,CAAC,IAA6B;QACvD,OAAO,IAAI,CAAC,WAAW,CAA4B,kBAAkB,EAAE,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAC3G,CAAC;CACD"}
1
+ {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { ChatMessage } from '../types/index.js';
2
2
  export interface CalculateContextIdentityOptions {
3
3
  messages?: ChatMessage[];
4
- text?: string;
5
4
  dropLastUserMessage?: boolean;
6
5
  }
7
- export declare function calculateContextIdentity({ messages, text, dropLastUserMessage, }: CalculateContextIdentityOptions): string;
6
+ export declare function calculateChatContextIdentity({ messages, dropLastUserMessage, }: CalculateContextIdentityOptions): string;
@@ -0,0 +1,32 @@
1
+ import crypto from 'node:crypto';
2
+ import { flattenMessageTextContent } from './flattenMessageTextContent.js';
3
+ export function calculateChatContextIdentity({ messages, dropLastUserMessage = false, }) {
4
+ if (!messages?.length) {
5
+ return '';
6
+ }
7
+ const filteredMessages = messages.filter((message, i) => {
8
+ // remove all but the leading system message
9
+ if (message.role === 'system' && i !== 0) {
10
+ return false;
11
+ }
12
+ if (message.role === 'tool') {
13
+ return false;
14
+ }
15
+ const textContent = flattenMessageTextContent(message.content);
16
+ return !!textContent;
17
+ });
18
+ if (dropLastUserMessage && filteredMessages.length > 1) {
19
+ if (filteredMessages[filteredMessages.length - 1].role === 'user') {
20
+ filteredMessages.pop();
21
+ }
22
+ }
23
+ // we dont wanna json stringify because this would make message key order significant
24
+ const serializedMessages = filteredMessages
25
+ .map((message) => {
26
+ return message.role + ': ' + flattenMessageTextContent(message.content);
27
+ })
28
+ .join('\n');
29
+ const contextIdentity = crypto.createHash('sha1').update(serializedMessages).digest('hex');
30
+ return contextIdentity;
31
+ }
32
+ //# sourceMappingURL=calculateChatContextIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateChatContextIdentity.js","sourceRoot":"","sources":["../../src/lib/calculateChatContextIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAO1E,MAAM,UAAU,4BAA4B,CAAC,EAC5C,QAAQ,EACR,mBAAmB,GAAG,KAAK,GACM;IACjC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAA;IACV,CAAC;IACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QACvD,4CAA4C;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAA;QACb,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAA;QACb,CAAC;QACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9D,OAAO,CAAC,CAAC,WAAW,CAAA;IACrB,CAAC,CAAC,CAAA;IACF,IAAI,mBAAmB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnE,gBAAgB,CAAC,GAAG,EAAE,CAAA;QACvB,CAAC;IACF,CAAC;IACD,qFAAqF;IACrF,MAAM,kBAAkB,GAAG,gBAAgB;SACzC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,OAAO,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1F,OAAO,eAAe,CAAA;AACvB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getLargestCommonPrefix(str1: string, str2: string): string;
@@ -0,0 +1,9 @@
1
+ export function getLargestCommonPrefix(str1, str2) {
2
+ const minLength = Math.min(str1.length, str2.length);
3
+ let prefixLength = 0;
4
+ while (prefixLength < minLength && str1[prefixLength] === str2[prefixLength]) {
5
+ prefixLength++;
6
+ }
7
+ return str1.slice(0, prefixLength);
8
+ }
9
+ //# sourceMappingURL=getLargestCommonPrefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLargestCommonPrefix.js","sourceRoot":"","sources":["../../src/lib/getLargestCommonPrefix.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,IAAY;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,YAAY,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7E,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACpC,CAAC"}
package/dist/pool.d.ts CHANGED
@@ -56,6 +56,6 @@ export declare class ModelPool extends EventEmitter3<ModelPoolEvent> {
56
56
  private acquireIdleInstance;
57
57
  private acquireInstance;
58
58
  private createRequestSequence;
59
- requestInstance(params: InferenceParams, signal?: AbortSignal): Promise<ModelInstanceHandle>;
59
+ requestInstance(params: Partial<InferenceParams>, signal?: AbortSignal): Promise<ModelInstanceHandle>;
60
60
  }
61
61
  export {};
package/dist/pool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export interface TextCompletionParamsBase {
21
21
  }
22
22
  export interface TextCompletionParams extends TextCompletionParamsBase {
23
23
  model: string;
24
- prompt?: string;
24
+ prompt: string;
25
25
  }
26
26
  export interface ChatCompletionParams extends TextCompletionParamsBase {
27
27
  model: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inference-server",
3
- "version": "1.0.0-beta.28",
3
+ "version": "1.0.0-beta.29",
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",
@@ -86,7 +86,7 @@
86
86
  "express": "^4.21.2",
87
87
  "ipull": "^3.9.2",
88
88
  "micromatch": "^4.0.8",
89
- "nanoid": "^5.1.0",
89
+ "nanoid": "^5.1.2",
90
90
  "p-queue": "^8.1.0",
91
91
  "pretty-bytes": "^6.1.1",
92
92
  "pretty-ms": "^9.2.0",
@@ -101,19 +101,19 @@
101
101
  "@types/cors": "^2.8.17",
102
102
  "@types/express": "^5.0.0",
103
103
  "@types/micromatch": "^4.0.9",
104
- "@types/node": "^22.13.4",
104
+ "@types/node": "^22.13.5",
105
105
  "@types/proper-lockfile": "^4.1.4",
106
106
  "@types/supertest": "^6.0.2",
107
107
  "@types/yargs": "^17.0.33",
108
108
  "concurrently": "^9.1.2",
109
109
  "cross-env": "^7.0.3",
110
110
  "gpt4all": "^4.0.0",
111
- "node-llama-cpp": "^3.5.0",
112
- "openai": "^4.85.1",
111
+ "node-llama-cpp": "^3.6.0",
112
+ "openai": "^4.85.4",
113
113
  "supertest": "^7.0.0",
114
114
  "tsc-alias": "^1.8.10",
115
115
  "typescript": "^5.7.3",
116
116
  "vite-tsconfig-paths": "^5.1.4",
117
- "vitest": "^3.0.5"
117
+ "vitest": "^3.0.6"
118
118
  }
119
119
  }
package/src/instance.ts CHANGED
@@ -31,9 +31,10 @@ import {
31
31
  TextClassificationTaskResult,
32
32
  ObjectDetectionTaskResult,
33
33
  } from '#package/types/index.js'
34
- import { calculateContextIdentity } from '#package/lib/calculateContextIdentity.js'
34
+ import { calculateChatContextIdentity } from '#package/lib/calculateChatContextIdentity.js'
35
35
  import { LogLevels, Logger, createLogger, withLogMeta } from '#package/lib/logger.js'
36
36
  import { elapsedMillis, mergeAbortSignals } from '#package/lib/util.js'
37
+ import { getLargestCommonPrefix } from '#package/lib/getLargestCommonPrefix.js'
37
38
 
38
39
  const idAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
39
40
  const generateId = customAlphabet(idAlphabet, 8)
@@ -125,14 +126,12 @@ export class ModelInstance<TEngineRef = unknown> {
125
126
  )
126
127
  this.status = 'idle'
127
128
  if (this.config.initialMessages?.length) {
128
- this.contextIdentity = calculateContextIdentity({
129
+ this.contextIdentity = calculateChatContextIdentity({
129
130
  messages: this.config.initialMessages,
130
131
  })
131
132
  }
132
133
  if (this.config.prefix) {
133
- this.contextIdentity = calculateContextIdentity({
134
- text: this.config.prefix,
135
- })
134
+ this.contextIdentity = this.config.prefix
136
135
  }
137
136
  this.log(LogLevels.debug, 'Instance loaded', {
138
137
  elapsed: elapsedMillis(loadBegin),
@@ -184,23 +183,18 @@ export class ModelInstance<TEngineRef = unknown> {
184
183
  if (!this.contextIdentity) {
185
184
  return false
186
185
  }
187
- let incomingContextIdentity = ''
188
186
  if ('messages' in request && request.messages?.length) {
189
- incomingContextIdentity = calculateContextIdentity({
187
+ const incomingContextIdentity = calculateChatContextIdentity({
190
188
  messages: request.messages,
191
189
  dropLastUserMessage: true,
192
190
  })
191
+ return this.contextIdentity === incomingContextIdentity
193
192
  } else if ('prompt' in request && request.prompt) {
194
- incomingContextIdentity = calculateContextIdentity({
195
- text: request.prompt,
196
- })
197
- }
198
-
199
- if (!incomingContextIdentity) {
200
- return false
193
+ const commonPrefix = getLargestCommonPrefix(this.contextIdentity, request.prompt)
194
+ return commonPrefix.length > 0
201
195
  }
202
-
203
- return this.contextIdentity === incomingContextIdentity || incomingContextIdentity.startsWith(this.contextIdentity)
196
+
197
+ return false
204
198
  }
205
199
 
206
200
  matchesRequirements(request: ModelInstanceRequest) {
@@ -267,7 +261,7 @@ export class ModelInstance<TEngineRef = unknown> {
267
261
  signal: args?.signal,
268
262
  })
269
263
  // start completion processing
270
- taskLogger(LogLevels.verbose, 'Creating chat completion')
264
+ taskLogger(LogLevels.info, 'Processing chat completion task')
271
265
  const taskBegin = process.hrtime.bigint()
272
266
  const taskContext = {
273
267
  instance: this.engineRef,
@@ -286,7 +280,7 @@ export class ModelInstance<TEngineRef = unknown> {
286
280
  } else if (controller.cancelSignal.aborted) {
287
281
  result.finishReason = 'cancel'
288
282
  }
289
- this.contextIdentity = calculateContextIdentity({
283
+ this.contextIdentity = calculateChatContextIdentity({
290
284
  messages: [...args.messages, result.message],
291
285
  })
292
286
  return result
@@ -351,7 +345,7 @@ export class ModelInstance<TEngineRef = unknown> {
351
345
  timeout: args?.timeout,
352
346
  signal: args?.signal,
353
347
  })
354
- taskLogger(LogLevels.verbose, 'Creating text completion task')
348
+ taskLogger(LogLevels.info, 'Processing text completion task')
355
349
  // pass on resetContext if this instance has been flagged for reset
356
350
  let resetContext = false
357
351
  if (this.needsContextReset) {
@@ -376,9 +370,7 @@ export class ModelInstance<TEngineRef = unknown> {
376
370
  } else if (controller.cancelSignal.aborted) {
377
371
  result.finishReason = 'cancel'
378
372
  }
379
- this.contextIdentity = calculateContextIdentity({
380
- text: args.prompt + result.text,
381
- })
373
+ this.contextIdentity = args.prompt + result.text
382
374
  return result
383
375
  })
384
376
  .catch((error) => {
@@ -449,6 +441,8 @@ export class ModelInstance<TEngineRef = unknown> {
449
441
  log: taskLogger,
450
442
  }
451
443
 
444
+ taskLogger(LogLevels.info, `Processing ${taskType} task`)
445
+
452
446
  const processor = this.engine[processorName] as TaskProcessor<any, any, any>
453
447
  const result: Promise<TaskResult> = processor(
454
448
  args,
@@ -461,7 +455,7 @@ export class ModelInstance<TEngineRef = unknown> {
461
455
  if (controller.timeoutSignal.aborted) {
462
456
  taskLogger(LogLevels.warn, `${taskType} task timed out`)
463
457
  }
464
- taskLogger(LogLevels.verbose, `${taskType} task done`, {
458
+ taskLogger(LogLevels.info, `${taskType} task done`, {
465
459
  elapsed: timeElapsed,
466
460
  })
467
461
  return result
@@ -0,0 +1,41 @@
1
+ import crypto from 'node:crypto'
2
+ import { ChatMessage } from '#package/types/index.js'
3
+ import { flattenMessageTextContent } from './flattenMessageTextContent.js'
4
+
5
+ export interface CalculateContextIdentityOptions {
6
+ messages?: ChatMessage[]
7
+ dropLastUserMessage?: boolean
8
+ }
9
+
10
+ export function calculateChatContextIdentity({
11
+ messages,
12
+ dropLastUserMessage = false,
13
+ }: CalculateContextIdentityOptions): string {
14
+ if (!messages?.length) {
15
+ return ''
16
+ }
17
+ const filteredMessages = messages.filter((message, i) => {
18
+ // remove all but the leading system message
19
+ if (message.role === 'system' && i !== 0) {
20
+ return false
21
+ }
22
+ if (message.role === 'tool') {
23
+ return false
24
+ }
25
+ const textContent = flattenMessageTextContent(message.content)
26
+ return !!textContent
27
+ })
28
+ if (dropLastUserMessage && filteredMessages.length > 1) {
29
+ if (filteredMessages[filteredMessages.length - 1].role === 'user') {
30
+ filteredMessages.pop()
31
+ }
32
+ }
33
+ // we dont wanna json stringify because this would make message key order significant
34
+ const serializedMessages = filteredMessages
35
+ .map((message) => {
36
+ return message.role + ': ' + flattenMessageTextContent(message.content)
37
+ })
38
+ .join('\n')
39
+ const contextIdentity = crypto.createHash('sha1').update(serializedMessages).digest('hex')
40
+ return contextIdentity
41
+ }
@@ -0,0 +1,12 @@
1
+
2
+
3
+ export function getLargestCommonPrefix(str1: string, str2: string): string {
4
+ const minLength = Math.min(str1.length, str2.length);
5
+ let prefixLength = 0;
6
+
7
+ while (prefixLength < minLength && str1[prefixLength] === str2[prefixLength]) {
8
+ prefixLength++;
9
+ }
10
+
11
+ return str1.slice(0, prefixLength);
12
+ }
package/src/pool.ts CHANGED
@@ -496,13 +496,13 @@ export class ModelPool extends EventEmitter3<ModelPoolEvent> {
496
496
  }
497
497
 
498
498
  // requests a model instance from the pool
499
- async requestInstance(params: InferenceParams, signal?: AbortSignal): Promise<ModelInstanceHandle> {
499
+ async requestInstance(params: Partial<InferenceParams>, signal?: AbortSignal): Promise<ModelInstanceHandle> {
500
500
  if (this.shutdownController.signal.aborted) {
501
501
  throw new Error('Pool is disposed')
502
502
  }
503
503
  const requestSequence = this.createRequestSequence()
504
504
  const request = {
505
- ...params,
505
+ ...params as InferenceParams,
506
506
  sequence: requestSequence,
507
507
  abortController: new AbortController(),
508
508
  }
package/src/standalone.ts CHANGED
@@ -283,6 +283,14 @@ const serverOptions: InferenceServerOptions = {
283
283
  // task: 'text-to-image',
284
284
  // prepare: 'async',
285
285
  // },
286
+ // 'llama-3.2-3b': {
287
+ // url: 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/blob/main/Llama-3.2-3B-Instruct-Q6_K_L.gguf',
288
+ // sha256:
289
+ // 'c542b14ec07b8b3cb8d777e1a68ee5aabb964167719466d4c685c29fcfd04900',
290
+ // engine: 'node-llama-cpp',
291
+ // task: 'text-completion',
292
+ // prepare: 'blocking',
293
+ // },
286
294
  // speecht5: {
287
295
  // url: 'https://huggingface.co/Xenova/speecht5_tts',
288
296
  // engine: 'transformers-js',
@@ -304,74 +312,21 @@ const serverOptions: InferenceServerOptions = {
304
312
  // prepare: 'async',
305
313
  // dtype: 'fp16',
306
314
  // },
307
- // 'whisper-base': {
308
- // url: 'https://huggingface.co/onnx-community/whisper-base',
309
- // engine: 'transformers-js',
310
- // task: 'speech-to-text',
311
- // prepare: 'async',
312
- // minInstances: 1,
313
- // modelClass: WhisperForConditionalGeneration,
314
- // dtype: {
315
- // encoder_model: 'fp16',
316
- // decoder_model_merged: 'q4',
317
- // },
318
- // device: {
319
- // gpu: false,
320
- // },
321
- // },
322
- // 'smollm2': {
323
- // url: 'https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B-Instruct',
324
- // engine: 'transformers-js',
325
- // task: 'chat-completion',
326
- // prepare: 'async',
327
- // minInstances: 1,
328
- // dtype: 'int8',
329
- // },
330
- // 'janus': {
331
- // url: 'https://huggingface.co/onnx-community/Janus-1.3B-ONNX',
332
- // modelClass: 'MultiModalityCausalLM',
333
- // engine: 'transformers-js',
334
- // task: 'chat-completion',
335
- // prepare: 'async',
336
- // minInstances: 1,
337
- // dtype: {
338
- // prepare_inputs_embeds: "q4",
339
- // language_model: "q4f16",
340
- // lm_head: "fp16",
341
- // gen_head: "fp16",
342
- // gen_img_embeds: "fp16",
343
- // image_decode: "fp32",
344
- // }
345
- // }
346
- 'llama-3.2-3b': {
347
- url: 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/blob/main/Llama-3.2-3B-Instruct-Q6_K_L.gguf',
348
- sha256:
349
- 'c542b14ec07b8b3cb8d777e1a68ee5aabb964167719466d4c685c29fcfd04900',
350
- engine: 'node-llama-cpp',
351
- task: 'text-completion',
315
+ 'whisper-base': {
316
+ url: 'https://huggingface.co/onnx-community/whisper-base',
317
+ engine: 'transformers-js',
318
+ task: 'speech-to-text',
352
319
  prepare: 'async',
320
+ minInstances: 1,
321
+ modelClass: WhisperForConditionalGeneration,
322
+ dtype: {
323
+ encoder_model: 'fp16',
324
+ decoder_model_merged: 'q4',
325
+ },
326
+ device: {
327
+ gpu: false,
328
+ },
353
329
  },
354
- 'ministral': {
355
- url: 'https://huggingface.co/mradermacher/Ministral-8B-Instruct-2410-GGUF/blob/main/Ministral-8B-Instruct-2410.Q4_K_M.gguf',
356
- sha256: '6f96d3d417bb4b9da05c5b8acdde547a2f1c1d303d14b2e4f4b1a6cd9b2ebbb2',
357
- engine: 'node-llama-cpp',
358
- task: 'text-completion',
359
- prepare: 'async',
360
- },
361
- 'smollm2': {
362
- url: 'https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B-Instruct-GGUF/blob/main/smollm2-1.7b-instruct-q4_k_m.gguf',
363
- sha256: 'decd2598bc2c8ed08c19adc3c8fdd461ee19ed5708679d1c54ef54a5a30d4f33',
364
- engine: 'node-llama-cpp',
365
- task: 'text-completion',
366
- prepare: 'async',
367
- },
368
- // 'llama3.3-70b': {
369
- // url: 'https://huggingface.co/bartowski/Llama-3.3-70B-Instruct-GGUF/blob/main/Llama-3.3-70B-Instruct-Q4_K_S.gguf',
370
- // sha256: '67becd30e2aa0f3cc5b5e64c712055085ed8f36e44102d3d0c4cbbca3e26ec90',
371
- // engine: 'node-llama-cpp',
372
- // task: 'text-completion',
373
- // prepare: 'async',
374
- // }
375
330
  },
376
331
  }
377
332
 
@@ -379,7 +334,6 @@ async function main() {
379
334
  const inferenceServer = new InferenceServer(serverOptions)
380
335
  await inferenceServer.start()
381
336
  const httpServer = createExpressServer(inferenceServer)
382
- httpServer.listen(3000)
383
337
  const { address, port } = httpServer.address() as AddressInfo
384
338
  const hostname = address === '' || address === '::' ? 'localhost' : address
385
339
  const url = formatURL({
@@ -39,7 +39,7 @@ export interface TextCompletionParamsBase {
39
39
 
40
40
  export interface TextCompletionParams extends TextCompletionParamsBase {
41
41
  model: string
42
- prompt?: string
42
+ prompt: string
43
43
  }
44
44
 
45
45
  export interface ChatCompletionParams extends TextCompletionParamsBase {
@@ -1,38 +0,0 @@
1
- import crypto from 'node:crypto';
2
- import { flattenMessageTextContent } from './flattenMessageTextContent.js';
3
- export function calculateContextIdentity({ messages, text, dropLastUserMessage = false, }) {
4
- if (text) {
5
- return text;
6
- }
7
- if (messages?.length) {
8
- const filteredMessages = messages.filter((message, i) => {
9
- // remove all but the leading system message
10
- if (message.role === 'system' && i !== 0) {
11
- return false;
12
- }
13
- if (message.role === 'tool') {
14
- return false;
15
- }
16
- const textContent = flattenMessageTextContent(message.content);
17
- return !!textContent;
18
- });
19
- if (dropLastUserMessage && filteredMessages.length > 1) {
20
- if (filteredMessages[filteredMessages.length - 1].role === 'user') {
21
- filteredMessages.pop();
22
- }
23
- }
24
- // we dont wanna json stringify because this would make message key order significant
25
- const serializedMessages = filteredMessages
26
- .map((message) => {
27
- return message.role + ': ' + flattenMessageTextContent(message.content);
28
- })
29
- .join('\n');
30
- const contextIdentity = crypto
31
- .createHash('sha1')
32
- .update(serializedMessages)
33
- .digest('hex');
34
- return contextIdentity;
35
- }
36
- return '';
37
- }
38
- //# sourceMappingURL=calculateContextIdentity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateContextIdentity.js","sourceRoot":"","sources":["../../src/lib/calculateContextIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAQ1E,MAAM,UAAU,wBAAwB,CAAC,EACxC,QAAQ,EACR,IAAI,EACJ,mBAAmB,GAAG,KAAK,GACM;IAEjC,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACvD,4CAA4C;YAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAA;YACb,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAA;YACb,CAAC;YACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC9D,OAAO,CAAC,CAAC,WAAW,CAAA;QACrB,CAAC,CAAC,CAAA;QACF,IAAI,mBAAmB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACnE,gBAAgB,CAAC,GAAG,EAAE,CAAA;YACvB,CAAC;QACF,CAAC;QACD,qFAAqF;QACrF,MAAM,kBAAkB,GAAG,gBAAgB;aACzC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,OAAO,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACxE,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QACX,MAAM,eAAe,GAAG,MAAM;aAC7B,UAAU,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,kBAAkB,CAAC;aAC1B,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,OAAO,eAAe,CAAA;IACvB,CAAC;IAED,OAAO,EAAE,CAAA;AACV,CAAC"}
@@ -1,52 +0,0 @@
1
- import crypto from 'node:crypto'
2
- import { ChatMessage } from '#package/types/index.js'
3
- import { flattenMessageTextContent } from './flattenMessageTextContent.js'
4
-
5
- export interface CalculateContextIdentityOptions {
6
- messages?: ChatMessage[]
7
- text?: string
8
- dropLastUserMessage?: boolean
9
- }
10
-
11
- export function calculateContextIdentity({
12
- messages,
13
- text,
14
- dropLastUserMessage = false,
15
- }: CalculateContextIdentityOptions): string {
16
-
17
- if (text) {
18
- return text
19
- }
20
-
21
- if (messages?.length) {
22
- const filteredMessages = messages.filter((message, i) => {
23
- // remove all but the leading system message
24
- if (message.role === 'system' && i !== 0) {
25
- return false
26
- }
27
- if (message.role === 'tool') {
28
- return false
29
- }
30
- const textContent = flattenMessageTextContent(message.content)
31
- return !!textContent
32
- })
33
- if (dropLastUserMessage && filteredMessages.length > 1) {
34
- if (filteredMessages[filteredMessages.length - 1].role === 'user') {
35
- filteredMessages.pop()
36
- }
37
- }
38
- // we dont wanna json stringify because this would make message key order significant
39
- const serializedMessages = filteredMessages
40
- .map((message) => {
41
- return message.role + ': ' + flattenMessageTextContent(message.content)
42
- })
43
- .join('\n')
44
- const contextIdentity = crypto
45
- .createHash('sha1')
46
- .update(serializedMessages)
47
- .digest('hex')
48
- return contextIdentity
49
- }
50
-
51
- return ''
52
- }