@nanocollective/get-md 1.0.3 → 1.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +130 -1
- package/dist/cli.js +386 -2
- package/dist/cli.js.map +1 -1
- package/dist/cli.spec.js +187 -0
- package/dist/cli.spec.js.map +1 -1
- package/dist/converters/llm-converter.d.ts +71 -0
- package/dist/converters/llm-converter.d.ts.map +1 -0
- package/dist/converters/llm-converter.js +191 -0
- package/dist/converters/llm-converter.js.map +1 -0
- package/dist/converters/llm-converter.spec.d.ts +2 -0
- package/dist/converters/llm-converter.spec.d.ts.map +1 -0
- package/dist/converters/llm-converter.spec.js +281 -0
- package/dist/converters/llm-converter.spec.js.map +1 -0
- package/dist/converters/llm-manager.d.ts +88 -0
- package/dist/converters/llm-manager.d.ts.map +1 -0
- package/dist/converters/llm-manager.js +277 -0
- package/dist/converters/llm-manager.js.map +1 -0
- package/dist/converters/llm-manager.spec.d.ts +2 -0
- package/dist/converters/llm-manager.spec.d.ts.map +1 -0
- package/dist/converters/llm-manager.spec.js +280 -0
- package/dist/converters/llm-manager.spec.js.map +1 -0
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -10
- package/dist/index.js.map +1 -1
- package/dist/index.spec.js +172 -1
- package/dist/index.spec.js.map +1 -1
- package/dist/optimizers/html-cleaner.spec.js +1 -0
- package/dist/optimizers/html-cleaner.spec.js.map +1 -1
- package/dist/parsers/markdown-parser.d.ts +37 -1
- package/dist/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/parsers/markdown-parser.js +212 -11
- package/dist/parsers/markdown-parser.js.map +1 -1
- package/dist/parsers/markdown-parser.spec.js +2 -2
- package/dist/parsers/markdown-parser.spec.js.map +1 -1
- package/dist/types.d.ts +149 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/config-loader.d.ts +62 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +167 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/config-loader.spec.d.ts +2 -0
- package/dist/utils/config-loader.spec.d.ts.map +1 -0
- package/dist/utils/config-loader.spec.js +355 -0
- package/dist/utils/config-loader.spec.js.map +1 -0
- package/package.json +19 -5
package/dist/cli.spec.js
CHANGED
|
@@ -275,4 +275,191 @@ test("CLI: handles stdin with no TTY", async (t) => {
|
|
|
275
275
|
t.true(stdout.includes("# Hello World"));
|
|
276
276
|
t.true(stdout.includes("This is a test paragraph"));
|
|
277
277
|
});
|
|
278
|
+
// ============================================================================
|
|
279
|
+
// LLM CLI Flag Tests
|
|
280
|
+
// ============================================================================
|
|
281
|
+
test("CLI: --model-info shows model information", async (t) => {
|
|
282
|
+
const { stdout, exitCode } = await runCli(["--model-info"]);
|
|
283
|
+
t.is(exitCode, 0);
|
|
284
|
+
t.true(stdout.includes("LLM Model Information"));
|
|
285
|
+
t.true(stdout.includes("Recommended model"));
|
|
286
|
+
t.true(stdout.includes("Default path"));
|
|
287
|
+
t.true(stdout.includes("Status"));
|
|
288
|
+
t.true(stdout.includes("Available variants"));
|
|
289
|
+
});
|
|
290
|
+
test("CLI: --model-info shows Q4_K_M as recommended", async (t) => {
|
|
291
|
+
const { stdout } = await runCli(["--model-info"]);
|
|
292
|
+
t.true(stdout.includes("Q4_K_M"));
|
|
293
|
+
t.true(stdout.includes("(recommended)"));
|
|
294
|
+
});
|
|
295
|
+
test("CLI: --model-info shows multiple quantization options", async (t) => {
|
|
296
|
+
const { stdout } = await runCli(["--model-info"]);
|
|
297
|
+
t.true(stdout.includes("Q2_K"));
|
|
298
|
+
t.true(stdout.includes("Q4_K_M"));
|
|
299
|
+
t.true(stdout.includes("Q8_0"));
|
|
300
|
+
});
|
|
301
|
+
test("CLI: --model-info shows RAM requirements", async (t) => {
|
|
302
|
+
const { stdout } = await runCli(["--model-info"]);
|
|
303
|
+
t.true(stdout.includes("RAM required"));
|
|
304
|
+
t.true(stdout.includes("GB"));
|
|
305
|
+
});
|
|
306
|
+
test("CLI: --help shows LLM options", async (t) => {
|
|
307
|
+
const { stdout } = await runCli(["--help"]);
|
|
308
|
+
t.true(stdout.includes("--use-llm"));
|
|
309
|
+
t.true(stdout.includes("--llm-model-path"));
|
|
310
|
+
t.true(stdout.includes("--download-model"));
|
|
311
|
+
t.true(stdout.includes("--model-info"));
|
|
312
|
+
t.true(stdout.includes("--remove-model"));
|
|
313
|
+
});
|
|
314
|
+
test("CLI: --help shows LLM temperature option", async (t) => {
|
|
315
|
+
const { stdout } = await runCli(["--help"]);
|
|
316
|
+
t.true(stdout.includes("--llm-temperature"));
|
|
317
|
+
});
|
|
318
|
+
test("CLI: accepts --use-llm flag without error when model not present", async (t) => {
|
|
319
|
+
const inputFile = await createTempFile(SIMPLE_HTML);
|
|
320
|
+
try {
|
|
321
|
+
// When running non-interactively, it should fall back to Turndown
|
|
322
|
+
const { exitCode } = await runCli([inputFile, "--use-llm"]);
|
|
323
|
+
// Should succeed by falling back
|
|
324
|
+
t.is(exitCode, 0);
|
|
325
|
+
}
|
|
326
|
+
finally {
|
|
327
|
+
await cleanupTempFile(inputFile);
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
test("CLI: accepts --llm-model-path flag", async (t) => {
|
|
331
|
+
const { stdout } = await runCli(["--help"]);
|
|
332
|
+
// Verify the flag is documented
|
|
333
|
+
t.true(stdout.includes("--llm-model-path"));
|
|
334
|
+
t.true(stdout.includes("<path>"));
|
|
335
|
+
});
|
|
336
|
+
test("CLI: --remove-model handles non-interactive mode gracefully", async (t) => {
|
|
337
|
+
// In non-interactive mode:
|
|
338
|
+
// - If no model: prints "No model installed."
|
|
339
|
+
// - If model exists: prints "Cancelled." (since prompt defaults to no)
|
|
340
|
+
const { stdout, exitCode } = await runCli(["--remove-model"]);
|
|
341
|
+
// Should succeed (no error) in either case
|
|
342
|
+
t.is(exitCode, 0);
|
|
343
|
+
t.true(stdout.includes("No model installed.") || stdout.includes("Cancelled."));
|
|
344
|
+
});
|
|
345
|
+
// ============================================================================
|
|
346
|
+
// LLM CLI Integration Tests (with file input)
|
|
347
|
+
// ============================================================================
|
|
348
|
+
test("CLI: --use-llm with file input falls back when model missing", async (t) => {
|
|
349
|
+
const inputFile = await createTempFile(SIMPLE_HTML);
|
|
350
|
+
try {
|
|
351
|
+
const { stdout, exitCode } = await runCli([inputFile, "--use-llm"]);
|
|
352
|
+
// Should fall back to Turndown and produce output
|
|
353
|
+
t.is(exitCode, 0);
|
|
354
|
+
t.true(stdout.includes("Hello World"));
|
|
355
|
+
}
|
|
356
|
+
finally {
|
|
357
|
+
await cleanupTempFile(inputFile);
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
test("CLI: --use-llm with --verbose shows fallback message", async (t) => {
|
|
361
|
+
const inputFile = await createTempFile(SIMPLE_HTML);
|
|
362
|
+
const outputFile = path.join(path.dirname(inputFile), "output.md");
|
|
363
|
+
try {
|
|
364
|
+
const { stderr, exitCode } = await runCli([
|
|
365
|
+
inputFile,
|
|
366
|
+
"--use-llm",
|
|
367
|
+
"--verbose",
|
|
368
|
+
"-o",
|
|
369
|
+
outputFile,
|
|
370
|
+
]);
|
|
371
|
+
// Should succeed
|
|
372
|
+
t.is(exitCode, 0);
|
|
373
|
+
// In non-TTY mode, verbose output goes to stderr
|
|
374
|
+
// The fallback message should appear
|
|
375
|
+
t.true(stderr.includes("Falling back") ||
|
|
376
|
+
stderr.includes("Written to") ||
|
|
377
|
+
exitCode === 0);
|
|
378
|
+
}
|
|
379
|
+
finally {
|
|
380
|
+
await cleanupTempFile(inputFile);
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
test("CLI: combines --use-llm with other flags", async (t) => {
|
|
384
|
+
const inputFile = await createTempFile(SIMPLE_HTML);
|
|
385
|
+
try {
|
|
386
|
+
const { stdout, exitCode } = await runCli([
|
|
387
|
+
inputFile,
|
|
388
|
+
"--use-llm",
|
|
389
|
+
"--no-frontmatter",
|
|
390
|
+
"--no-images",
|
|
391
|
+
]);
|
|
392
|
+
t.is(exitCode, 0);
|
|
393
|
+
// Should still produce output (via fallback)
|
|
394
|
+
t.true(stdout.length > 0);
|
|
395
|
+
// Should respect other flags
|
|
396
|
+
t.false(stdout.startsWith("---"));
|
|
397
|
+
}
|
|
398
|
+
finally {
|
|
399
|
+
await cleanupTempFile(inputFile);
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
// ============================================================================
|
|
403
|
+
// New CLI Flag Tests (--model-path, --compare, --show-config)
|
|
404
|
+
// ============================================================================
|
|
405
|
+
test("CLI: --model-path shows default model directory", async (t) => {
|
|
406
|
+
const { stdout, exitCode } = await runCli(["--model-path"]);
|
|
407
|
+
t.is(exitCode, 0);
|
|
408
|
+
// Should output a path containing .get-md and models
|
|
409
|
+
t.true(stdout.includes(".get-md") || stdout.includes("models"));
|
|
410
|
+
// Should end with .gguf file extension
|
|
411
|
+
t.true(stdout.trim().endsWith(".gguf"));
|
|
412
|
+
});
|
|
413
|
+
test("CLI: --help shows --model-path option", async (t) => {
|
|
414
|
+
const { stdout } = await runCli(["--help"]);
|
|
415
|
+
t.true(stdout.includes("--model-path"));
|
|
416
|
+
t.true(stdout.includes("model storage path"));
|
|
417
|
+
});
|
|
418
|
+
test("CLI: --show-config shows configuration info", async (t) => {
|
|
419
|
+
const { stdout, exitCode } = await runCli(["--show-config"]);
|
|
420
|
+
t.is(exitCode, 0);
|
|
421
|
+
t.true(stdout.includes("Configuration"));
|
|
422
|
+
// Should show either "Config file:" or "None found"
|
|
423
|
+
t.true(stdout.includes("Config file") || stdout.includes("None found"));
|
|
424
|
+
});
|
|
425
|
+
test("CLI: --show-config lists supported config file names when none found", async (t) => {
|
|
426
|
+
// This test may find a config in home dir, so we check for either case
|
|
427
|
+
const { stdout, exitCode } = await runCli(["--show-config"]);
|
|
428
|
+
t.is(exitCode, 0);
|
|
429
|
+
// If no config found, should list supported names
|
|
430
|
+
if (stdout.includes("None found")) {
|
|
431
|
+
t.true(stdout.includes(".getmdrc"));
|
|
432
|
+
t.true(stdout.includes("get-md.config.json"));
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
test("CLI: --help shows --show-config option", async (t) => {
|
|
436
|
+
const { stdout } = await runCli(["--help"]);
|
|
437
|
+
t.true(stdout.includes("--show-config"));
|
|
438
|
+
t.true(stdout.includes("--config"));
|
|
439
|
+
});
|
|
440
|
+
test("CLI: --help shows --compare option", async (t) => {
|
|
441
|
+
const { stdout } = await runCli(["--help"]);
|
|
442
|
+
t.true(stdout.includes("--compare"));
|
|
443
|
+
t.true(stdout.includes("Compare") || stdout.includes("compare"));
|
|
444
|
+
});
|
|
445
|
+
test("CLI: --compare requires input", async (t) => {
|
|
446
|
+
// Running --compare without input should fail or prompt
|
|
447
|
+
const { exitCode } = await runCli(["--compare"]);
|
|
448
|
+
// Should fail because no input provided
|
|
449
|
+
t.true(exitCode !== 0 || exitCode === null);
|
|
450
|
+
});
|
|
451
|
+
test("CLI: --compare with file falls back when model missing", async (t) => {
|
|
452
|
+
const inputFile = await createTempFile(SIMPLE_HTML);
|
|
453
|
+
try {
|
|
454
|
+
// In non-interactive mode, compare should fail gracefully when model missing
|
|
455
|
+
const { exitCode, stderr } = await runCli([inputFile, "--compare"]);
|
|
456
|
+
// Either succeeds with fallback message or exits with error about model
|
|
457
|
+
t.true(exitCode === 0 ||
|
|
458
|
+
stderr.includes("model") ||
|
|
459
|
+
stderr.includes("Cannot run comparison"));
|
|
460
|
+
}
|
|
461
|
+
finally {
|
|
462
|
+
await cleanupTempFile(inputFile);
|
|
463
|
+
}
|
|
464
|
+
});
|
|
278
465
|
//# sourceMappingURL=cli.spec.js.map
|
package/dist/cli.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.spec.js","sourceRoot":"","sources":["../src/cli.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.spec.js","sourceRoot":"","sources":["../src/cli.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { LLMEventCallback } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* LLM Converter - handles HTML to Markdown conversion using a local LLM
|
|
4
|
+
*
|
|
5
|
+
* Uses ReaderLM-v2 which is specifically trained for HTML to Markdown conversion.
|
|
6
|
+
* The model uses a special prompt format with <|html|> and <|md|> tags.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LLMConverter {
|
|
9
|
+
private llama;
|
|
10
|
+
private model;
|
|
11
|
+
private context;
|
|
12
|
+
private modelPath;
|
|
13
|
+
private eventCallback?;
|
|
14
|
+
private temperature;
|
|
15
|
+
private maxTokens;
|
|
16
|
+
constructor(options: {
|
|
17
|
+
modelPath: string;
|
|
18
|
+
onEvent?: LLMEventCallback;
|
|
19
|
+
temperature?: number;
|
|
20
|
+
maxTokens?: number;
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Emit an event to the callback if registered
|
|
24
|
+
*/
|
|
25
|
+
private emit;
|
|
26
|
+
/**
|
|
27
|
+
* Load the model into memory
|
|
28
|
+
*/
|
|
29
|
+
loadModel(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Check if the model is loaded
|
|
32
|
+
*/
|
|
33
|
+
isLoaded(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Unload the model to free memory
|
|
36
|
+
*/
|
|
37
|
+
unload(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Clean up the LLM output by removing markdown code block wrappers
|
|
40
|
+
*/
|
|
41
|
+
private cleanupOutput;
|
|
42
|
+
/**
|
|
43
|
+
* Convert HTML to Markdown using the LLM
|
|
44
|
+
*
|
|
45
|
+
* ReaderLM-v2 is built on Qwen2.5-1.5B-Instruction and uses a chat format.
|
|
46
|
+
* The prompt follows the format from the official examples.
|
|
47
|
+
*/
|
|
48
|
+
convert(html: string): Promise<string>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create an LLM converter instance
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const converter = createLLMConverter({
|
|
56
|
+
* modelPath: '/path/to/model.gguf',
|
|
57
|
+
* onEvent: (event) => console.log(event),
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* await converter.loadModel();
|
|
61
|
+
* const markdown = await converter.convert('<h1>Hello</h1>');
|
|
62
|
+
* await converter.unload();
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function createLLMConverter(options: {
|
|
66
|
+
modelPath: string;
|
|
67
|
+
onEvent?: LLMEventCallback;
|
|
68
|
+
temperature?: number;
|
|
69
|
+
maxTokens?: number;
|
|
70
|
+
}): LLMConverter;
|
|
71
|
+
//# sourceMappingURL=llm-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-converter.d.ts","sourceRoot":"","sources":["../../src/converters/llm-converter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAC,CAAmB;IACzC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAOD;;OAEG;YACW,IAAI;IAMlB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA4ChC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAkE7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,YAAY,CAEf"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// src/converters/llm-converter.ts
|
|
2
|
+
import { getLlama, LlamaChatSession, } from "node-llama-cpp";
|
|
3
|
+
// Default conversion parameters
|
|
4
|
+
const DEFAULT_TEMPERATURE = 0;
|
|
5
|
+
const DEFAULT_MAX_TOKENS = 4096;
|
|
6
|
+
/**
|
|
7
|
+
* LLM Converter - handles HTML to Markdown conversion using a local LLM
|
|
8
|
+
*
|
|
9
|
+
* Uses ReaderLM-v2 which is specifically trained for HTML to Markdown conversion.
|
|
10
|
+
* The model uses a special prompt format with <|html|> and <|md|> tags.
|
|
11
|
+
*/
|
|
12
|
+
export class LLMConverter {
|
|
13
|
+
llama = null;
|
|
14
|
+
model = null;
|
|
15
|
+
context = null;
|
|
16
|
+
modelPath;
|
|
17
|
+
eventCallback;
|
|
18
|
+
temperature;
|
|
19
|
+
maxTokens;
|
|
20
|
+
constructor(options) {
|
|
21
|
+
this.modelPath = options.modelPath;
|
|
22
|
+
this.eventCallback = options.onEvent;
|
|
23
|
+
this.temperature = options.temperature ?? DEFAULT_TEMPERATURE;
|
|
24
|
+
this.maxTokens = options.maxTokens ?? DEFAULT_MAX_TOKENS;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Emit an event to the callback if registered
|
|
28
|
+
*/
|
|
29
|
+
async emit(event) {
|
|
30
|
+
if (this.eventCallback) {
|
|
31
|
+
await this.eventCallback(event);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Load the model into memory
|
|
36
|
+
*/
|
|
37
|
+
async loadModel() {
|
|
38
|
+
const startTime = Date.now();
|
|
39
|
+
await this.emit({
|
|
40
|
+
type: "model-loading",
|
|
41
|
+
modelName: "ReaderLM-v2",
|
|
42
|
+
});
|
|
43
|
+
try {
|
|
44
|
+
// Initialize llama.cpp (may compile binaries on first run - can take minutes)
|
|
45
|
+
await this.emit({
|
|
46
|
+
type: "llama-init-start",
|
|
47
|
+
});
|
|
48
|
+
this.llama = await getLlama();
|
|
49
|
+
await this.emit({
|
|
50
|
+
type: "llama-init-complete",
|
|
51
|
+
});
|
|
52
|
+
// Load the model into memory
|
|
53
|
+
await this.emit({
|
|
54
|
+
type: "model-file-loading",
|
|
55
|
+
path: this.modelPath,
|
|
56
|
+
});
|
|
57
|
+
this.model = await this.llama.loadModel({
|
|
58
|
+
modelPath: this.modelPath,
|
|
59
|
+
});
|
|
60
|
+
// Create context with generous token limit for long documents
|
|
61
|
+
this.context = await this.model.createContext({
|
|
62
|
+
contextSize: Math.min(this.maxTokens, 8192), // Balance between capability and memory
|
|
63
|
+
});
|
|
64
|
+
const loadTime = Date.now() - startTime;
|
|
65
|
+
await this.emit({
|
|
66
|
+
type: "model-loaded",
|
|
67
|
+
loadTime,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
72
|
+
throw new Error(`Failed to load LLM model: ${err.message}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if the model is loaded
|
|
77
|
+
*/
|
|
78
|
+
isLoaded() {
|
|
79
|
+
return this.model !== null && this.context !== null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Unload the model to free memory
|
|
83
|
+
*/
|
|
84
|
+
async unload() {
|
|
85
|
+
if (this.context) {
|
|
86
|
+
await this.context.dispose();
|
|
87
|
+
this.context = null;
|
|
88
|
+
}
|
|
89
|
+
if (this.model) {
|
|
90
|
+
await this.model.dispose();
|
|
91
|
+
this.model = null;
|
|
92
|
+
}
|
|
93
|
+
if (this.llama) {
|
|
94
|
+
await this.llama.dispose();
|
|
95
|
+
this.llama = null;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Clean up the LLM output by removing markdown code block wrappers
|
|
100
|
+
*/
|
|
101
|
+
cleanupOutput(output) {
|
|
102
|
+
let cleaned = output.trim();
|
|
103
|
+
// Remove markdown code block wrapper if present
|
|
104
|
+
// Matches ```markdown, ```md, or just ```
|
|
105
|
+
const codeBlockMatch = cleaned.match(/^```(?:markdown|md)?\s*\n([\s\S]*?)\n```\s*$/);
|
|
106
|
+
if (codeBlockMatch) {
|
|
107
|
+
cleaned = codeBlockMatch[1];
|
|
108
|
+
}
|
|
109
|
+
return cleaned.trim();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Convert HTML to Markdown using the LLM
|
|
113
|
+
*
|
|
114
|
+
* ReaderLM-v2 is built on Qwen2.5-1.5B-Instruction and uses a chat format.
|
|
115
|
+
* The prompt follows the format from the official examples.
|
|
116
|
+
*/
|
|
117
|
+
async convert(html) {
|
|
118
|
+
if (!this.model || !this.context) {
|
|
119
|
+
throw new Error("Model not loaded. Call loadModel() first.");
|
|
120
|
+
}
|
|
121
|
+
const startTime = Date.now();
|
|
122
|
+
await this.emit({
|
|
123
|
+
type: "conversion-start",
|
|
124
|
+
inputSize: html.length,
|
|
125
|
+
});
|
|
126
|
+
try {
|
|
127
|
+
// Create chat session for proper Qwen2.5 chat template handling
|
|
128
|
+
const session = new LlamaChatSession({
|
|
129
|
+
contextSequence: this.context.getSequence(),
|
|
130
|
+
});
|
|
131
|
+
// Create the prompt using ReaderLM-v2's format
|
|
132
|
+
// Based on the official example: instruction + html in code block
|
|
133
|
+
const prompt = `Extract the main content from the given HTML and convert it to Markdown format.
|
|
134
|
+
\`\`\`html
|
|
135
|
+
${html}
|
|
136
|
+
\`\`\``;
|
|
137
|
+
let tokensProcessed = 0;
|
|
138
|
+
// Generate the markdown using chat
|
|
139
|
+
const rawResult = await session.prompt(prompt, {
|
|
140
|
+
temperature: this.temperature,
|
|
141
|
+
maxTokens: this.maxTokens,
|
|
142
|
+
onTextChunk: () => {
|
|
143
|
+
tokensProcessed++;
|
|
144
|
+
// Emit progress periodically (every 100 tokens)
|
|
145
|
+
if (tokensProcessed % 100 === 0) {
|
|
146
|
+
void this.emit({
|
|
147
|
+
type: "conversion-progress",
|
|
148
|
+
tokensProcessed,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
// Clean up the result - remove markdown code block wrapper if present
|
|
154
|
+
const result = this.cleanupOutput(rawResult);
|
|
155
|
+
const duration = Date.now() - startTime;
|
|
156
|
+
await this.emit({
|
|
157
|
+
type: "conversion-complete",
|
|
158
|
+
outputSize: result.length,
|
|
159
|
+
duration,
|
|
160
|
+
});
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
165
|
+
await this.emit({
|
|
166
|
+
type: "conversion-error",
|
|
167
|
+
error: err,
|
|
168
|
+
});
|
|
169
|
+
throw err;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Create an LLM converter instance
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const converter = createLLMConverter({
|
|
179
|
+
* modelPath: '/path/to/model.gguf',
|
|
180
|
+
* onEvent: (event) => console.log(event),
|
|
181
|
+
* });
|
|
182
|
+
*
|
|
183
|
+
* await converter.loadModel();
|
|
184
|
+
* const markdown = await converter.convert('<h1>Hello</h1>');
|
|
185
|
+
* await converter.unload();
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export function createLLMConverter(options) {
|
|
189
|
+
return new LLMConverter(options);
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=llm-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-converter.js","sourceRoot":"","sources":["../../src/converters/llm-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-converter.spec.d.ts","sourceRoot":"","sources":["../../src/converters/llm-converter.spec.ts"],"names":[],"mappings":""}
|