Files
wevia-brain/monitor-gguf.php
2026-04-12 23:01:36 +02:00

92 lines
3.3 KiB
PHP

<?php
echo "=== BLADE: MONITORING HF FOR GGUF ===\n";
echo "Polling every 30s...\n\n";
$ggufUrl = "https://huggingface.co/yace222/weval-brain-v3-gguf/resolve/main/unsloth.Q4_K_M.gguf";
$found = false;
$maxChecks = 60; // 30 min max
for ($i = 1; $i <= $maxChecks; $i++) {
$ch = curl_init($ggufUrl);
curl_setopt_array($ch, [
CURLOPT_NOBODY => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
]);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
$time = date('H:i:s');
if ($code == 200 && $size > 1000000) {
echo "[$time] CHECK $i: HTTP $code | SIZE " . round($size/1024/1024) . "MB | FOUND!\n";
$found = true;
// Download GGUF
echo "\n=== DOWNLOADING GGUF ===\n";
@mkdir('/opt/wevia-brain/finetune', 0777, true);
$dest = '/opt/wevia-brain/finetune/weval-brain-v3-ft.gguf';
// Use wget for large file
$dlCmd = "wget -q '$ggufUrl' -O '$dest' 2>&1";
echo "Downloading... (this may take a few minutes)\n";
$dlOut = shell_exec($dlCmd);
if (file_exists($dest) && filesize($dest) > 1000000) {
$sizeMB = round(filesize($dest) / 1024 / 1024);
echo "Downloaded: {$sizeMB}MB\n";
// Create Ollama model
echo "\n=== CREATING OLLAMA MODEL ===\n";
$createCh = curl_init('http://127.0.0.1:11435/api/create');
curl_setopt_array($createCh, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
'name' => 'weval-brain-v3-ft',
'from' => 'weval-brain-v3',
'stream' => false,
]),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$createR = curl_exec($createCh);
curl_close($createCh);
echo "Ollama: $createR\n";
// Update router
$router = '/opt/wevia-brain/wevia-master-router.php';
$rc = file_get_contents($router);
$rc = str_replace('weval-brain-v3', 'weval-brain-v3-ft', $rc);
file_put_contents($router, $rc);
echo "Router: updated to weval-brain-v3-ft\n";
echo "\n=== DONE! WEVAL-BRAIN-V3-FT IS LIVE ===\n";
} else {
echo "Download failed\n";
}
break;
} else {
// Also check the repo itself
$repoCh = curl_init("https://huggingface.co/api/models/yace222/weval-brain-v3-gguf");
curl_setopt_array($repoCh, [CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5]);
$repoR = curl_exec($repoCh);
$repoCode = curl_getinfo($repoCh, CURLINFO_HTTP_CODE);
curl_close($repoCh);
$repoExists = ($repoCode == 200) ? "repo exists" : "no repo yet";
echo "[$time] CHECK $i/$maxChecks: HTTP $code | $repoExists | waiting...\n";
}
sleep(30);
}
if (!$found) {
echo "\nTimeout: GGUF not found after " . ($maxChecks * 30 / 60) . " min\n";
echo "Training may still be running on Colab\n";
}