sightsound: new FLM NPU sight+sound service on XDNA2 (gemma4-it:e4b)

New Dankclaw service frank-default-sightsound: FLM 1.0.1 serving the
Gemma4-E4B-IT-NPU2 pack (vision+audio+reasoning, 131072 ctx) on the XDNA2
NPU at port 52626. Model choice rationale: gemma4-it is the only NPU2 model
family with BOTH image and audio towers; the uncensored candidate qwythos:9b
is text-only, so sight+sound wins over uncensored here.

Deployer wiring: planner maps env/unit/serve files to the new service name;
deploy-remote gains deploy_llm_sightsound (relink + daemon-reload + enable +
restart + health gate on /v1/version — FLM has no /health route). Unlike the
retired frank-default-npu relink-only path, this unit is boot-enabled.
This commit is contained in:
Frank committed 2026-08-30 04:37:42 -07:00
1 parent 0937cfb047
commit c3ed3a6e12
6 files changed
+119

No files matched your search

+4
View File
@@ -56,6 +56,7 @@ SERVICE_ORDER = (
"readarr",
"frank-default-large",
"frank-default-npu",
"frank-default-sightsound",
"frank-default-small",
)
@@ -84,6 +85,7 @@ DANKCLAW_SERVICES = {
"homepage",
"frank-default-large",
"frank-default-npu",
"frank-default-sightsound",
}
DANKSERVER_SERVICES = {
@@ -304,6 +306,8 @@ def services_for_path(path: str, target: str) -> set[str]:
_add(services, "frank-default-large")
elif name in {"frank-default-npu.env", "frank-default-npu.service", "serve-frank-default-npu.sh"}:
_add(services, "frank-default-npu")
elif name in {"frank-default-sightsound.env", "frank-default-sightsound.service", "serve-frank-default-sightsound.sh"}:
_add(services, "frank-default-sightsound")
elif name in {"frank-default-small.env", "frank-default-small.service", "serve-frank-small.sh"}:
_add(services, "frank-default-small")
elif name == "chat-template.jinja":