Files
llm/scripts/download_hf_range_gpu.ps1
T

58 lines
1.4 KiB
PowerShell

param(
[Parameter(Mandatory = $true)]
[string]$CardId,
[Parameter(Mandatory = $true)]
[string]$LocalDir,
[string[]]$AllowFile,
[string]$DockerHost = "ssh://docker-gpu",
[string]$Image = "vllm/vllm-openai:v0.10.2",
[string]$HostAppDir = "Z:/LLM/model-chat-app",
[string]$HostModelsDir = "Z:/LLM/models",
[string]$ChunkSize = "256mb",
[int]$Retries = 40,
[int]$TimeoutSeconds = 180,
[switch]$Detached,
[string]$ContainerName = "llm-hf-range-download"
)
$ErrorActionPreference = "Stop"
$dockerArgs = @(
"--host", $DockerHost,
"run",
"--init"
)
if ($Detached) {
$dockerArgs += @("-d", "--name", $ContainerName)
} else {
$dockerArgs += "--rm"
}
$dockerArgs += @(
"--entrypoint", "python3",
"-e", "LLM_USE_RAW_MODEL_PATH=1",
"-e", "PYTHONUNBUFFERED=1",
"-v", "${HostAppDir}:/app",
"-v", "${HostModelsDir}:/models",
"-w", "/app",
$Image,
"scripts/download_hf_range.py",
$CardId,
"--local-dir", $LocalDir,
"--chunk-size", $ChunkSize,
"--retries", "$Retries",
"--timeout", "$TimeoutSeconds"
)
$allowFilesNormalized = @()
foreach ($entry in ($AllowFile | Where-Object { $_ })) {
$allowFilesNormalized += ($entry -split "," | ForEach-Object { $_.Trim() } | Where-Object { $_ })
}
foreach ($file in $allowFilesNormalized) {
$dockerArgs += @("--allow-file", $file)
}
docker @dockerArgs