node-llama-cpp 3.0.0-beta.32 → 3.0.0-beta.33

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.
Files changed (96) hide show
  1. package/bins/_linux-x64-cuda.moved.txt +1 -0
  2. package/bins/_win-x64-cuda.moved.txt +1 -0
  3. package/bins/linux-arm64/_nlcBuildMetadata.json +1 -1
  4. package/bins/linux-arm64/libggml.so +0 -0
  5. package/bins/linux-arm64/libllama.so +0 -0
  6. package/bins/linux-arm64/llama-addon.node +0 -0
  7. package/bins/linux-armv7l/_nlcBuildMetadata.json +1 -1
  8. package/bins/linux-armv7l/libggml.so +0 -0
  9. package/bins/linux-armv7l/libllama.so +0 -0
  10. package/bins/linux-armv7l/llama-addon.node +0 -0
  11. package/bins/linux-x64/_nlcBuildMetadata.json +1 -1
  12. package/bins/linux-x64/libggml.so +0 -0
  13. package/bins/linux-x64/libllama.so +0 -0
  14. package/bins/linux-x64/llama-addon.node +0 -0
  15. package/bins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  16. package/bins/linux-x64-vulkan/libggml.so +0 -0
  17. package/bins/linux-x64-vulkan/libllama.so +0 -0
  18. package/bins/linux-x64-vulkan/llama-addon.node +0 -0
  19. package/bins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  20. package/bins/mac-arm64-metal/ggml-common.h +1805 -0
  21. package/bins/mac-arm64-metal/ggml-metal.metal +6540 -0
  22. package/bins/mac-arm64-metal/libggml.dylib +0 -0
  23. package/bins/mac-arm64-metal/libllama.dylib +0 -0
  24. package/bins/mac-arm64-metal/llama-addon.node +0 -0
  25. package/bins/mac-x64/_nlcBuildMetadata.json +1 -1
  26. package/bins/mac-x64/libggml.dylib +0 -0
  27. package/bins/mac-x64/libllama.dylib +0 -0
  28. package/bins/mac-x64/llama-addon.node +0 -0
  29. package/bins/win-arm64/Release/ggml.dll +0 -0
  30. package/bins/win-arm64/Release/llama.dll +0 -0
  31. package/bins/win-arm64/_nlcBuildMetadata.json +1 -1
  32. package/bins/win-arm64/llama-addon.node +0 -0
  33. package/bins/win-x64/Release/ggml.dll +0 -0
  34. package/bins/win-x64/Release/llama.dll +0 -0
  35. package/bins/win-x64/_nlcBuildMetadata.json +1 -1
  36. package/bins/win-x64/llama-addon.node +0 -0
  37. package/bins/win-x64-vulkan/Release/ggml.dll +0 -0
  38. package/bins/win-x64-vulkan/Release/llama.dll +0 -0
  39. package/bins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  40. package/bins/win-x64-vulkan/llama-addon.node +0 -0
  41. package/dist/bindings/getLlama.js +4 -2
  42. package/dist/bindings/getLlama.js.map +1 -1
  43. package/dist/bindings/utils/compileLLamaCpp.d.ts +1 -1
  44. package/dist/bindings/utils/compileLLamaCpp.js +59 -18
  45. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  46. package/dist/bindings/utils/resolveCustomCmakeOptions.js +26 -30
  47. package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
  48. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +1 -0
  49. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  50. package/dist/evaluator/LlamaChat/LlamaChat.js +15 -14
  51. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  52. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +2 -1
  53. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
  54. package/dist/evaluator/LlamaCompletion.js +8 -7
  55. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  56. package/dist/gguf/fileReaders/GgufFileReader.d.ts +17 -13
  57. package/dist/gguf/fileReaders/GgufFileReader.js +72 -39
  58. package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -1
  59. package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +2 -1
  60. package/dist/gguf/fileReaders/GgufFsFileReader.js +18 -2
  61. package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -1
  62. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +2 -1
  63. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +18 -2
  64. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
  65. package/dist/gguf/parser/GgufV2Parser.d.ts +3 -2
  66. package/dist/gguf/parser/GgufV2Parser.js +103 -64
  67. package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
  68. package/dist/gguf/parser/parseGguf.js +1 -3
  69. package/dist/gguf/parser/parseGguf.js.map +1 -1
  70. package/dist/utils/LlamaText.js +7 -4
  71. package/dist/utils/LlamaText.js.map +1 -1
  72. package/dist/utils/ReplHistory.js +5 -1
  73. package/dist/utils/ReplHistory.js.map +1 -1
  74. package/dist/utils/TokenStreamRegulator.js +3 -2
  75. package/dist/utils/TokenStreamRegulator.js.map +1 -1
  76. package/dist/utils/pushAll.d.ts +6 -0
  77. package/dist/utils/pushAll.js +11 -0
  78. package/dist/utils/pushAll.js.map +1 -0
  79. package/dist/utils/transformPromisable.d.ts +40 -0
  80. package/dist/utils/transformPromisable.js +64 -0
  81. package/dist/utils/transformPromisable.js.map +1 -0
  82. package/llama/CMakeLists.txt +14 -14
  83. package/llama/addon.cpp +2 -2
  84. package/llama/binariesGithubRelease.json +1 -1
  85. package/llama/gitRelease.bundle +0 -0
  86. package/llama/grammars/README.md +248 -10
  87. package/llama/llama.cpp.info.json +1 -1
  88. package/package.json +8 -2
  89. package/templates/packed/electron-typescript-react.json +1 -1
  90. package/bins/linux-x64-cuda/_nlcBuildMetadata.json +0 -1
  91. package/bins/linux-x64-cuda/llama-addon.node +0 -0
  92. package/bins/mac-arm64-metal/default.metallib +0 -0
  93. package/bins/win-x64-cuda/_nlcBuildMetadata.json +0 -1
  94. package/bins/win-x64-cuda/llama-addon.exp +0 -0
  95. package/bins/win-x64-cuda/llama-addon.lib +0 -0
  96. package/bins/win-x64-cuda/llama-addon.node +0 -0
@@ -1,4 +1,5 @@
1
1
  import { GgufReadOffset } from "../utils/GgufReadOffset.js";
2
+ import { transformPromisable } from "../../utils/transformPromisable.js";
2
3
  export const valueTypeToBytesToRead = {
3
4
  uint8: 1,
4
5
  uint16: 2,
@@ -14,58 +15,90 @@ export const valueTypeToBytesToRead = {
14
15
  };
15
16
  export class GgufFileReader {
16
17
  _buffer = Buffer.alloc(0);
17
- async readUint8(offset) {
18
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.uint8);
19
- return response.readUInt8();
18
+ readUint8(offset) {
19
+ return this._withBufferRead(offset, valueTypeToBytesToRead.uint8, (resolvedOffset) => {
20
+ return this._buffer.readUInt8(resolvedOffset);
21
+ });
20
22
  }
21
- async readUint16(offset) {
22
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.uint16);
23
- return response.readUInt16LE();
23
+ readUint16(offset) {
24
+ return this._withBufferRead(offset, valueTypeToBytesToRead.uint16, (resolvedOffset) => {
25
+ return this._buffer.readUInt16LE(resolvedOffset);
26
+ });
24
27
  }
25
- async readUint32(offset) {
26
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.uint32);
27
- return response.readUInt32LE();
28
+ readUint32(offset) {
29
+ return this._withBufferRead(offset, valueTypeToBytesToRead.uint32, (resolvedOffset) => {
30
+ return this._buffer.readUInt32LE(resolvedOffset);
31
+ });
28
32
  }
29
- async readUint64(offset) {
30
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.uint64);
31
- return response.readBigUInt64LE();
33
+ readUint64(offset) {
34
+ return this._withBufferRead(offset, valueTypeToBytesToRead.uint64, (resolvedOffset) => {
35
+ return this._buffer.readBigUInt64LE(resolvedOffset);
36
+ });
32
37
  }
33
- async readInt8(offset) {
34
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.int8);
35
- return response.readInt8();
38
+ readInt8(offset) {
39
+ return this._withBufferRead(offset, valueTypeToBytesToRead.int8, (resolvedOffset) => {
40
+ return this._buffer.readInt8(resolvedOffset);
41
+ });
36
42
  }
37
- async readInt16(offset) {
38
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.int16);
39
- return response.readInt16LE();
43
+ readInt16(offset) {
44
+ return this._withBufferRead(offset, valueTypeToBytesToRead.int16, (resolvedOffset) => {
45
+ return this._buffer.readInt16LE(resolvedOffset);
46
+ });
40
47
  }
41
- async readInt32(offset) {
42
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.int32);
43
- return response.readInt32LE();
48
+ readInt32(offset) {
49
+ return this._withBufferRead(offset, valueTypeToBytesToRead.int32, (resolvedOffset) => {
50
+ return this._buffer.readInt32LE(resolvedOffset);
51
+ });
44
52
  }
45
- async readInt64(offset) {
46
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.int64);
47
- return response.readBigInt64LE();
53
+ readInt64(offset) {
54
+ return this._withBufferRead(offset, valueTypeToBytesToRead.int64, (resolvedOffset) => {
55
+ return this._buffer.readBigInt64LE(resolvedOffset);
56
+ });
48
57
  }
49
- async readFloat32(offset) {
50
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.float32);
51
- return response.readFloatLE();
58
+ readFloat32(offset) {
59
+ return this._withBufferRead(offset, valueTypeToBytesToRead.float32, (resolvedOffset) => {
60
+ return this._buffer.readFloatLE(resolvedOffset);
61
+ });
52
62
  }
53
- async readFloat64(offset) {
54
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.float64);
55
- return response.readDoubleLE();
63
+ readFloat64(offset) {
64
+ return this._withBufferRead(offset, valueTypeToBytesToRead.float64, (resolvedOffset) => {
65
+ return this._buffer.readDoubleLE(resolvedOffset);
66
+ });
56
67
  }
57
- async readBool(offset) {
58
- const response = await this._readByteRangeAndUpdateOffset(offset, valueTypeToBytesToRead.uint8);
59
- return response.readUInt8() === 1;
68
+ readBool(offset) {
69
+ return this._withBufferRead(offset, valueTypeToBytesToRead.uint8, (resolvedOffset) => {
70
+ return this._buffer.readUInt8(resolvedOffset) === 1;
71
+ });
72
+ }
73
+ readString(offset) {
74
+ const readOffset = GgufReadOffset.resolveReadOffset(offset);
75
+ return transformPromisable(this.readUint64(readOffset), (length) => {
76
+ return this.readStringWithLength(readOffset, Number(length));
77
+ });
78
+ }
79
+ readStringWithLength(offset, length) {
80
+ const readLength = valueTypeToBytesToRead.uint8 * length;
81
+ return this._withBufferRead(offset, readLength, (resolvedOffset) => {
82
+ const res = [];
83
+ for (let i = resolvedOffset; i < resolvedOffset + readLength && i < this._buffer.length; i++)
84
+ res.push(String.fromCharCode(this._buffer[i]));
85
+ return res.join("");
86
+ });
60
87
  }
61
88
  _addToBuffer(buffer) {
62
- this._buffer = Buffer.concat([this._buffer, buffer]);
89
+ const newBuffer = Buffer.alloc(this._buffer.byteLength + buffer.byteLength);
90
+ this._buffer.copy(newBuffer);
91
+ buffer.copy(newBuffer, this._buffer.byteLength);
92
+ this._buffer = newBuffer;
63
93
  }
64
- async _readByteRangeAndUpdateOffset(offset, length) {
65
- const readOffset = GgufReadOffset.resolveReadOffset(offset);
66
- const response = await this.readByteRange(readOffset.offset, length);
67
- readOffset.moveBy(length);
68
- return response;
94
+ _withBufferRead(offset, length, reader) {
95
+ return transformPromisable(this.ensureHasByteRange(offset, length), () => {
96
+ const resolvedOffset = GgufReadOffset.resolveReadOffset(offset);
97
+ return transformPromisable(reader(resolvedOffset.offset), (res) => {
98
+ resolvedOffset.moveBy(Math.min(length, this._buffer.length - resolvedOffset.offset));
99
+ return res;
100
+ });
101
+ });
69
102
  }
70
103
  static castNumberIfSafe(value) {
71
104
  if (value > Number.MAX_SAFE_INTEGER)
@@ -1 +1 @@
1
- {"version":3,"file":"GgufFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFileReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GgufFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFileReader.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ export declare class GgufFsFileReader extends GgufFileReader {
10
10
  readonly filePath: string;
11
11
  private readonly _signal?;
12
12
  constructor({ filePath, signal }: GgufFsFileReaderOptions);
13
- readByteRange(offset: number | GgufReadOffset, length: number): Promise<Buffer>;
13
+ readByteRange(offset: number | GgufReadOffset, length: number): Buffer | Promise<Buffer>;
14
+ protected ensureHasByteRange(offset: number | GgufReadOffset, length: number): Promise<void> | undefined;
14
15
  private _readToExpandBufferUpToOffset;
15
16
  private _readByteRange;
16
17
  }
@@ -12,15 +12,31 @@ export class GgufFsFileReader extends GgufFileReader {
12
12
  this.filePath = path.resolve(process.cwd(), filePath);
13
13
  this._signal = signal;
14
14
  }
15
- async readByteRange(offset, length) {
15
+ readByteRange(offset, length) {
16
16
  const readOffset = GgufReadOffset.resolveReadOffset(offset);
17
17
  const endOffset = readOffset.offset + length;
18
18
  if (endOffset >= this._buffer.length)
19
- await this._readToExpandBufferUpToOffset(endOffset);
19
+ return this._readToExpandBufferUpToOffset(endOffset)
20
+ .then(() => {
21
+ const res = this._buffer.subarray(readOffset.offset, endOffset);
22
+ readOffset.moveBy(length);
23
+ return res;
24
+ });
20
25
  const res = this._buffer.subarray(readOffset.offset, endOffset);
21
26
  readOffset.moveBy(length);
22
27
  return res;
23
28
  }
29
+ ensureHasByteRange(offset, length) {
30
+ const readOffset = GgufReadOffset.resolveReadOffset(offset);
31
+ const endOffset = readOffset.offset + length;
32
+ if (endOffset >= this._buffer.length)
33
+ return this._readToExpandBufferUpToOffset(endOffset)
34
+ .then(() => {
35
+ if (endOffset >= this._buffer.length)
36
+ throw new Error("Expected buffer to be long enough for the requested byte range");
37
+ });
38
+ return undefined;
39
+ }
24
40
  async _readToExpandBufferUpToOffset(endOffset, extraAllocationSize = defaultExtraAllocationSize) {
25
41
  return await withLock(this, "modifyBuffer", this._signal, async () => {
26
42
  if (endOffset < this._buffer.length)
@@ -1 +1 @@
1
- {"version":3,"file":"GgufFsFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFsFileReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAOnD,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAChC,QAAQ,CAAS;IAChB,OAAO,CAAe;IAEvC,YAAmB,EAAC,QAAQ,EAAE,MAAM,EAA0B;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAA+B,EAAE,MAAc;QACtE,MAAM,UAAU,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAE7C,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;YAChC,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,SAAiB,EAAE,sBAA8B,0BAA0B;QACnH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACjE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC/B,OAAO;YAEX,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAChD,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,SAAS,GAAG,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACxD,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,MAAc;QACtD,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAClB,CAAC;gBAAS,CAAC;YACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"GgufFsFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFsFileReader.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@ export declare class GgufNetworkFetchFileReader extends GgufFileReader {
15
15
  readonly headers: Record<string, string>;
16
16
  private readonly _signal?;
17
17
  constructor({ url, retryOptions, headers, signal }: GgufFetchFileReaderOptions);
18
- readByteRange(offset: number | GgufReadOffset, length: number): Promise<Buffer>;
18
+ readByteRange(offset: number | GgufReadOffset, length: number): Buffer | Promise<Buffer>;
19
+ protected ensureHasByteRange(offset: number | GgufReadOffset, length: number): Promise<void> | undefined;
19
20
  private _fetchToExpandBufferUpToOffset;
20
21
  private _fetchByteRange;
21
22
  }
@@ -15,15 +15,31 @@ export class GgufNetworkFetchFileReader extends GgufFileReader {
15
15
  this.headers = headers ?? {};
16
16
  this._signal = signal;
17
17
  }
18
- async readByteRange(offset, length) {
18
+ readByteRange(offset, length) {
19
19
  const readOffset = GgufReadOffset.resolveReadOffset(offset);
20
20
  const endOffset = readOffset.offset + length;
21
21
  if (endOffset >= this._buffer.length)
22
- await this._fetchToExpandBufferUpToOffset(endOffset);
22
+ return this._fetchToExpandBufferUpToOffset(endOffset)
23
+ .then(() => {
24
+ const res = this._buffer.subarray(readOffset.offset, endOffset);
25
+ readOffset.moveBy(length);
26
+ return res;
27
+ });
23
28
  const res = this._buffer.subarray(readOffset.offset, endOffset);
24
29
  readOffset.moveBy(length);
25
30
  return res;
26
31
  }
32
+ ensureHasByteRange(offset, length) {
33
+ const readOffset = GgufReadOffset.resolveReadOffset(offset);
34
+ const endOffset = readOffset.offset + length;
35
+ if (endOffset >= this._buffer.length)
36
+ return this._fetchToExpandBufferUpToOffset(endOffset)
37
+ .then(() => {
38
+ if (endOffset >= this._buffer.length)
39
+ throw new Error("Expected buffer to be long enough for the requested byte range");
40
+ });
41
+ return undefined;
42
+ }
27
43
  async _fetchToExpandBufferUpToOffset(endOffset, extraAllocationSize = defaultExtraAllocationSize) {
28
44
  await withLock(this, "modifyBuffer", this._signal, async () => {
29
45
  if (endOffset < this._buffer.length)
@@ -1 +1 @@
1
- {"version":3,"file":"GgufNetworkFetchFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufNetworkFetchFileReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GgufNetworkFetchFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufNetworkFetchFileReader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { GgufReadOffset } from "../utils/GgufReadOffset.js";
2
2
  import { GgufValueType, GgufVersionParserOptions, GgufVersionParserResult, MetadataKeyValueRecord, MetadataValue } from "../types/GgufFileInfoTypes.js";
3
+ import { Promisable } from "../../utils/transformPromisable.js";
3
4
  export declare class GgufV2Parser {
4
5
  private readonly _fileReader;
5
6
  private readonly _shouldReadTensorInfo;
@@ -8,8 +9,8 @@ export declare class GgufV2Parser {
8
9
  private readonly _logWarnings;
9
10
  constructor({ fileReader, readTensorInfo, ignoreKeys, readOffset, logWarnings }: GgufVersionParserOptions);
10
11
  parse(): Promise<GgufVersionParserResult>;
11
- protected _readGgufValue(type: GgufValueType, offset: number | GgufReadOffset): Promise<MetadataValue>;
12
- protected _readStringValue(offset: number | GgufReadOffset): Promise<string>;
12
+ protected _readGgufValue(type: GgufValueType, offset: number | GgufReadOffset): Promisable<MetadataValue>;
13
+ protected _readStringValue(offset: number | GgufReadOffset): Promisable<string>;
13
14
  protected _readRawHeader(readOffset: GgufReadOffset): Promise<{
14
15
  tensorCount: number | bigint;
15
16
  metadata: MetadataKeyValueRecord;
@@ -1,8 +1,9 @@
1
- import { GgufFileReader, valueTypeToBytesToRead } from "../fileReaders/GgufFileReader.js";
1
+ import { GgufFileReader } from "../fileReaders/GgufFileReader.js";
2
2
  import { GgufReadOffset } from "../utils/GgufReadOffset.js";
3
3
  import { UnsupportedGgufValueTypeError } from "../errors/UnsupportedGgufValueTypeError.js";
4
4
  import { GgufValueType } from "../types/GgufFileInfoTypes.js";
5
5
  import { convertMetadataKeyValueRecordToNestedObject } from "../utils/convertMetadataKeyValueRecordToNestedObject.js";
6
+ import { promisableLoop, transformPromisable, transformPromisables } from "../../utils/transformPromisable.js";
6
7
  export class GgufV2Parser {
7
8
  _fileReader;
8
9
  _shouldReadTensorInfo;
@@ -19,10 +20,16 @@ export class GgufV2Parser {
19
20
  async parse() {
20
21
  const readOffset = this._readOffset;
21
22
  const initialOffset = readOffset.offset;
22
- const headerReadResult = await this._readRawHeader(readOffset);
23
- const tensorReadResult = this._shouldReadTensorInfo
23
+ const headerReadResultPromisable = this._readRawHeader(readOffset);
24
+ const headerReadResult = headerReadResultPromisable instanceof Promise
25
+ ? await headerReadResultPromisable
26
+ : headerReadResultPromisable;
27
+ const tensorReadResultPromisable = this._shouldReadTensorInfo
24
28
  ? await this._readTensorInfo(headerReadResult.tensorCount, readOffset)
25
29
  : null;
30
+ const tensorReadResult = tensorReadResultPromisable instanceof Promise
31
+ ? await tensorReadResultPromisable
32
+ : tensorReadResultPromisable;
26
33
  const metadata = convertMetadataKeyValueRecordToNestedObject(headerReadResult.metadata, {
27
34
  logOverrideWarnings: this._logWarnings,
28
35
  ignoreKeys: this._ignoreKeys
@@ -35,81 +42,113 @@ export class GgufV2Parser {
35
42
  tensorInfoSize: tensorReadResult?.tensorInfoSize
36
43
  };
37
44
  }
38
- async _readGgufValue(type, offset) {
45
+ _readGgufValue(type, offset) {
39
46
  const readOffset = GgufReadOffset.resolveReadOffset(offset);
40
47
  switch (type) {
41
- case GgufValueType.Uint8: return await this._fileReader.readUint8(readOffset);
42
- case GgufValueType.Int8: return await this._fileReader.readInt8(readOffset);
43
- case GgufValueType.Uint16: return await this._fileReader.readUint16(readOffset);
44
- case GgufValueType.Int16: return await this._fileReader.readInt16(readOffset);
45
- case GgufValueType.Uint32: return await this._fileReader.readUint32(readOffset);
46
- case GgufValueType.Int32: return await this._fileReader.readInt32(readOffset);
47
- case GgufValueType.Float32: return await this._fileReader.readFloat32(readOffset);
48
- case GgufValueType.Bool: return await this._fileReader.readBool(readOffset);
49
- case GgufValueType.String: return await this._readStringValue(readOffset);
50
- case GgufValueType.Uint64: return await this._fileReader.readUint64(readOffset);
51
- case GgufValueType.Int64: return await this._fileReader.readInt64(readOffset);
52
- case GgufValueType.Float64: return await this._fileReader.readFloat64(readOffset);
48
+ case GgufValueType.Uint8: return this._fileReader.readUint8(readOffset);
49
+ case GgufValueType.Int8: return this._fileReader.readInt8(readOffset);
50
+ case GgufValueType.Uint16: return this._fileReader.readUint16(readOffset);
51
+ case GgufValueType.Int16: return this._fileReader.readInt16(readOffset);
52
+ case GgufValueType.Uint32: return this._fileReader.readUint32(readOffset);
53
+ case GgufValueType.Int32: return this._fileReader.readInt32(readOffset);
54
+ case GgufValueType.Float32: return this._fileReader.readFloat32(readOffset);
55
+ case GgufValueType.Bool: return this._fileReader.readBool(readOffset);
56
+ case GgufValueType.String: return this._readStringValue(readOffset);
57
+ case GgufValueType.Uint64: return this._fileReader.readUint64(readOffset);
58
+ case GgufValueType.Int64: return this._fileReader.readInt64(readOffset);
59
+ case GgufValueType.Float64: return this._fileReader.readFloat64(readOffset);
53
60
  }
54
61
  if (type === GgufValueType.Array) {
55
- const arrayType = await this._fileReader.readUint32(readOffset);
56
- const arrayLength = await this._fileReader.readUint64(readOffset);
57
- const arrayValues = [];
58
- for (let i = 0; i < arrayLength; i++) {
59
- const value = await this._readGgufValue(arrayType, readOffset);
60
- arrayValues.push(value);
61
- }
62
- return arrayValues;
62
+ const arrayTypePromisable = this._fileReader.readUint32(readOffset);
63
+ const arrayLengthPromisable = this._fileReader.readUint64(readOffset);
64
+ return transformPromisables([arrayTypePromisable, arrayLengthPromisable], ([arrayType, arrayLength]) => {
65
+ const arrayValues = [];
66
+ let i = 0;
67
+ return promisableLoop({
68
+ condition: () => i < arrayLength,
69
+ callback: () => {
70
+ return transformPromisable(this._readGgufValue(arrayType, readOffset), (value) => {
71
+ arrayValues.push(value);
72
+ });
73
+ },
74
+ afterthought: () => void i++,
75
+ returnValue: () => arrayValues
76
+ });
77
+ });
63
78
  }
64
79
  throw new UnsupportedGgufValueTypeError(type);
65
80
  }
66
- async _readStringValue(offset) {
67
- const readOffset = GgufReadOffset.resolveReadOffset(offset);
68
- const length = Number(await this._fileReader.readUint64(readOffset));
69
- const readLength = valueTypeToBytesToRead.uint8 * length;
70
- const stringBytes = await this._fileReader.readByteRange(readOffset, readLength);
71
- return String.fromCharCode(...stringBytes);
81
+ _readStringValue(offset) {
82
+ return this._fileReader.readString(offset);
72
83
  }
73
84
  async _readRawHeader(readOffset) {
74
85
  const initialOffset = readOffset.offset;
75
- const tensorCount = await this._fileReader.readUint64(readOffset);
76
- const metadataKVCount = Number(await this._fileReader.readUint64(readOffset));
86
+ const tensorCountPromisable = this._fileReader.readUint64(readOffset);
87
+ const metadataKVCountPromisable = transformPromisable(this._fileReader.readUint64(readOffset), Number);
88
+ const tensorCount = tensorCountPromisable instanceof Promise ? await tensorCountPromisable : tensorCountPromisable;
89
+ const metadataKVCount = metadataKVCountPromisable instanceof Promise ? await metadataKVCountPromisable : metadataKVCountPromisable;
77
90
  const metadata = {};
78
- for (let i = 0; i < metadataKVCount; i++) {
79
- const keyResult = await this._readStringValue(readOffset);
80
- const valueType = await this._fileReader.readUint32(readOffset);
81
- metadata[keyResult] = await this._readGgufValue(valueType, readOffset);
82
- }
83
- return {
84
- tensorCount: GgufFileReader.castNumberIfSafe(tensorCount),
85
- metadata: metadata,
86
- headerSize: readOffset.offset - initialOffset
87
- };
91
+ let i = 0;
92
+ return promisableLoop({
93
+ condition: () => i < metadataKVCount,
94
+ callback: () => {
95
+ const keyResultPromisable = this._readStringValue(readOffset);
96
+ const valueTypePromisable = this._fileReader.readUint32(readOffset);
97
+ return transformPromisables([keyResultPromisable, valueTypePromisable], ([keyResult, valueType]) => {
98
+ return transformPromisable(this._readGgufValue(valueType, readOffset), (value) => {
99
+ metadata[keyResult] = value;
100
+ });
101
+ });
102
+ },
103
+ afterthought: () => void i++,
104
+ returnValue: () => ({
105
+ tensorCount: GgufFileReader.castNumberIfSafe(tensorCount),
106
+ metadata: metadata,
107
+ headerSize: readOffset.offset - initialOffset
108
+ })
109
+ });
88
110
  }
89
- async _readTensorInfo(tensorCount, readOffset) {
111
+ _readTensorInfo(tensorCount, readOffset) {
90
112
  const initialOffset = readOffset.offset;
91
113
  const tensorInfo = [];
92
- for (let i = 0n; i < BigInt(tensorCount); i++) {
93
- const name = await this._readStringValue(readOffset);
94
- const dimensionsNumber = await this._fileReader.readUint32(readOffset);
95
- const dimensions = [];
96
- for (let i = 0; i < dimensionsNumber; i++) {
97
- const dimension = await this._fileReader.readUint64(readOffset);
98
- dimensions.push(GgufFileReader.castNumberIfSafe(dimension));
99
- }
100
- const ggmlType = await this._fileReader.readUint32(readOffset);
101
- const offset = await this._fileReader.readUint64(readOffset);
102
- tensorInfo.push({
103
- name,
104
- dimensions,
105
- ggmlType: ggmlType,
106
- offset: GgufFileReader.castNumberIfSafe(offset)
107
- });
108
- }
109
- return {
110
- tensorInfo,
111
- tensorInfoSize: readOffset.offset - initialOffset
112
- };
114
+ let i = 0n;
115
+ return promisableLoop({
116
+ condition: () => i < BigInt(tensorCount),
117
+ callback: () => {
118
+ const namePromisable = this._readStringValue(readOffset);
119
+ const dimensionsNumberPromisable = this._fileReader.readUint32(readOffset);
120
+ const dimensions = [];
121
+ return transformPromisables([namePromisable, dimensionsNumberPromisable], ([name, dimensionsNumber]) => {
122
+ let d = 0;
123
+ return promisableLoop({
124
+ condition: () => d < dimensionsNumber,
125
+ callback: () => {
126
+ return transformPromisable(this._fileReader.readUint64(readOffset), (dimension) => {
127
+ dimensions.push(GgufFileReader.castNumberIfSafe(dimension));
128
+ });
129
+ },
130
+ afterthought: () => void d++,
131
+ returnValue: () => {
132
+ const ggmlTypePromisable = this._fileReader.readUint32(readOffset);
133
+ const offsetPromisable = this._fileReader.readUint64(readOffset);
134
+ return transformPromisables([ggmlTypePromisable, offsetPromisable], ([ggmlType, offset]) => {
135
+ tensorInfo.push({
136
+ name,
137
+ dimensions,
138
+ ggmlType: ggmlType,
139
+ offset: GgufFileReader.castNumberIfSafe(offset)
140
+ });
141
+ });
142
+ }
143
+ });
144
+ });
145
+ },
146
+ afterthought: () => void i++,
147
+ returnValue: () => ({
148
+ tensorInfo,
149
+ tensorInfoSize: readOffset.offset - initialOffset
150
+ })
151
+ });
113
152
  }
114
153
  }
115
154
  //# sourceMappingURL=GgufV2Parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GgufV2Parser.js","sourceRoot":"","sources":["../../../src/gguf/parser/GgufV2Parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GgufV2Parser.js","sourceRoot":"","sources":["../../../src/gguf/parser/GgufV2Parser.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { InvalidGgufMagicError } from "../errors/InvalidGgufMagicError.js";
2
2
  import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
3
3
  import { UnsupportedError } from "../../utils/UnsupportedError.js";
4
4
  import { GgufReadOffset } from "../utils/GgufReadOffset.js";
5
- import { valueTypeToBytesToRead } from "../fileReaders/GgufFileReader.js";
6
5
  import { getGgufMetadataArchitectureData } from "../utils/getGgufMetadataArchitectureData.js";
7
6
  import { GgufV2Parser } from "./GgufV2Parser.js";
8
7
  import { GgufV3Parser } from "./GgufV3Parser.js";
@@ -35,8 +34,7 @@ export async function parseGguf({ fileReader, readTensorInfo = true, ignoreKeys
35
34
  };
36
35
  }
37
36
  async function parseMagicAndVersion(fileReader, readOffset) {
38
- const fileMagicBytes = await fileReader.readByteRange(readOffset, valueTypeToBytesToRead.uint8 * ggufMagic.length);
39
- const fileMagicText = String.fromCharCode(...fileMagicBytes);
37
+ const fileMagicText = await fileReader.readStringWithLength(readOffset, ggufMagic.length);
40
38
  if (fileMagicText !== ggufMagic)
41
39
  throw new InvalidGgufMagicError(ggufMagic, fileMagicText);
42
40
  const version = await fileReader.readUint32(readOffset);
@@ -1 +1 @@
1
- {"version":3,"file":"parseGguf.js","sourceRoot":"","sources":["../../../src/gguf/parser/parseGguf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseGguf.js","sourceRoot":"","sources":["../../../src/gguf/parser/parseGguf.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { pushAll } from "./pushAll.js";
1
2
  class LlamaText {
2
3
  values;
3
4
  /**
@@ -26,7 +27,7 @@ class LlamaText {
26
27
  newValues.push(this.values[i]);
27
28
  if (i !== this.values.length - 1) {
28
29
  if (isLlamaText(separator))
29
- newValues.push(...separator.values);
30
+ pushAll(newValues, separator.values);
30
31
  else
31
32
  newValues.push(separator);
32
33
  }
@@ -66,17 +67,19 @@ class LlamaText {
66
67
  const resolveTokenizerOptions = () => (hasContent() ? "trimLeadingSpace" : options);
67
68
  for (const value of this.values) {
68
69
  if (value instanceof SpecialToken) {
69
- res.push(...tokenizer(textToTokenize, false, resolveTokenizerOptions()), ...value.tokenize(tokenizer));
70
+ pushAll(res, tokenizer(textToTokenize, false, resolveTokenizerOptions()));
71
+ pushAll(res, value.tokenize(tokenizer));
70
72
  textToTokenize = "";
71
73
  }
72
74
  else if (value instanceof SpecialTokensText) {
73
- res.push(...tokenizer(textToTokenize, false, resolveTokenizerOptions()), ...value.tokenize(tokenizer, hasContent() || options === "trimLeadingSpace"));
75
+ pushAll(res, tokenizer(textToTokenize, false, resolveTokenizerOptions()));
76
+ pushAll(res, value.tokenize(tokenizer, hasContent() || options === "trimLeadingSpace"));
74
77
  textToTokenize = "";
75
78
  }
76
79
  else
77
80
  textToTokenize += value;
78
81
  }
79
- res.push(...tokenizer(textToTokenize, false, resolveTokenizerOptions()));
82
+ pushAll(res, tokenizer(textToTokenize, false, resolveTokenizerOptions()));
80
83
  return res;
81
84
  }
82
85
  compare(other) {