kpn models: näyttää Ollamasta ladatut mallit + WASM-tilan
Hakee Ollaman /api/tags-endpointista ladatut mallit kokoneen, parametreineen ja kvantisointitasoineen. WASM-tila näkyy myös. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2493,14 +2493,36 @@ Files: ${Object.keys(generatedFiles).join(', ')}`;
|
||||
}
|
||||
|
||||
if (sub === 'models') {
|
||||
termLog(' <span style="color:#d29922">Selain (kpn load):</span>', '#c9d1d9');
|
||||
termLog(' qwen-coder:0.5b <span style="color:#8b949e">~990 MB | WASM ~0.4 tok/s</span>');
|
||||
termLog(' <span style="color:#d29922">Selain (kpn load 1):</span>', '#c9d1d9');
|
||||
const btn = document.getElementById('agent-compute-btn');
|
||||
const wasmLoaded = btn?.dataset.state === 'ready';
|
||||
termLog(` qwen-coder:0.5b <span style="color:#8b949e">~990 MB | WASM ~0.4 tok/s</span>${wasmLoaded ? ' <span style="color:#3fb950">✓ ladattu</span>' : ''}`);
|
||||
termLog(' <span style="color:#3fb950">Natiivi (Ollama + GPU):</span>', '#c9d1d9');
|
||||
termLog(' qwen2.5-coder:7b <span style="color:#8b949e">~4.7 GB | NVIDIA ~80 tok/s | AMD ~40 tok/s | Apple ~30 tok/s</span>');
|
||||
termLog(' qwen2.5-coder:3b <span style="color:#8b949e">~1.9 GB | NVIDIA ~120 tok/s</span>');
|
||||
termLog(' qwen2.5-coder:1.5b <span style="color:#8b949e">~1 GB | NVIDIA ~150 tok/s</span>');
|
||||
termLog(' Vaihda malli: <span style="color:#58a6ff">OLLAMA_MODEL=qwen2.5-coder:7b</span>', '#8b949e');
|
||||
termLog(' Hub reitittää automaattisesti nopeimmalle solmulle', '#8b949e');
|
||||
// Haetaan Ollamasta ladatut mallit
|
||||
fetch('/api/v1/hardware').then(r => r.json()).then(hw => {
|
||||
if (hw.gpu_name && hw.gpu_name !== 'ei natiivisolmua') {
|
||||
termLog(` <span style="color:#8b949e"> GPU: ${hw.gpu_name} | VRAM: ${Math.round((hw.vram_mb||0)/1024)} GB</span>`);
|
||||
}
|
||||
}).catch(() => {});
|
||||
fetch('http://' + window.location.hostname + ':11434/api/tags').then(r => r.json()).then(data => {
|
||||
const models = data.models || [];
|
||||
if (models.length === 0) {
|
||||
termLog(' <span style="color:#8b949e">Ei ladattuja malleja — kpn load <numero></span>');
|
||||
} else {
|
||||
for (const m of models) {
|
||||
const sizeGB = (m.size / 1024 / 1024 / 1024).toFixed(1);
|
||||
const params = m.details?.parameter_size || '?';
|
||||
const quant = m.details?.quantization_level || '';
|
||||
termLog(` <span style="color:#3fb950">✓</span> ${m.name} <span style="color:#8b949e">${sizeGB} GB | ${params} ${quant}</span>`);
|
||||
}
|
||||
}
|
||||
termLog(' Vaihda: <span style="color:#58a6ff">kpn load <numero></span>', '#8b949e');
|
||||
}).catch(() => {
|
||||
termLog(' qwen2.5-coder:7b <span style="color:#8b949e">~4.7 GB</span>');
|
||||
termLog(' qwen2.5-coder:3b <span style="color:#8b949e">~1.9 GB</span>');
|
||||
termLog(' qwen2.5-coder:1.5b <span style="color:#8b949e">~1 GB</span>');
|
||||
termLog(' <span style="color:#8b949e">Ollama ei saatavilla — näytetään oletuslista</span>');
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user