D:\App\llama-b9840-bin-win-cuda-12.4-x64>wmic cpu get name

Name

AMD Ryzen 7 6800H with Radeon Graphics

可以给我设计 bat 了吗,或者你最好可以设计一套所有设备都通用的 bat 脚本,实在不行就设计为我专用的吧

llama-server.exe -m models\Qwythos-9B-Claude-Mythos-5-1M-MTP-Q4_K_M.gguf -ngl 12 -c 2048 --host 127.0.0.1 --port 8080
# ==============================
 
# LingDuAI Smart Launcher v3
 
# Auto GPU Safe Mode
 
# ==============================
 
  
 
cd $PSScriptRoot
 
  
 
Write-Host "===================================="
 
Write-Host "   LingDuAI Smart Launcher v3"
 
Write-Host "===================================="
 
  
 
# 1. 获取显存
 
$gpu = nvidia-smi --query-gpu=memory.total,memory.used --format=csv,noheader,nounits
 
$total, $used = $gpu -split ", "
 
  
 
$free = [int]$total - [int]$used
 
  
 
Write-Host "GPU Total: $total MB"
 
Write-Host "GPU Used : $used MB"
 
Write-Host "GPU Free : $free MB"
 
  
 
# 2. 自动策略
 
$ngl = 4
 
$ctx = 1024
 
$enableVision = $false
 
  
 
if ($free -gt 3000) {
 
    $ngl = 6
 
    $enableVision = $true
 
} elseif ($free -gt 2000) {
 
    $ngl = 4
 
    $enableVision = $true
 
} else {
 
    $ngl = 2
 
    $enableVision = $false
 
}
 
  
 
Write-Host "Selected NGL: $ngl"
 
Write-Host "Vision Mode: $enableVision"
 
Write-Host "CTX: $ctx"
 
  
 
# 3. 自动找模型
 
$model = Get-ChildItem models\*.gguf |
 
    Where-Object { $_.Name -notmatch "mmproj" -and $_.Name -notmatch "clip" } |
 
    Where-Object { $_.Name -match "Q4_K_M|Q5_K_M" } |
 
    Select-Object -First 1
 
  
 
if (-not $model) {
 
    $model = Get-ChildItem models\*.gguf |
 
        Where-Object { $_.Name -notmatch "mmproj" } |
 
        Select-Object -First 1
 
}
 
  
 
Write-Host "Model: $($model.Name)"
 
  
 
# 4. mmproj 自动选择
 
$mmproj = $null
 
if ($enableVision) {
 
    $mmproj = Get-ChildItem models\mmproj*.gguf | Select-Object -First 1
 
    if ($mmproj) {
 
        Write-Host "Vision Model: $($mmproj.Name)"
 
    }
 
}
 
  
 
# 5. 启动参数
 
$args = @(
 
    "-m", "models\$($model.Name)",
 
    "-ngl", "$ngl",
 
    "-c", "$ctx",
 
    "--host", "127.0.0.1",
 
    "--port", "8080",
 
    "--cont-batching"
 
)
 
  
 
if ($mmproj) {
 
    $args += "--mmproj"
 
    $args += "models\$($mmproj.Name)"
 
}
 
  
 
# 6. 启动
 
Write-Host "Starting server..."
 
Start-Process -FilePath ".\llama-server.exe" -ArgumentList $args -NoNewWindow -Wait