fixed ui4

This commit is contained in:
ValueOn AG 2026-02-06 10:48:50 +01:00
parent a1bcf8c260
commit ea06a84b31

View file

@ -827,7 +827,7 @@ Falls ein Feld nicht erkennbar ist, setze den Wert auf null.</textarea>
name: 'poweron-ocr-general',
displayName: 'PowerOn OCR General',
description: 'Text-Extraktion / OCR (deepseek-ocr)',
isVision: true,
isVision: false, // Text model - no image required
ollamaModel: 'deepseek-ocr'
}
];
@ -851,14 +851,24 @@ Falls ein Feld nicht erkennbar ist, setze den Wert auf null.</textarea>
const result = await response.json();
const availableModels = (result.models || []).map(m => m.name);
console.log('Available Ollama models:', availableModels);
ollamaStatusDiv.className = 'ollama-status success';
// PowerOn Modelle in Dropdown laden (nur wenn Backend-Modell verfügbar)
modelName.innerHTML = '';
const availablePowerOnModels = POWERON_MODELS.filter(pm =>
availableModels.some(m => m.startsWith(pm.ollamaModel.split(':')[0]))
);
// Flexibler Modell-Match: prüft ob Ollama-Modell mit PowerOn-Modell beginnt oder umgekehrt
const availablePowerOnModels = POWERON_MODELS.filter(pm => {
const ollamaBase = pm.ollamaModel.split(':')[0];
return availableModels.some(m =>
m.startsWith(ollamaBase) ||
m.split(':')[0] === ollamaBase ||
ollamaBase.startsWith(m.split(':')[0])
);
});
console.log('Matched PowerOn models:', availablePowerOnModels.map(m => m.name));
if (availablePowerOnModels.length > 0) {
const optGroup = document.createElement('optgroup');
@ -874,9 +884,23 @@ Falls ein Feld nicht erkennbar ist, setze den Wert auf null.</textarea>
// Erstes Modell auswählen
modelName.value = availablePowerOnModels[0].name;
} else {
// Fallback: Alle PowerOn Modelle anzeigen (ohne Verfügbarkeitsprüfung)
console.log('No matches found, showing all PowerOn models');
const optGroup = document.createElement('optgroup');
optGroup.label = 'PowerOn Modelle';
POWERON_MODELS.forEach(model => {
const opt = document.createElement('option');
opt.value = model.name;
opt.textContent = `${model.displayName}`;
opt.title = model.description;
optGroup.appendChild(opt);
});
modelName.appendChild(optGroup);
modelName.value = POWERON_MODELS[0].name;
}
ollamaStatusDiv.innerHTML = `✓ Verbunden - ${availablePowerOnModels.length} PowerOn Modelle verfügbar`;
ollamaStatusDiv.innerHTML = `✓ Verbunden - ${availablePowerOnModels.length || POWERON_MODELS.length} PowerOn Modelle verfügbar`;
// Button-Status nach Modell-Laden aktualisieren
_updateAnalyzeButtonState();