Add final Qwen3.8 runtime and uncensored profile

This commit is contained in:
Mikei386 committed 2026-08-23 00:10:53 +02:00
1 parent 1a9d94d22f
commit 2ef894160a
57 files changed
+10089 -54

No files matched your search

+10 -3
View File
@@ -19,8 +19,15 @@ else
fi
if command -v nvidia-smi >/dev/null 2>&1; then
GPU="$(nvidia-smi --query-gpu=name,memory.total --format=csv,noheader 2>/dev/null | head -1)"
[[ -n "$GPU" ]] && pass "GPU erkannt: $GPU" || fail "nvidia-smi liefert keine GPU"
GPU_LIST="$(nvidia-smi --query-gpu=name,memory.total --format=csv,noheader 2>/dev/null)"
GPU_COUNT="$(printf '%s\n' "$GPU_LIST" | sed '/^[[:space:]]*$/d' | wc -l)"
if [[ "$GPU_COUNT" -ge 2 ]]; then
pass "beide GPUs erkannt: $(printf '%s' "$GPU_LIST" | paste -sd ' | ' -)"
elif [[ "$GPU_COUNT" -eq 1 ]]; then
fail "nur eine von zwei erwarteten GPUs erkannt: $GPU_LIST"
else
fail "nvidia-smi liefert keine GPU"
fi
else
fail "nvidia-smi fehlt"
fi
@@ -40,7 +47,7 @@ for container in mike-ai-profile-controller mike-ai-router mike-ai-piper mike-ai
fi
done
ACTIVE_LLAMA="$(docker ps --format '{{.Names}}' | grep -Ec '^mike-ai-llama-(fast|medium|large|ultra|experimental)$' || true)"
ACTIVE_LLAMA="$(docker ps --format '{{.Names}}' | grep -Ec '^mike-ai-llama-(fast|medium|large|ultra|uncensored|experimental)$' || true)"
if [[ $ACTIVE_LLAMA -eq 1 ]]; then
pass "exakt ein llama.cpp-Profil aktiv"
else
@@ -21,7 +21,7 @@ PORT = int(os.environ.get("CONTROLLER_PORT", "8090"))
SOCKET_PATH = os.environ.get("DOCKER_SOCKET", "/var/run/docker.sock")
TOKEN_FILE = os.environ.get("CONTROLLER_TOKEN_FILE", "/run/secrets/controller-token")
ALLOWED = tuple(x.strip() for x in os.environ.get(
"ALLOWED_PROFILES", "fast,medium,large,ultra,experimental").split(",") if x.strip())
"ALLOWED_PROFILES", "fast,medium,large,ultra,uncensored,experimental").split(",") if x.strip())
LABEL_KEY = "com.mike-ai.llama-profile"
IMAGE_LABEL_KEY = "com.mike-ai.image-worker"
IMAGE_WORKER = os.environ.get("IMAGE_WORKER", "flux")
+1 -1
View File
@@ -1 +1 @@
4df29be4f4c3673f428170fda944a5b19f743bb8
3f545beccee69d9975f466ec7e45fd9aacd8ba90
+12 -3
View File
@@ -14,9 +14,18 @@ nach Standardbenchmark, Tool-Calling-Test und Kontexttest übernommen.
## Produktive Modelle
- Fast und Long: Qwen3.8-27B IQ4-MIX mit MTP2
- Medium: Qwen3.8-27B IQ4_XS Pure ohne MTP
- Alle Profile: integrierte Vision mit demselben BF16-mmproj im System-RAM
- Fast: Qwen3.8-27B IQ4-MIX mit MTP2
- Medium und Large: Qwen3.8-27B IQ4_XS Pure mit MTP3
- Ultra: Qwen3.8-27B IQ4_XS Pure mit MTP2 und maximalem Textkontext
- Uncensored: Blackfrost Qwen3.8-27B Abliterated Q4_K_M mit MTP2
- Fast, Medium, Large und Uncensored: integrierte Vision; der jeweilige
Projektor liegt vollständig auf der RTX 3060
Die produktive Runtime ist auf Commit
`3f545beccee69d9975f466ec7e45fd9aacd8ba90` festgeschrieben. Gegen den
vorherigen Commit waren Antworten und Geschwindigkeit praktisch identisch;
übernommen wurde er wegen der Qwen-/MTP-/Multimodal-Korrekturen und des
expliziten `--mmproj-device`.
Die Dateien selbst sind nicht Bestandteil des Repositories. Pfade und Hashes
werden im lokalen Modellmanifest verwaltet.
+2 -2
View File
@@ -31,13 +31,13 @@ Container-Neustart vollständig verworfen.
TinySearch und SearXNG sind interne Abhängigkeiten des Web-MCPs und werden
nicht direkt als allgemeine Werkzeuge angeboten.
Die vier Open-WebUI-Profile Fast, Medium, Large und Ultra binden den Server als
Die fünf Open-WebUI-Profile Fast, Medium, Large, Ultra und Uncensored binden den Server als
`server:mcp:web-local` standardmäßig ein. Damit steht die begrenzte lokale
Websuche in jedem neuen Chat zur Verfügung, ohne zusätzlich Open WebUIs
separate eingebaute Websuche zu aktivieren. Das Modell entscheidet weiterhin,
ob eine aktuelle Frage tatsächlich einen Werkzeugaufruf benötigt.
Ein gemeinsamer Systemhinweis der vier Profile verlangt Webprüfung bei
Ein gemeinsamer Systemhinweis der fünf Profile verlangt Webprüfung bei
aktuellen, veränderlichen oder wesentlich unsicheren Tatsachen. Stabiles
Allgemeinwissen soll ohne unnötige Suche beantwortet werden. Die Anweisung
fordert gezielte statt wiederholter Synonymsuchen, Quellenlinks, transparente
@@ -19,6 +19,7 @@ class Filter:
medium_context_tokens: int = 160000
large_context_tokens: int = 192000
ultra_context_tokens: int = 262144
uncensored_context_tokens: int = 80000
default_context_tokens: int = 160000
soft_context_ratio: float = 0.70
hard_context_ratio: float = 0.84
@@ -110,6 +111,8 @@ class Filter:
model = (model or "").lower()
if "ultra" in model:
return self.valves.ultra_context_tokens
if "uncensored" in model:
return self.valves.uncensored_context_tokens
if "large" in model:
return self.valves.large_context_tokens
if "medium" in model:
+15 -3
View File
@@ -59,7 +59,7 @@ owner = requested_owner
if not owner:
row = con.execute(
"select user_id from model where id in "
"('mikeai-fast','mikeai-medium','mikeai-large','mikeai-ultra',"
"('mikeai-fast','mikeai-medium','mikeai-large','mikeai-ultra','mikeai-uncensored',"
"'mikeai---fast-72k') order by updated_at desc limit 1"
).fetchone()
if row:
@@ -160,6 +160,18 @@ profiles = [
"vision": False,
"tags": ["MikeAI", "Maximaler Kontext", "Nur Text"],
},
{
"id": "mikeai-uncensored",
"base": "qwen-uncensored",
"name": "MikeAI · Uncensored · 80K",
"description": (
"Weniger verweigerungsfreudiges Spezialprofil: Qwen3.8-27B "
"Abliterated Q4_K_M, 80.000 Token, RTX 5080 + RTX 3060 (90:10), MTP2 und "
"Bildanalyse. Werkzeugrechte und Bestätigungsregeln bleiben unverändert."
),
"vision": True,
"tags": ["MikeAI", "Uncensored", "Vision"],
},
]
params = {
@@ -262,7 +274,7 @@ with con:
# Hide the raw router aliases while keeping them resolvable as bases for
# the user-facing workspace presets.
for raw_id in ("qwen-fast", "qwen-medium", "qwen-large", "qwen-ultra"):
for raw_id in ("qwen-fast", "qwen-medium", "qwen-large", "qwen-ultra", "qwen-uncensored"):
upsert(
raw_id, None, raw_id, {},
{
@@ -306,7 +318,7 @@ with con:
("ui.default_models", json.dumps("mikeai-medium"), now),
)
print("OpenWebUI-Modelle installiert: Fast, Medium (Standard), Large, Ultra")
print("OpenWebUI-Modelle installiert: Fast, Medium (Standard), Large, Ultra, Uncensored")
PY
printf 'Datenbanksicherung: %s\n' "$backup"
+2 -2
View File
@@ -7,9 +7,9 @@ SERVICE="${LLAMA_SERVICE:-mike-ai-llama-ui.service}"
PROFILE="${1:-}"
case "$PROFILE" in
fast|medium|large|ultra) ;;
fast|medium|large|ultra|uncensored) ;;
*)
echo "Usage: llama-profile {fast|medium|large|ultra}" >&2
echo "Usage: llama-profile {fast|medium|large|ultra|uncensored}" >&2
exit 2
;;
esac