Files
2026-10-19 17:44:15 +02:00

84 lines
4.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# llama.cpp-Rollen in den GPU-VMs (Task 6.1): Compose aus deploy/compose/gpu-llamacpp.
# Profile je VM kommen aus dem Inventar (Gruppe gpu_llamacpp, Variable llamacpp_profiles).
llamacpp_dir: /opt/knaster/gpu-llamacpp
llamacpp_models_dir: /srv/models
llamacpp_profiles: []
# Karte je Dienst, gewählt über den Namen aus `nvidia-smi` (ADR-0006: alles auf die P2000, M4000 bleibt frei).
# Passt Rerank nicht neben Embedding auf die P2000, hier "Quadro M4000" eintragen.
llamacpp_cards:
EMBED_GPU: Quadro P2000
RERANK_GPU: Quadro P2000
CHAT_GPU: Quadro P2000
# Dienste und Ports je Profil (feste Ports im Compose, Host-Netz)
llamacpp_services:
embed:
- {name: llamacpp-embed, port: 8081}
- {name: llamacpp-rerank, port: 8082}
chat:
- {name: llamacpp-chat, port: 8080}
# ufw: nur Regeln vormerken (Kommentar knaster-llamacpp), ufw nie ein- oder ausschalten (Firewall: Task 4.4)
llamacpp_allow_from: 192.168.100.0/24
# Werte für .env (keine Geheimnisse); Build-Stand wie im Benchmark (ADR-0006)
llamacpp_env:
LLAMACPP_REF: b6000
LLAMACPP_COMMIT: 4762ad7316dcdec20016ab5985fb46a27902204d
CUDA_VERSION: 12.4.0
CUDA_DOCKER_ARCH: "52;61"
MODELS_DIR: "{{ llamacpp_models_dir }}"
EMBED_GGUF: Qwen3-Embedding-0.6B-Q8_0.gguf
EMBED_POOLING: last
RERANK_GGUF: bge-reranker-v2-m3-Q8_0.gguf
CHAT_GGUF: Qwen3-4B-Q4_K_M.gguf
# Modelle je Profil mit fester Revision und Prüfsumme (sha256 = LFS-OID laut Hugging Face, ADR-0006)
_hf: https://huggingface.co
llamacpp_models:
embed:
- dest: Qwen3-Embedding-0.6B-Q8_0.gguf
url: "{{ _hf }}/Qwen/Qwen3-Embedding-0.6B-GGUF/resolve/370f27d7550e0def9b39c1f16d3fbaa13aa67728/Qwen3-Embedding-0.6B-Q8_0.gguf"
checksum: sha256:06507c7b42688469c4e7298b0a1e16deff06caf291cf0a5b278c308249c3e439
- dest: bge-reranker-v2-m3-Q8_0.gguf
url: "{{ _hf }}/gpustack/bge-reranker-v2-m3-GGUF/resolve/3093af03b1a635e67b084b1d8c03c5f5e020fd05/bge-reranker-v2-m3-Q8_0.gguf"
checksum: sha256:a43c7c9b11a4c1517e5bf95151960e1621d1b72f7a493364b01e386cf1aaa1d3
chat:
- dest: Qwen3-4B-Q4_K_M.gguf
url: "{{ _hf }}/Qwen/Qwen3-4B-GGUF/resolve/bc640142c66e1fdd12af0bd68f40445458f3869b/Qwen3-4B-Q4_K_M.gguf"
checksum: sha256:7485fe6f11af29433bc51cab58009521f205840f5b4ae3a32fa7f92e8534fdf5
# --- k3s (Task 6.1, D6): tasks/k3s.yml, Playbook playbooks/gpu-llamacpp-k3s.yml ---
llamacpp_image: "knaster/llamacpp-server:{{ llamacpp_env.LLAMACPP_REF }}-cu{{ llamacpp_env.CUDA_VERSION }}"
llamacpp_k3s_template: "{{ playbook_dir }}/../../../../deploy/k8s/llamacpp/llamacpp.yaml.j2"
llamacpp_k3s_namespace: "{{ playbook_dir }}/../../../../deploy/k8s/llamacpp/namespace.yaml"
# Argumente wie im Compose (deploy/compose/gpu-llamacpp); gpu_var wählt die Karte aus llamacpp_cards
llamacpp_k3s_services:
embed:
- name: llamacpp-embed
port: 8081
gpu_var: EMBED_GPU
memory_limit: 3Gi
# -ub 4096 statt 8192: Der Rechenpuffer wächst mit ub × Vokabular (151k) und bräuchte bei 8192 allein 5 GB
# (19.10. gemessen). Mit 4096: 2,5 GB Puffer, P2000 mit Rerank 4,4–4,6 von 5 GB, 5.467 Tokens in einem Aufruf ok.
args: ["-m", "/models/{{ llamacpp_env.EMBED_GGUF }}", "--embedding", "--pooling", "{{ llamacpp_env.EMBED_POOLING }}",
"-c", "8192", "-b", "4096", "-ub", "4096", "-np", "1", "-ngl", "99", "--alias", "embed-default",
"--metrics", "--no-slots", "--no-webui", "--host", "0.0.0.0", "--port", "8081"]
- name: llamacpp-rerank
port: 8082
gpu_var: RERANK_GPU
memory_limit: 3Gi
args: ["-m", "/models/{{ llamacpp_env.RERANK_GGUF }}", "--reranking",
"-c", "8192", "-b", "8192", "-ub", "8192", "-np", "1", "-ngl", "99", "--alias", "rerank-default",
"--metrics", "--no-slots", "--no-webui", "--host", "0.0.0.0", "--port", "8082"]
chat:
- name: llamacpp-chat
port: 8080
gpu_var: CHAT_GPU
memory_limit: 6Gi
args: ["-m", "/models/{{ llamacpp_env.CHAT_GGUF }}", "-c", "8192", "-np", "1", "-ngl", "99",
"--jinja", "--chat-template-kwargs", "{\"enable_thinking\": false}",
"--alias", "verifier-small", "--metrics", "--no-slots", "--no-webui",
"--host", "0.0.0.0", "--port", "8080"]