From e8536202704cb2cc9e48aa16f31ada877de08ee6 Mon Sep 17 00:00:00 2001 From: Lin Xiaodong Date: Fri, 11 Apr 2025 12:36:38 +0800 Subject: [PATCH] addon.node : support max_context api for addon.node (#3025) * feat: support max content * feat: show api in test file --------- Co-authored-by: linxiaodong --- examples/addon.node/__test__/whisper.spec.js | 6 ++++++ examples/addon.node/addon.cpp | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/examples/addon.node/__test__/whisper.spec.js b/examples/addon.node/__test__/whisper.spec.js index 066f382b..142c4e31 100644 --- a/examples/addon.node/__test__/whisper.spec.js +++ b/examples/addon.node/__test__/whisper.spec.js @@ -19,6 +19,12 @@ const whisperParamsMock = { no_timestamps: false, audio_ctx: 0, max_len: 0, + prompt: "", + print_progress: false, + progress_callback: (progress) => { + console.log(`Progress: ${progress}`); + }, + max_context: -1 }; describe("Run whisper.node", () => { diff --git a/examples/addon.node/addon.cpp b/examples/addon.node/addon.cpp index d4773ce0..3c1d52cb 100644 --- a/examples/addon.node/addon.cpp +++ b/examples/addon.node/addon.cpp @@ -368,6 +368,12 @@ Napi::Value whisper(const Napi::CallbackInfo& info) { bool comma_in_time = whisper_params.Get("comma_in_time").As(); int32_t max_len = whisper_params.Get("max_len").As(); + // Add support for max_context + int32_t max_context = -1; + if (whisper_params.Has("max_context") && whisper_params.Get("max_context").IsNumber()) { + max_context = whisper_params.Get("max_context").As(); + } + // support prompt std::string prompt = ""; if (whisper_params.Has("prompt") && whisper_params.Get("prompt").IsString()) { @@ -407,6 +413,7 @@ Napi::Value whisper(const Napi::CallbackInfo& info) { params.pcmf32 = pcmf32_vec; params.comma_in_time = comma_in_time; params.max_len = max_len; + params.max_context = max_context; params.print_progress = print_progress; params.prompt = prompt;