53 lines
3.7 KiB
Markdown
53 lines
3.7 KiB
Markdown
# Modellverwaltung in Athena Deck
|
|
|
|
## Serverprofile, Downloads und Größen (2026-09-28)
|
|
|
|
Profile sind jetzt echte, serverseitig persistierte Konfigurationen in
|
|
`state/profiles.json`. Die Bibliothek bietet „Profil anlegen“ für heruntergeladene
|
|
Gewichtsdateien. Alle vier Bereiche unterstützen Anlegen, Bearbeiten und
|
|
Duplizieren. Namen sind global eindeutig; Änderungen werden anhand einer
|
|
Revisionsnummer gegen versehentliches Überschreiben geprüft. Frühere lokale
|
|
Browserentwürfe werden weder gelöscht noch automatisch als echte Profile importiert.
|
|
|
|
Bildprofile speichern Auflösung, Schritte, Seed und Guidance. Chatprofile
|
|
speichern Kontextbudget, Slots, Threads, Batch und Microbatch; Audio derzeit
|
|
Sprechgeschwindigkeit, Video Auflösung, Frames, FPS, Schritte und Seed.
|
|
Ein Profil startet noch keinen Worker. Fehlende Laufzeiten und bei Qwen-Image-2.1
|
|
Textencoder/VAE werden angezeigt. Auf Wunsch des Betreibers werden in diesem
|
|
Schritt keine Bildlaufzeiten oder Zusatzmodelle installiert.
|
|
|
|
Der Reiter Downloads zeigt die persistierte Downloadhistorie (`models/downloads.json`).
|
|
„Aus Liste entfernen“ blendet ausschließlich einen beendeten Eintrag aus, auch
|
|
über Neustarts hinweg. Es löscht keine Modelldatei und keinen Bibliothekseintrag.
|
|
Bestehende Bibliotheksdateien werden einmalig als abgeschlossene Downloads übernommen.
|
|
Unterbrochene Downloads bleiben erkennbar; noch kein Fortsetzen/Resume.
|
|
Abgeschlossene Downloads belegen nicht mehr dauerhaft die Entdecken-Ansicht.
|
|
|
|
Entdecken lädt Dateigrößen mit zwei parallelen Metadatenanfragen nach. Angaben
|
|
stammen aus Hugging Face und werden fünf Minuten gecacht (maximal 64 Repositories).
|
|
Die Übersicht bevorzugt GGUF-Hauptgewichte, schließt erkennbare Encoder/VAE/LoRA-
|
|
Dateien aus und summiert vollständig vorhandene Shards einer Variante.
|
|
Die angegebene Spanne enthält keine zusätzlichen Pipeline-Komponenten.
|
|
|
|
Die Speicherprüfung ist bewusst eine **Untergrenze für Gewichte**, keine vollständige
|
|
Lauffähigkeitsprognose: Dateigröße gegen jede GPU einzeln, insgesamt und aktuell frei,
|
|
mit 5 Prozent / mindestens 512 MiB Reserve. GPUs werden nicht pauschal addiert.
|
|
Die Dateiauswahl zeigt GPU-Werte, Messzeit und ein vorhandenes Deck-RAM-Limit.
|
|
KV-Cache, Kontext, Aktivierungen, Encoder/VAE und backendabhängige Formate bleiben
|
|
als unbekannter Zusatzbedarf gekennzeichnet. Ein positives Gewichts-Ergebnis
|
|
bedeutet nicht „Modell kann gestartet werden“.
|
|
|
|
API (Administrator-Sitzung erforderlich, bestehender CSRF-Schutz):
|
|
- `GET /api/v1/catalog/assessment?repo=owner/name`: Größenbereich und Gewichtsprüfung.
|
|
- `GET /api/v1/catalog/files?repo=owner/name`: zusätzlich Prüfung pro Datei.
|
|
- `GET /api/v1/catalog`: Bibliotheks-IDs und `downloads` neben aktivem `job`.
|
|
- `POST /api/v1/catalog/dismiss` mit `{ "id": "download-id" }`: beendeten Eintrag ausblenden.
|
|
- `GET /api/v1/profiles`: Profile, Blocker und Parameterschemata.
|
|
- `POST /api/v1/profiles/save`: `id` (bei Neuanlage null), `revision` (anfangs 0),
|
|
`name`, `kind`, `model_id` und `parameters`. Die Modelldatei muss tatsächlich
|
|
vollständig in der Bibliothek liegen. Keine beliebigen Pfade/Startbefehle.
|
|
|
|
Die eigenständig implementierte Galerie orientiert sich an [LocalAIs Explore-/Detailansicht](https://github.com/mudler/LocalAI/blob/master/core/http/react-ui/src/pages/Models.jsx). Kein LocalAI-Frontendcode wurde übernommen. llama.cpp-Buildverwaltung und Einpassung der alten Referenzprofile sind unter Einstellungen verfügbar; Details in DEVELOPMENT.md.
|
|
|
|
Validiert: 54 Python-Tests; JavaScript-Syntaxprüfung; isolierter Browsertest mit echten Katalogdaten und einer temporären Testdatei für Profilanlage, Komponentenhinweise und Download-Ausblenden. Keine produktiven Modellstarts.
|