scamdetect-backend / backend /run_gpu.ps1
ScamDetect Bot
Auto-sync backend from GitHub
69b17de
Raw
History Blame Contribute Delete
2.11 kB
$action = $args[0]
$scriptDir = $PSScriptRoot
$venvPath = Join-Path $scriptDir "venv_gpu\Scripts\Activate.ps1"
# Anchoring execution to the backend directory
Push-Location $scriptDir
# Check if venv_gpu exists
if (!(Test-Path $venvPath)) {
Write-Host "Critical Error: GPU Virtual Environment Not Found at $venvPath" -ForegroundColor Red
Write-Host "Please ensure you are running this from the backend folder or project root." -ForegroundColor Yellow
Pop-Location
exit
}
if ($action -eq "bench") {
Write-Host "Running GPU Speed Test..." -ForegroundColor Cyan
& $venvPath
$start = Get-Date
python -c "from services.scam_detection import process_text; res = process_text('URGENT: Your HDFC kyc is pending. Click bit.ly/fake-link to update.')"
$end = Get-Date
$diff = $end - $start
Write-Host "GPU Text Scan Time: $($diff.TotalSeconds) seconds" -ForegroundColor Green
}
elseif ($action -eq "train") {
Write-Host "Starting Full-Scale Text Model Retraining (GPU Accelerated)..." -ForegroundColor Yellow
& $venvPath
python train_scam_classifier.py
}
elseif ($action -eq "url-train") {
Write-Host "Starting Full-Scale URL Model Training (GPU Accelerated)..." -ForegroundColor Magenta
& $venvPath
python train_url_classifier.py
}
elseif ($action -eq "global-test") {
Write-Host "Running Global System Verification (GPU Active)..." -ForegroundColor Green
& $venvPath
$text = "URGENT: Your SBI netbanking account is suspended. Click http://sbi-verify-kyc.xyz to reactivate."
Write-Host "`nTest Case: Phishing Content + Phishing URL" -ForegroundColor Yellow
python -c "from services.scam_detection import process_text, process_url; t_res = process_text('$text'); u_res = process_url('http://sbi-verify-kyc.xyz'); print(f'Text Risk: {t_res.risk_score}%'); print(f'URL Risk: {u_res.risk_score}%')"
}
else {
Write-Host "Starting ScamDetect Backend (GPU Mode)..." -ForegroundColor Cyan
& $venvPath
# Using uvicorn directly for better reload and host management
uvicorn main:app --host 0.0.0.0 --port 8000
}
Pop-Location