Add profile presets and min-p controls, embeddings and VoxCPM workers

This commit is contained in:
Mikei386 committed 2026-10-02 18:42:29 +02:00
1 parent 74dd2ed8ba
commit a7b30b62d2
32 files changed
+615 -64

No files matched your search

+26 -1
View File
@@ -10,7 +10,7 @@ die frühere separate Hardware-Seite wurde entfernt.
## Navigation und Detailansichten
Die **Übersicht** enthält Dashboard und Steuerung (Endpunkt und GPU-Modi).
**KI-Werkzeuge** trennt Chat & Sprachmodelle, Bildgenerierung, Musikgenerierung,
**KI-Werkzeuge** trennt Chat & Sprachmodelle, Embeddings, Bildgenerierung, Musikgenerierung,
Sprachausgabe, Spracherkennung, Stimmwerkzeuge und Videogenerierung.
Zusätzliche Oberflächen stehen unter **Anwendungen → Weitere Dienste**.
@@ -39,6 +39,23 @@ Vorhandenes Docker wird vorausgesetzt; produktive Dienste werden nicht veränder
## Neu: Modellverwaltung und llama.cpp-Einstellungen
Profile besitzen einen **Presets**-Button: bis zu 50 benannte Einstellungsstände
pro Profil speichern, in den Bearbeitungsdialog laden oder löschen. Gesichert
werden die aktuell gespeicherten Profilparameter, einschließlich GPU-Verteilung,
Kontext, Sampling und Vision-Projektor. Ungespeicherte Formulareingaben,
Komponenten-Zuordnungen, Prompt-Aufwerter und Client-Einstellungen sind nicht
Teil eines Presets. Erst „Profil auf Athena speichern“ übernimmt geladene Werte;
ein Preset startet kein Modell und ändert keine API-Freigabe. Presets gehören
zur jeweiligen Modelldatei, werden mit Backup/Restore gesichert und halten
referenzierte Modell-/Projektordateien gegen Löschung geschützt. Die interne
API `POST /api/v1/profiles/preset` benötigt `id`, `revision`, `action` sowie bei
`save` einen `name`, bei `delete` eine `preset_id`. Veraltete Revisionen werden
abgelehnt.
Min-p ist in LLM-Profilen editierbar (0–1, Standard 0 = deaktiviert).
Der Wert gilt für llama.cpp, den Testchat und API-Anfragen; explizite
Client-Vorgaben haben Vorrang.
LLM-Profile bieten editierbare [Sampling-Werte und Penalties](LLM_SAMPLING.md),
die im Testchat und am API-Endpunkt verwendet und mit den Profilen gesichert werden.
@@ -270,3 +287,11 @@ gesperrt. Der Komponentenbereich bietet vorhandene passende Dateien vorausgewäh
an und einen Sammeldownload fehlender Pflichtdateien. Bei mehreren verfügbaren
Varianten ist eine bewusste Einzelwahl nötig; ungeprüfte Quellen werden nicht
automatisch installiert. Speichern und Downloads starten keine Inferenz.
## Embeddings
Unter **KI-Werkzeuge → Embeddings** können Feature-Extraction-Modelle gesucht, heruntergeladen und als eigene Profile gespeichert werden. Sie erscheinen nicht in der Chat-Modellliste. Bibliothek, Downloads und Backup/Restore verwenden die gemeinsame Modellverwaltung.
EmbeddingGemma 300M QAT Q8_0 (`ggml-org/embeddinggemma-300m-qat-q8_0-GGUF`, `embeddinggemma-300m-qat-Q8_0.gguf`) ist ausführbar. Tokenizer und Konfiguration sind in der GGUF-Datei enthalten; keine separaten Pflichtkomponenten. Vorhandenes llama.cpp wird auf CPU genutzt (0 GPU-Layer, CUDA-Geräte deaktiviert), unabhängig vom GPU-Modus. Einstellungen entsprechen dem alten Dienst: mean pooling, Kontext 4096 insgesamt, vier Slots, Batch 4096, Microbatch 1024, acht CPU-Threads. Der Worker bleibt nach Anfragen geladen und wird beim Endpunkt-Stopp beendet.
Profil speichern und am Endpunkt freigeben. `POST /v1/embeddings` am gleichen authentifizierten API-Port wie Chat erwartet `model` (freigegebener Profilname) und `input` (Text oder bis zu 32 Texte). Unterstützt wird `encoding_format=float`; maximal etwa 1024 Token je Text, von llama.cpp geprüft. `GET /v1/embeddings/models` listet ausschließlich freigegebene Embedding-Profile. `/v1/models` bleibt die Chat-Liste. Andere Embedding-Familien sind ausdrücklich ungeprüft. Modellquellen und Profile werden über den bestehenden Backup/Restore-Pfad wiederhergestellt; der CPU-Prozess selbst wird bei Bedarf neu gestartet.