Feat: reasoning-Rolle entfernt — Modell geloescht, UI bereinigt
- Nemotron-3-Nano-Omni-30B-A3B-Reasoning von der Box entfernt (25 GB freigegeben) - llama-swap config: Modell-Eintrag und reasoning-Alias entfernt - sources.py: reasoning-Kategorie aus CATEGORIES entfernt - maintenance.py: reasoning->heavy Mapping aus ROLE_MAP entfernt - llamaswap.py: reasoning aus ROLE_IDS entfernt - Frontend: reasoning aus allen ROLES-Arrays entfernt (ModelBadges, RolesCard, Cockpit) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ from config import CMD_TEMPLATE, CONFIG_PATH, DEFAULT_TTL, LLAMA_SWAP_URL, SPEC_
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# Kanonische Rollen (vereinheitlicht ggü. v1: kein manager/reviewer mehr).
|
||||
ROLE_IDS = {"vision", "coder", "reasoning", "agent", "scout"}
|
||||
ROLE_IDS = {"vision", "coder", "agent", "scout"}
|
||||
|
||||
_CTX_RE = re.compile(r"-(?:c|-ctx-size)\s+(\d+)")
|
||||
_PATH_RE = re.compile(r"-(?:m|-model)\s+([^\s]+)")
|
||||
|
||||
@@ -72,7 +72,6 @@ def model_upgrades() -> list[dict]:
|
||||
out = []
|
||||
|
||||
ROLE_MAP = {
|
||||
"reasoning": "heavy",
|
||||
"agent": "fast",
|
||||
"scout": "fast",
|
||||
"coder": "coder",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Vertrauenswürdige Quellen + Kategorien für die automatische Modell-Entdeckung.
|
||||
Portiert aus Mission Control v1 (sources.py). Rollen sind die EINE Quelle der
|
||||
Wahrheit (vereinheitlicht): vision · coder · reasoning · agent · scout.
|
||||
Wahrheit (vereinheitlicht): vision · coder · agent · scout.
|
||||
"""
|
||||
|
||||
# HF-Orgs, die zuverlässig aktuelle, hochwertige GGUF-Quants veröffentlichen.
|
||||
@@ -15,8 +15,6 @@ CATEGORIES = [
|
||||
"kw": ["-vl-", "-vl", "vision", "llava", "multimodal", "-mm-", "pixtral"]},
|
||||
{"role": "coder", "title": "Coden & Programmieren", "icon": "code",
|
||||
"kw": ["coder", "-code-", "code-", "codestral", "starcoder"]},
|
||||
{"role": "reasoning", "title": "Nachdenken & Logik", "icon": "pulse",
|
||||
"kw": ["-r1", "deepseek-r1", "reasoning", "qwq", "magistral", "-think", "thinking", "-o1"]},
|
||||
{"role": "agent", "title": "Agenten & Tool-Use", "icon": "layers",
|
||||
"kw": ["hermes", "-tool", "command-r", "watt", "-fc-", "function"]},
|
||||
{"role": "scout", "title": "Allrounder & Chat", "icon": "compass",
|
||||
|
||||
+12
-12
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -7,7 +7,7 @@
|
||||
<link rel="manifest" href="/manifest.webmanifest" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<title>Mission Control 2.0</title>
|
||||
<script type="module" crossorigin src="/assets/index-BRFJuGKC.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-D4mBflTE.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-C0dfTDFj.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Layers } from "lucide-react"
|
||||
import { useModels } from "@/lib/queries"
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
const ROLES = ["fast", "heavy", "coder", "reasoning", "vision", "scout"]
|
||||
const ROLES = ["fast", "heavy", "coder", "vision", "scout"]
|
||||
|
||||
export function RolesCard() {
|
||||
const { data } = useModels(3_000)
|
||||
@@ -40,7 +40,6 @@ export function RolesCard() {
|
||||
role === "fast" ? "bg-cyan-500/15 text-cyan-400 border-cyan-500/25" :
|
||||
role === "heavy" ? "bg-amber-500/15 text-amber-400 border-amber-500/25" :
|
||||
role === "coder" ? "bg-violet-500/15 text-violet-400 border-violet-500/25" :
|
||||
role === "reasoning" ? "bg-emerald-500/15 text-emerald-400 border-emerald-500/25" :
|
||||
role === "vision" ? "bg-pink-500/15 text-pink-400 border-pink-500/25" :
|
||||
"bg-teal-500/15 text-teal-400 border-teal-500/25"
|
||||
)}>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { type Fit } from "@/lib/api"
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
export const ROLES = ["fast", "heavy", "coder", "reasoning", "agent", "vision", "scout"]
|
||||
export const ROLES = ["fast", "heavy", "coder", "agent", "vision", "scout"]
|
||||
|
||||
export function FitBadge({ fit }: { fit: Fit }) {
|
||||
const tone = {
|
||||
|
||||
@@ -440,8 +440,7 @@ export function Cockpit() {
|
||||
const activeModel = getModelForRole(role)
|
||||
const isWarm = activeModel ? running.includes(activeModel.name) : false
|
||||
|
||||
// Skip "reasoning" & "agent" to keep layout neat and identical to canonical roles
|
||||
if (role === "reasoning" || role === "agent") return null
|
||||
if (role === "agent") return null
|
||||
const indexMap = { fast: 0, heavy: 1, coder: 2, vision: 3, scout: 4 }[role] as number
|
||||
|
||||
return (
|
||||
@@ -591,7 +590,7 @@ export function Cockpit() {
|
||||
Gateway Steckplatz-Belegung (Slot-Zuweisung)
|
||||
</div>
|
||||
<div className="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3">
|
||||
{["fast", "heavy", "coder", "reasoning", "vision", "scout"].map((role) => {
|
||||
{["fast", "heavy", "coder", "vision", "scout"].map((role) => {
|
||||
const m = models.find((x) => x.role === role)
|
||||
const isWarm = m ? running.includes(m.name) : false
|
||||
|
||||
@@ -613,7 +612,6 @@ export function Cockpit() {
|
||||
role === "fast" ? "bg-cyan-500/10 text-cyan-400 border-cyan-500/20" :
|
||||
role === "heavy" ? "bg-amber-500/10 text-amber-400 border-amber-500/20" :
|
||||
role === "coder" ? "bg-violet-500/10 text-violet-400 border-violet-500/20" :
|
||||
role === "reasoning" ? "bg-emerald-500/10 text-emerald-400 border-emerald-500/20" :
|
||||
role === "vision" ? "bg-pink-500/10 text-pink-400 border-pink-500/20" :
|
||||
"bg-teal-500/10 text-teal-400 border-teal-500/20"
|
||||
)}>{role}</span>
|
||||
|
||||
Reference in New Issue
Block a user