tower-learns-you / scripts /Start-Game.ps1
vknt's picture
Deploy The Tower Learns You (custom gr.Server frontend, hf_inference + mock fallback)
22a027e verified
Raw
History Blame Contribute Delete
2.07 kB
[CmdletBinding()]
param(
[int]$AppPort = 7860,
[int]$LlamaPort = 8080,
[switch]$NoShare
)
$repoRoot = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path
$venv = Join-Path $repoRoot ".venv\Scripts\python.exe"
Write-Host ""
Write-Host "=== The Tower Learns You ===" -ForegroundColor Cyan
Write-Host ""
# --- llama.cpp server (optional — falls back to mock if unavailable) ---
$env:MODEL_BACKEND = "mock"
try {
$pidPath = Join-Path $repoRoot ".local\llama.cpp\server.pid"
$llamaRunning = $false
if (Test-Path $pidPath) {
try {
$recorded = (Get-Content $pidPath -Raw).Trim()
if ($recorded -and (Get-Process -Id ([int]$recorded) -ErrorAction SilentlyContinue)) {
Write-Host "[llama-server] Already running (PID $recorded) — skipping start." -ForegroundColor Green
$llamaRunning = $true
}
} catch {
Write-Warning "[llama-server] Could not read PID file: $_"
}
}
if (-not $llamaRunning) {
Write-Host "[llama-server] Starting on port $LlamaPort..." -ForegroundColor Yellow
$ErrorActionPreference = "Stop"
& (Join-Path $PSScriptRoot "Start-LlamaServer.ps1") -Port $LlamaPort
Write-Host "[llama-server] Ready." -ForegroundColor Green
}
$env:MODEL_BACKEND = "local_openai"
Write-Host "[backend] Local AI active (llama.cpp)" -ForegroundColor Green
} catch {
Write-Warning "[llama-server] $_"
Write-Warning "[backend] Falling back to mock AI mode."
}
Write-Host ""
# --- Gradio app ---
Write-Host "[gradio] Starting on http://127.0.0.1:$AppPort (MODEL_BACKEND=$($env:MODEL_BACKEND))" -ForegroundColor Yellow
if (-not $NoShare) {
Write-Host "[gradio] Public share link will be printed below." -ForegroundColor DarkGray
}
Write-Host ""
$env:GRADIO_SERVER_PORT = "$AppPort"
try {
Set-Location $repoRoot
& $venv app.py
} finally {
$env:MODEL_BACKEND = $null
$env:GRADIO_SERVER_PORT = $null
}