diff --git a/hermes/deploy.ps1 b/hermes/deploy.ps1 index d65bc1d..2bf59f1 100644 --- a/hermes/deploy.ps1 +++ b/hermes/deploy.ps1 @@ -125,45 +125,42 @@ Warn ' Descargando modelo (llama3.2:3b, ~2 GB)...' # Si el usuario define $env:HTTPS_PROXY, Ollama lo usa para el pull (doc oficial): $ProxyEnv = @() if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e', "HTTP_PROXY=$env:HTTP_PROXY") } -$PullOk = $false -foreach ($Attempt in 1..3) { - if ($Attempt -gt 1) { Warn "Reintento $Attempt de 3..." } +# --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- +$Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' +$HfUrls = @( + 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', + 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' +) +foreach ($Url in $HfUrls) { + Info 'Descargando modelo de IA (llama3.2:3b, ~2 GB)...' + curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url + if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { break } + Warn "Mirror no accesible, probando el siguiente..." + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue +} +if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { + Info 'Importando modelo en Ollama...' + docker cp "$Gguf" d0a1-hermes-ollama:/root/.ollama/import.gguf + docker exec d0a1-hermes-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' + $CreateOk = ($LASTEXITCODE -eq 0) + docker exec d0a1-hermes-ollama rm -f /root/.ollama/import.gguf | Out-Null + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue + $PullOk = $CreateOk + if (-not $CreateOk) { Err 'Fallo al importar el modelo desde el GGUF.' } +} else { + # Ultimo recurso: pull directo (1 intento, ya sin esperar 3 rondas) + Warn 'HuggingFace no accesible. Probando el registry de Ollama (ultimo recurso)...' docker exec @ProxyEnv d0a1-hermes-ollama ollama pull llama3.2:3b - if ($LASTEXITCODE -eq 0) { $PullOk = $true; break } - Warn 'Descarga interrumpida (red). Reintentando en 5 s...' - Start-Sleep -Seconds 5 + if ($LASTEXITCODE -eq 0) { $PullOk = $true } } if (-not $PullOk) { - # --- Fallback: mismo modelo via HuggingFace (otro CDN, no el registry de Ollama) --- - Warn 'Registry de Ollama no accesible. Probando via HuggingFace (mismo modelo)...' - $Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' - $Urls = @( - 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', - 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' - ) - $DlOk = $false - foreach ($Url in $Urls) { - curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url - if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { $DlOk = $true; break } - Warn "Mirror no accesible, probando el siguiente..." - } - if ($DlOk) { - docker cp "$Gguf" d0a1-hermes-ollama:/root/.ollama/import.gguf - docker exec d0a1-hermes-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' - $CreateOk = ($LASTEXITCODE -eq 0) - docker exec d0a1-hermes-ollama rm -f /root/.ollama/import.gguf | Out-Null - Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue - if ($CreateOk) { $PullOk = $true } - else { Err 'Fallo al importar el modelo desde el GGUF.' } - } else { - Err 'No se pudo descargar el modelo (ni registry ni HuggingFace).' - if (-not $env:HTTPS_PROXY) { - Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' - Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' - Write-Host ' .\deploy.ps1 vps' - } - exit 1 + Err 'No se pudo descargar el modelo (ni HuggingFace ni registry).' + if (-not $env:HTTPS_PROXY) { + Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' + Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' + Write-Host ' .\deploy.ps1 vps' } + exit 1 } Ok "Ollama corriendo en http://localhost:${OllamaPort}" diff --git a/openclaw/deploy.ps1 b/openclaw/deploy.ps1 index 01b41e3..84e0422 100644 --- a/openclaw/deploy.ps1 +++ b/openclaw/deploy.ps1 @@ -125,45 +125,42 @@ Warn ' Descargando modelo (llama3.2:3b, ~2 GB)...' # Si el usuario define $env:HTTPS_PROXY, Ollama lo usa para el pull (doc oficial): $ProxyEnv = @() if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e', "HTTP_PROXY=$env:HTTP_PROXY") } -$PullOk = $false -foreach ($Attempt in 1..3) { - if ($Attempt -gt 1) { Warn "Reintento $Attempt de 3..." } +# --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- +$Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' +$HfUrls = @( + 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', + 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' +) +foreach ($Url in $HfUrls) { + Info 'Descargando modelo de IA (llama3.2:3b, ~2 GB)...' + curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url + if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { break } + Warn "Mirror no accesible, probando el siguiente..." + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue +} +if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { + Info 'Importando modelo en Ollama...' + docker cp "$Gguf" d0a1-openclaw-ollama:/root/.ollama/import.gguf + docker exec d0a1-openclaw-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' + $CreateOk = ($LASTEXITCODE -eq 0) + docker exec d0a1-openclaw-ollama rm -f /root/.ollama/import.gguf | Out-Null + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue + $PullOk = $CreateOk + if (-not $CreateOk) { Err 'Fallo al importar el modelo desde el GGUF.' } +} else { + # Ultimo recurso: pull directo (1 intento, ya sin esperar 3 rondas) + Warn 'HuggingFace no accesible. Probando el registry de Ollama (ultimo recurso)...' docker exec @ProxyEnv d0a1-openclaw-ollama ollama pull llama3.2:3b - if ($LASTEXITCODE -eq 0) { $PullOk = $true; break } - Warn 'Descarga interrumpida (red). Reintentando en 5 s...' - Start-Sleep -Seconds 5 + if ($LASTEXITCODE -eq 0) { $PullOk = $true } } if (-not $PullOk) { - # --- Fallback: mismo modelo via HuggingFace (otro CDN, no el registry de Ollama) --- - Warn 'Registry de Ollama no accesible. Probando via HuggingFace (mismo modelo)...' - $Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' - $Urls = @( - 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', - 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' - ) - $DlOk = $false - foreach ($Url in $Urls) { - curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url - if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { $DlOk = $true; break } - Warn "Mirror no accesible, probando el siguiente..." - } - if ($DlOk) { - docker cp "$Gguf" d0a1-openclaw-ollama:/root/.ollama/import.gguf - docker exec d0a1-openclaw-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' - $CreateOk = ($LASTEXITCODE -eq 0) - docker exec d0a1-openclaw-ollama rm -f /root/.ollama/import.gguf | Out-Null - Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue - if ($CreateOk) { $PullOk = $true } - else { Err 'Fallo al importar el modelo desde el GGUF.' } - } else { - Err 'No se pudo descargar el modelo (ni registry ni HuggingFace).' - if (-not $env:HTTPS_PROXY) { - Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' - Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' - Write-Host ' .\deploy.ps1 vps' - } - exit 1 + Err 'No se pudo descargar el modelo (ni HuggingFace ni registry).' + if (-not $env:HTTPS_PROXY) { + Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' + Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' + Write-Host ' .\deploy.ps1 vps' } + exit 1 } Ok "Ollama corriendo en http://localhost:${OllamaPort}" diff --git a/openwebui/deploy.ps1 b/openwebui/deploy.ps1 index 0c647fb..5a1ba8e 100644 --- a/openwebui/deploy.ps1 +++ b/openwebui/deploy.ps1 @@ -142,45 +142,42 @@ while ($true) { # Si el usuario define $env:HTTPS_PROXY, Ollama lo usa para el pull (doc oficial): $ProxyEnv = @() if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e', "HTTP_PROXY=$env:HTTP_PROXY") } -$PullOk = $false -foreach ($Attempt in 1..3) { - if ($Attempt -gt 1) { Warn "Reintento $Attempt de 3..." } +# --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- +$Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' +$HfUrls = @( + 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', + 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' +) +foreach ($Url in $HfUrls) { + Info 'Descargando modelo de IA (llama3.2:3b, ~2 GB)...' + curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url + if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { break } + Warn "Mirror no accesible, probando el siguiente..." + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue +} +if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { + Info 'Importando modelo en Ollama...' + docker cp "$Gguf" d0a1-ollama:/root/.ollama/import.gguf + docker exec d0a1-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' + $CreateOk = ($LASTEXITCODE -eq 0) + docker exec d0a1-ollama rm -f /root/.ollama/import.gguf | Out-Null + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue + $PullOk = $CreateOk + if (-not $CreateOk) { Err 'Fallo al importar el modelo desde el GGUF.' } +} else { + # Ultimo recurso: pull directo (1 intento, ya sin esperar 3 rondas) + Warn 'HuggingFace no accesible. Probando el registry de Ollama (ultimo recurso)...' docker exec @ProxyEnv d0a1-ollama ollama pull llama3.2:3b - if ($LASTEXITCODE -eq 0) { $PullOk = $true; break } - Warn 'Descarga interrumpida (red). Reintentando en 5 s...' - Start-Sleep -Seconds 5 + if ($LASTEXITCODE -eq 0) { $PullOk = $true } } if (-not $PullOk) { - # --- Fallback: mismo modelo via HuggingFace (otro CDN, no el registry de Ollama) --- - Warn 'Registry de Ollama no accesible. Probando via HuggingFace (mismo modelo)...' - $Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' - $Urls = @( - 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', - 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' - ) - $DlOk = $false - foreach ($Url in $Urls) { - curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url - if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { $DlOk = $true; break } - Warn "Mirror no accesible, probando el siguiente..." - } - if ($DlOk) { - docker cp "$Gguf" d0a1-ollama:/root/.ollama/import.gguf - docker exec d0a1-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' - $CreateOk = ($LASTEXITCODE -eq 0) - docker exec d0a1-ollama rm -f /root/.ollama/import.gguf | Out-Null - Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue - if ($CreateOk) { $PullOk = $true } - else { Err 'Fallo al importar el modelo desde el GGUF.' } - } else { - Err 'No se pudo descargar el modelo (ni registry ni HuggingFace).' - if (-not $env:HTTPS_PROXY) { - Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' - Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' - Write-Host ' .\deploy.ps1 vps' - } - exit 1 + Err 'No se pudo descargar el modelo (ni HuggingFace ni registry).' + if (-not $env:HTTPS_PROXY) { + Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' + Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' + Write-Host ' .\deploy.ps1 vps' } + exit 1 } # --- Done ------------------------------------------------------------------- diff --git a/wordpress/deploy.ps1 b/wordpress/deploy.ps1 index 532b78c..185c604 100644 --- a/wordpress/deploy.ps1 +++ b/wordpress/deploy.ps1 @@ -178,45 +178,42 @@ while ($true) { # Si el usuario define $env:HTTPS_PROXY, Ollama lo usa para el pull (doc oficial): $ProxyEnv = @() if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e', "HTTP_PROXY=$env:HTTP_PROXY") } -$PullOk = $false -foreach ($Attempt in 1..3) { - if ($Attempt -gt 1) { Warn "Reintento $Attempt de 3..." } +# --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- +$Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' +$HfUrls = @( + 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', + 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' +) +foreach ($Url in $HfUrls) { + Info 'Descargando modelo de IA (llama3.2:3b, ~2 GB)...' + curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url + if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { break } + Warn "Mirror no accesible, probando el siguiente..." + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue +} +if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { + Info 'Importando modelo en Ollama...' + docker cp "$Gguf" d0a1-wp-ollama:/root/.ollama/import.gguf + docker exec d0a1-wp-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' + $CreateOk = ($LASTEXITCODE -eq 0) + docker exec d0a1-wp-ollama rm -f /root/.ollama/import.gguf | Out-Null + Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue + $PullOk = $CreateOk + if (-not $CreateOk) { Err 'Fallo al importar el modelo desde el GGUF.' } +} else { + # Ultimo recurso: pull directo (1 intento, ya sin esperar 3 rondas) + Warn 'HuggingFace no accesible. Probando el registry de Ollama (ultimo recurso)...' docker exec @ProxyEnv d0a1-wp-ollama ollama pull llama3.2:3b - if ($LASTEXITCODE -eq 0) { $PullOk = $true; break } - Warn 'Descarga interrumpida (red). Reintentando en 5 s...' - Start-Sleep -Seconds 5 + if ($LASTEXITCODE -eq 0) { $PullOk = $true } } if (-not $PullOk) { - # --- Fallback: mismo modelo via HuggingFace (otro CDN, no el registry de Ollama) --- - Warn 'Registry de Ollama no accesible. Probando via HuggingFace (mismo modelo)...' - $Gguf = Join-Path $ScriptDir 'llama3.2-3b-q4.gguf' - $Urls = @( - 'https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf', - 'https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf' - ) - $DlOk = $false - foreach ($Url in $Urls) { - curl.exe -sL --retry 3 --max-time 1800 -o "$Gguf" $Url - if ($LASTEXITCODE -eq 0 -and (Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 1900000000) { $DlOk = $true; break } - Warn "Mirror no accesible, probando el siguiente..." - } - if ($DlOk) { - docker cp "$Gguf" d0a1-wp-ollama:/root/.ollama/import.gguf - docker exec d0a1-wp-ollama sh -c 'echo FROM /root/.ollama/import.gguf > /tmp/mf && ollama create llama3.2:3b -f /tmp/mf' - $CreateOk = ($LASTEXITCODE -eq 0) - docker exec d0a1-wp-ollama rm -f /root/.ollama/import.gguf | Out-Null - Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue - if ($CreateOk) { $PullOk = $true } - else { Err 'Fallo al importar el modelo desde el GGUF.' } - } else { - Err 'No se pudo descargar el modelo (ni registry ni HuggingFace).' - if (-not $env:HTTPS_PROXY) { - Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' - Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' - Write-Host ' .\deploy.ps1 vps' - } - exit 1 + Err 'No se pudo descargar el modelo (ni HuggingFace ni registry).' + if (-not $env:HTTPS_PROXY) { + Write-Host ' Tu red bloquea ambos. Si tienes proxy/VPN:' + Write-Host ' $env:HTTPS_PROXY = "http://127.0.0.1:7890" # (puerto de tu proxy)' + Write-Host ' .\deploy.ps1 vps' } + exit 1 } # --- Done -------------------------------------------------------------------