Add profile presets and min-p controls, embeddings and VoxCPM workers
This commit is contained in:
1 parent
74dd2ed8ba
commit
a7b30b62d2
32 files changed
+615
-64
No files matched your search
+11
-3
@@ -12,6 +12,13 @@ def _assess(model, installed, profile=None):
|
||||
if not file_role(filename)['profile_eligible']:
|
||||
result.update(state='component',label='Zusatzdatei',message='Diese Datei wird einem kompatiblen Modellprofil zugeordnet und benötigt keine eigene Laufzeit.')
|
||||
return result
|
||||
if kind=='embeddings':
|
||||
from embeddings import supported
|
||||
if supported(model):
|
||||
result.update(runtime='llama.cpp · CPU',route='#runtime',family='EmbeddingGemma 300M QAT Q8_0',components=[],state='setup',label='EmbeddingGemma erkannt',installed=bool(installed.get('embeddings')),message='Tokenizer und Konfiguration sind in der GGUF-Datei enthalten. Keine Zusatzdateien nötig. Die vorhandene llama.cpp-Laufzeit wird ohne GPU-Layer verwendet; API: /v1/embeddings.')
|
||||
if profile:result.update(state='ready' if profile.get('runnable') else 'profile_incomplete',label='Bereit · CPU' if profile.get('runnable') else 'Laufzeit prüfen',blockers=profile.get('blockers',[]))
|
||||
else:result.update(message='Für diese Datei fehlt noch ein geprüftes Embedding-Rezept. Unterstützt wird EmbeddingGemma 300M QAT Q8_0; keine erfundenen Zusatzkomponenten.')
|
||||
return result
|
||||
if kind=='stt' and stt_supported(model):
|
||||
result['family']='Qwen3-ASR 0.6B'
|
||||
result.update(runtime='llama.cpp · Qwen3-ASR auf CPU',route='#stt-runtime',components=['Passender Audio-Projektor (unter Einrichten herunterladen)'])
|
||||
@@ -22,7 +29,7 @@ def _assess(model, installed, profile=None):
|
||||
result['family']='Qwen3-TTS CustomVoice'
|
||||
result.update(runtime='Qwen3-TTS CustomVoice',route='#tts-runtime',components=['Vollständiges Modellpaket und Sprach-Tokenizer (im Einrichtungsassistenten enthalten)'])
|
||||
elif voice_recipe(model):
|
||||
result.update(family='VoxCPM2',evidence='Offizielles OpenBMB-Modellpaket',state='adapter_missing',label='VoxCPM2 erkannt · Ausführung noch nicht angebunden',runtime=None,route='#voxcpm-runtime',components=[x['label'] for x in voice_recipe(model).values()],message='Die heruntergeladenen Dateien bilden das Modellpaket. Für die Ausführung fehlt noch die VoxCPM-Python/PyTorch-Laufzeit samt Deck-Worker. audio.cpp und llama.cpp führen diese Safetensors-Datei nicht aus. Textencoder und Vision-Projektor sind nicht separat erforderlich. Unter Komponenten werden die tatsächlich benötigten Dateien angeboten.')
|
||||
result.update(family='VoxCPM2',evidence='Offizielles OpenBMB-Modellpaket',state='setup',label='VoxCPM2 erkannt · Komponenten prüfen',runtime=None,route='#voxcpm-runtime',components=[x['label'] for x in voice_recipe(model).values()],message='Die heruntergeladenen Dateien bilden das Modellpaket. Für die Ausführung fehlt noch die VoxCPM-Python/PyTorch-Laufzeit samt Deck-Worker. audio.cpp und llama.cpp führen diese Safetensors-Datei nicht aus. Textencoder und Vision-Projektor sind nicht separat erforderlich. Unter Komponenten werden die tatsächlich benötigten Dateien angeboten.')
|
||||
elif kind=='chat' and filename.lower().endswith('.gguf'):
|
||||
result.update(runtime='llama.cpp',route='#runtime',state='check',label='Kompatibilität beim Laden prüfen',message='llama.cpp ist der mögliche Ausführungsweg für dieses Chat-GGUF. Architektur und gewählte Optionen müssen vom installierten Build unterstützt werden. Der Testchat prüft die tatsächliche Ausführung.')
|
||||
elif kind=='image' and filename.lower().endswith(('.safetensors','.gguf')) and (meta.get('pipeline_tag') in ('text-to-image','image-to-image') or meta.get('library_name') in ('diffusers','comfyui')):
|
||||
@@ -59,8 +66,9 @@ def _assess_candidates(model, installed, profile=None):
|
||||
def add(id,label,key,route,reason,maintained=True):
|
||||
result['candidates'].append(dict(id=id,label=label,installed=bool(installed.get(key)),route=route,installation_available=maintained,evidence=reason))
|
||||
if voice_recipe(model):
|
||||
result['installed']=bool(installed.get('voxcpm'));result['message']='VoxCPM-Laufzeit '+('bereits installiert' if result['installed'] else 'fehlt: unter Ausführung einrichten installieren')+'. Die Modellkomponenten werden separat zugeordnet. Der Deck-Worker für Generierung fehlt noch.'
|
||||
add('voxcpm','VoxCPM · Python/PyTorch','voxcpm','#voxcpm-runtime','Originale VoxCPM-Laufzeit · GUI-Installer verfügbar; Generierungsworker noch nicht angebunden',True)
|
||||
result['installed']=bool(installed.get('voxcpm'));result['message']='VoxCPM-Laufzeit '+('bereits installiert' if result['installed'] else 'fehlt: unter Ausführung einrichten installieren')+'. Komponenten zuordnen, danach unter Stimmwerkzeuge → Testen Sprache erzeugen oder Stimme klonen.'
|
||||
add('voxcpm','VoxCPM · Python/PyTorch','voxcpm','#voxcpm-runtime','Originale VoxCPM-Laufzeit · Sprachausgabe und Stimmklonen',True)
|
||||
if profile:result.update(state='ready' if profile.get('runnable') else 'profile_incomplete',blockers=profile.get('blockers',[]),label='VoxCPM2 bereit' if profile.get('runnable') else 'VoxCPM2 einrichten')
|
||||
if result.get('runtime'):
|
||||
add('current',result['runtime'],kind,result['route'],'Vorhandene Deck-Zuordnung')
|
||||
if kind=='music' and repo=='audio-cpp/yue2-3b-gguf' and name.startswith('yue2-3b-') and name.endswith('.gguf'):
|
||||
|
||||
Reference in new issue
Block a user