summaryrefslogtreecommitdiffstats
path: root/desktop/modules/ai/AiPage.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-28 09:15:55 +0100
committerDanilo M. <danix@danix.xyz>2026-10-28 09:15:55 +0100
commit779492e8b40084032e218c89f211e60527a28b98 (patch)
tree30a99cfa626374a60a58688558516802a74aea7b /desktop/modules/ai/AiPage.qml
parente59745a38b56d2517b8c006279ea6d07f8047678 (diff)
downloadquickshell-779492e8b40084032e218c89f211e60527a28b98.tar.gz
quickshell-779492e8b40084032e218c89f211e60527a28b98.zip
ai: unload llama's model from the engine row
The llama.cpp row offers Unload while a model is loaded. It posts to the router's /models/unload, which frees the VRAM and leaves llama-server up, so its web UI stays available; the engines themselves are still never stopped from here. The answer is not read: the next poll shows the row without a model, or with it if the unload failed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/ai/AiPage.qml')
-rw-r--r--desktop/modules/ai/AiPage.qml5
1 files changed, 4 insertions, 1 deletions
diff --git a/desktop/modules/ai/AiPage.qml b/desktop/modules/ai/AiPage.qml
index e89132a..369c1b5 100644
--- a/desktop/modules/ai/AiPage.qml
+++ b/desktop/modules/ai/AiPage.qml
@@ -12,7 +12,8 @@
import QtQuick
import "../.."
-// Engines are read-only: stopping either would take its web UI down with it.
+// Engines are never stopped, that would take their web UI down with them;
+// llama's model can be unloaded, which frees the VRAM and leaves the server up.
Column {
id: page
@@ -42,6 +43,8 @@ Column {
return modelData.name === "llama" ? "No model loaded" : "Running";
return (modelData.busy ? "Generating" : "Idle") + " · " + modelData.model;
}
+ action: modelData.name === "llama" && modelData.model !== "" ? "Unload" : ""
+ onTriggered: page.ai.unload(modelData.model)
}
}