""" Vertrauenswürdige Quellen + Kategorien für die automatische Modell-Entdeckung. Rollen = die EINE Quelle der Wahrheit, identisch zu den llama-swap-Serving-Rollen und der UI: fast · heavy · coder · vision · scout. """ # HF-Orgs, die zuverlässig aktuelle, hochwertige GGUF-Quants veröffentlichen. TRUSTED_AUTHORS = ["unsloth", "bartowski", "ggml-org", "lmstudio-community"] # Kanonische Rollen — eine Quelle der Wahrheit (deckt sich mit llamaswap.ROLE_IDS, # maintenance.ROLE_MAP, frontend ModelBadges.ROLES + Discover.ROLE_METADATA). ROLE_IDS = ["fast", "heavy", "coder", "vision", "scout"] # Kategorien (Reihenfolge = Anzeige + Zuordnungs-Priorität). Ein Modell wird der # ERSTEN Kategorie zugeordnet, deren Stichwort im Repo-Namen vorkommt; sonst „scout". # Die `role` ist zugleich der Alias-Vorschlag und EINE der 5 kanonischen Rollen. CATEGORIES = [ {"role": "vision", "title": "Bilder verstehen", "icon": "eye", "kw": ["-vl-", "-vl", "vision", "llava", "multimodal", "-mm-", "pixtral"]}, {"role": "coder", "title": "Coden & Programmieren", "icon": "code", "kw": ["coder", "-code-", "code-", "codestral", "starcoder"]}, {"role": "heavy", "title": "Schweres Reasoning", "icon": "brain", "kw": ["reasoning", "-think", "thinking", "gpt-oss", "deepseek-r", "-r1", "qwq", "-70b", "-72b", "-120b", "-123b", "-235b", "-405b", "-a10b", "-a22b"]}, {"role": "fast", "title": "Schnelles Alltags-Hirn", "icon": "zap", "kw": ["-a3b", "-a1", "-a2", "-30b", "-32b", "-14b", "-8b", "-7b", "-4b", "-moe"]}, {"role": "scout", "title": "Multimodal-Allrounder", "icon": "compass", "kw": []}, # Fallback: instruct/chat-Modelle, die in keine Spezialrolle fallen ] # Repo-Namensteile, die bei der Entdeckung übersprungen werden (Roh-/Spezialformate). SKIP_TOKENS = ["-base", "-bnb-", "-gptq", "-awq", "-fp8", "draft", "tokenizer"]