diff --git a/scripts/ui-assets.cmake b/scripts/ui-assets.cmake index ae7a1cc26d..f85c562bd0 100644 --- a/scripts/ui-assets.cmake +++ b/scripts/ui-assets.cmake @@ -126,8 +126,22 @@ function(npm_build out_var) return() endif() - if(NOT EXISTS "${UI_SOURCE_DIR}/node_modules") - message(STATUS "UI: running npm install (first time)") + # npm writes node_modules/.package-lock.json on every successful install, + # so a package-lock.json newer than this marker means node_modules is stale + set(NPM_MARKER "${UI_SOURCE_DIR}/node_modules/.package-lock.json") + set(need_install FALSE) + if(NOT EXISTS "${NPM_MARKER}") + set(need_install TRUE) + else() + file(TIMESTAMP "${UI_SOURCE_DIR}/package-lock.json" lock_ts) + file(TIMESTAMP "${NPM_MARKER}" marker_ts) + if(lock_ts STRGREATER marker_ts) + set(need_install TRUE) + endif() + endif() + + if(need_install) + message(STATUS "UI: running npm install") execute_process( COMMAND ${NPM_EXECUTABLE} install WORKING_DIRECTORY "${UI_SOURCE_DIR}" diff --git a/src/llama-model.cpp b/src/llama-model.cpp index fe64c70d35..db3219f18f 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1638,7 +1638,8 @@ const float * llama_model::tensor_split() const { } uint32_t llama_model::n_gpu_layers() const { - return params.n_gpu_layers >= 0 ? params.n_gpu_layers : hparams.n_layer() + 1; + // note: plus 1 for the "output" layer + return params.n_gpu_layers >= 0 ? params.n_gpu_layers : hparams.n_layer_all + 1; } llama_split_mode llama_model::split_mode() const { diff --git a/tools/server/README.md b/tools/server/README.md index f1eeec36aa..3e14f5e6a2 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -1870,4 +1870,4 @@ You can specify default preferences for the web UI using `--ui-config **Note:** The old flags `--webui-config` and `--webui-config-file` are deprecated but still work as aliases. -You may find available preferences in [settings-config.ts](../ui/src/lib/constants/settings-config.ts). +You may find available preferences in [settings-keys.ts](../ui/src/lib/constants/settings-keys.ts). diff --git a/tools/ui/.npmrc b/tools/ui/.npmrc index b6f27f1359..32e6012709 100644 --- a/tools/ui/.npmrc +++ b/tools/ui/.npmrc @@ -1 +1,2 @@ engine-strict=true +ignore-scripts=true