Update ISO installer tiers and backend deployment
This commit is contained in:
1 parent
79784a6743
commit
56668f7bdc
38 files changed
+7206
-175
No files matched your search
@@ -0,0 +1,7 @@
|
||||
---
|
||||
# vLLM role defaults — overridden per-tier in the tier playbook vars block
|
||||
vllm_model: "meta-llama/Meta-Llama-3.1-8B-Instruct"
|
||||
vllm_tensor_parallel: 1
|
||||
vllm_gpu_memory_util: "0.70"
|
||||
vllm_max_model_len: 8192
|
||||
vllm_quantization: "" # blank = full precision; set to "awq" for 4-bit
|
||||
@@ -1,6 +1,12 @@
|
||||
---
|
||||
# vLLM — high-performance LLM inference with OpenAI-compatible API
|
||||
# Skipped automatically if no GPU is present.
|
||||
# Variables (set defaults in defaults/main.yml, override per-tier in the playbook):
|
||||
# vllm_model HuggingFace model ID to load on start
|
||||
# vllm_tensor_parallel Number of GPUs for tensor parallelism (1 for Starter/Basic)
|
||||
# vllm_gpu_memory_util Fraction of VRAM to reserve for vLLM (0.0–1.0)
|
||||
# vllm_max_model_len Maximum context length in tokens
|
||||
# vllm_quantization Quantization method: "" (none) | "awq" | "gptq" | "fp8"
|
||||
|
||||
- name: Check for NVIDIA GPU
|
||||
shell: nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | head -1
|
||||
@@ -10,7 +16,9 @@
|
||||
|
||||
- name: Skip vLLM if no GPU detected
|
||||
debug:
|
||||
msg: "No GPU detected — skipping vLLM image pull. Run manually when GPU is available: docker pull vllm/vllm-openai:latest"
|
||||
msg: >
|
||||
No GPU detected — skipping vLLM image pull.
|
||||
Run manually when GPU is available: docker pull vllm/vllm-openai:latest
|
||||
when: gpu_check.stdout == "" or gpu_check.rc != 0
|
||||
|
||||
- name: Pull vLLM Docker image
|
||||
@@ -19,18 +27,23 @@
|
||||
delay: 15
|
||||
when: gpu_check.stdout != "" and gpu_check.rc == 0
|
||||
|
||||
- name: Build vLLM quantization flag
|
||||
set_fact:
|
||||
vllm_quant_flag: "{{ '--quantization ' + vllm_quantization if vllm_quantization != '' else '' }}"
|
||||
|
||||
- name: Create vLLM systemd service
|
||||
copy:
|
||||
dest: /etc/systemd/system/vllm.service
|
||||
mode: "0644"
|
||||
content: |
|
||||
[Unit]
|
||||
Description=vLLM OpenAI-Compatible Inference Server
|
||||
After=docker.service ollama.service
|
||||
Description=vLLM OpenAI-Compatible Inference Server ({{ vllm_model }})
|
||||
After=docker.service
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
RestartSec=10
|
||||
ExecStartPre=-/usr/bin/docker stop vllm
|
||||
ExecStartPre=-/usr/bin/docker rm vllm
|
||||
ExecStart=/usr/bin/docker run \
|
||||
@@ -41,15 +54,16 @@
|
||||
-v /opt/cezen/models:/root/.cache/huggingface \
|
||||
-e HF_HOME=/root/.cache/huggingface \
|
||||
vllm/vllm-openai:latest \
|
||||
--model meta-llama/Meta-Llama-3.1-8B-Instruct \
|
||||
--gpu-memory-utilization 0.7 \
|
||||
--max-model-len 8192 \
|
||||
--tensor-parallel-size 1
|
||||
--model {{ vllm_model }} \
|
||||
--gpu-memory-utilization {{ vllm_gpu_memory_util }} \
|
||||
--max-model-len {{ vllm_max_model_len }} \
|
||||
--tensor-parallel-size {{ vllm_tensor_parallel }} \
|
||||
{{ vllm_quant_flag }}
|
||||
ExecStop=/usr/bin/docker stop vllm
|
||||
TimeoutStartSec=300
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
mode: "0644"
|
||||
|
||||
- name: Create vLLM model directory
|
||||
file:
|
||||
@@ -57,3 +71,26 @@
|
||||
state: directory
|
||||
owner: cezen
|
||||
group: cezen
|
||||
mode: "0755"
|
||||
|
||||
- name: Write vLLM tier config file (for portal reference)
|
||||
copy:
|
||||
dest: /opt/cezen/vllm-config.json
|
||||
owner: cezen
|
||||
group: cezen
|
||||
mode: "0644"
|
||||
content: |
|
||||
{
|
||||
"model": "{{ vllm_model }}",
|
||||
"tensor_parallel_size": {{ vllm_tensor_parallel }},
|
||||
"gpu_memory_utilization": {{ vllm_gpu_memory_util }},
|
||||
"max_model_len": {{ vllm_max_model_len }},
|
||||
"quantization": "{{ vllm_quantization }}"
|
||||
}
|
||||
|
||||
- name: Enable and start vLLM service
|
||||
systemd:
|
||||
name: vllm
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
when: gpu_check.stdout != "" and gpu_check.rc == 0
|
||||
Reference in new issue
Block a user