From 94c11754fef401a1d088015553b958bcb7f999fe Mon Sep 17 00:00:00 2001 From: vansangpfiev Date: Thu, 10 Apr 2025 10:00:24 +0700 Subject: [PATCH 1/3] fix: handle more parameters --- engine/extensions/local-engine/local_engine.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/engine/extensions/local-engine/local_engine.cc b/engine/extensions/local-engine/local_engine.cc index 885c14d77..b769c5e8c 100644 --- a/engine/extensions/local-engine/local_engine.cc +++ b/engine/extensions/local-engine/local_engine.cc @@ -20,7 +20,7 @@ const std::unordered_set kIgnoredParams = { "user_prompt", "min_keep", "mirostat", "mirostat_eta", "mirostat_tau", "text_model", "version", "n_probs", "object", "penalize_nl", "precision", "size", - "stop", "tfs_z", "typ_p"}; + "stop", "tfs_z", "typ_p", "caching_enabled"}; const std::unordered_map kParamsMap = { {"cpu_threads", "--threads"}, @@ -67,6 +67,19 @@ std::vector ConvertJsonToParamsVector(const Json::Value& root) { res.push_back("--embedding"); } continue; + } else if (member == "cache_type") { + if (!root[member].isNull()) { + res.push_back("-ctk"); + res.push_back(root[member].asString()); + res.push_back("-ctv"); + res.push_back(root[member].asString()); + } + continue; + } else if (member == "use_mmap") { + if (!root[member].asBool()) { + res.push_back("--no-mmap"); + } + continue; } res.push_back("--" + member); From f7dd5d9c137da036f6d30ca3f73bb5370d6dd8c8 Mon Sep 17 00:00:00 2001 From: vansangpfiev Date: Thu, 10 Apr 2025 12:41:05 +0700 Subject: [PATCH 2/3] fix: generate version.txt if not exist --- engine/services/engine_service.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/engine/services/engine_service.cc b/engine/services/engine_service.cc index 89cd00058..db0281c1d 100644 --- a/engine/services/engine_service.cc +++ b/engine/services/engine_service.cc @@ -772,7 +772,13 @@ EngineService::GetInstalledEngineVariants(const std::string& engine) const { // try to find version.txt auto version_txt_path = version_entry.path() / "version.txt"; if (!std::filesystem::exists(version_txt_path)) { - continue; + // create new one + std::ofstream meta(version_txt_path, std::ios::out); + meta << "name: " << entry.path().filename() << std::endl; + meta << "version: " << version_entry.path().filename() << std::endl; + meta.close(); + CTL_INF("name: " << entry.path().filename().string() << ", version: " + << version_entry.path().filename().string()); } try { From e9fa3552526fe68740846e47411276d709eafeb6 Mon Sep 17 00:00:00 2001 From: vansangpfiev Date: Thu, 10 Apr 2025 14:22:26 +0700 Subject: [PATCH 3/3] fix: only add path if exists --- engine/services/engine_service.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/services/engine_service.cc b/engine/services/engine_service.cc index db0281c1d..15c7148c7 100644 --- a/engine/services/engine_service.cc +++ b/engine/services/engine_service.cc @@ -871,7 +871,9 @@ void EngineService::RegisterEngineLibPath() { // register deps std::vector paths{}; - paths.push_back(cuda_path); + if (std::filesystem::exists(cuda_path)) { + paths.push_back(cuda_path); + } paths.push_back(engine_dir_path); CTL_DBG("Registering dylib for "