--- llama_server_port: 1234 llama_server_host: "0.0.0.0" llama_amdgpu_targets: "gfx1030" rocm_path: "/opt/rocm" hsa_override_gfx_version: "10.3.0" # Modèle à charger au démarrage llama_model_path: "" llama_model_alias: "" llama_ctx_size: 32768 llama_n_gpu_layers: 99 llama_parallel: 1 llama_embeddings: true llama_pooling: "mean" # Instance dédiée embeddings (modèle spécialisé, ex. nomic-embed-text) — séparée du # serveur de chat :1234. Désactivée par défaut ; activée via host_vars (gpu-01). # Partage le même binaire /opt/llama.cpp et le même GPU (modèle minuscule, ~300 Mo VRAM). llama_embed_enabled: false llama_embed_port: 1238 llama_embed_model_path: "" # chemin GGUF sur /mnt/models (NFS) llama_embed_model_url: "" # URL de téléchargement (HuggingFace) — get_url si absent llama_embed_model_alias: "nomic-embed-text" llama_embed_ctx_size: 2048 # Batch physique (ubatch) = contexte : en mode --embeddings avec pooling, toute l'entrée doit # tenir dans UN seul ubatch. Le défaut llama.cpp (512) fait échouer en HTTP 500 tout chunk # > 512 tokens (« input too large to process. increase the physical batch size ») — c'est ce # qui faisait rater ~46 chunks du RAG (CHUNK_MAX=2000 chars ≈ 700 tokens). Aligné sur ctx-size. llama_embed_ubatch_size: 2048 # CPU par défaut (0 couche GPU). nomic-embed-text est minuscule (137M) → ~100 ms en CPU, # DÉTERMINISTE. Sur GPU (99) il partage la RX 6700XT avec le chat qwen3-8b (:1234) et tombe # dans la file derrière une génération → latence BIMODALE (16 ms ou 9-12 s, voire timeout) → # dépasse le budget recall 4 s du STT-server → docs=0 intermittent. Le CPU découple # totalement l'embed du slot chat. Cf. admin/incidents-llm-gpu.md. llama_embed_n_gpu_layers: 0 llama_embed_pooling: "mean" # Heartbeat embed — sonde de vivacité du slot :1238 (petit embed périodique). Depuis le # passage en CPU (llama_embed_n_gpu_layers: 0), le slot ne refroidit plus et ne subit plus # la contention GPU → le heartbeat sert surtout de probe (logge les KO). Cf. admin/ia/stt.md. llama_embed_heartbeat_enabled: true llama_embed_heartbeat_interval: 20 # s entre deux pings (< idle avant refroidissement) llama_embed_heartbeat_timeout: 15 # s max par ping # Watchdog — auto-réparation du llama-server figé (wedge ROCm gfx1031). # Sonde une VRAIE génération sur :1234 (pas seulement /health, qui ment quand le # slot d'inférence est bloqué — cf. admin/incidents-llm-gpu.md). Sur N échecs # consécutifs → `systemctl restart llama-server` en local (tourne en root). llama_watchdog_enabled: true llama_watchdog_port: "{{ llama_server_port }}" llama_watchdog_model: "{{ llama_model_alias }}" llama_watchdog_service: "llama-server" llama_watchdog_interval: 20 # s entre deux sondes llama_watchdog_timeout: 15 # s max par sonde (génération triviale) llama_watchdog_failures: 3 # échecs consécutifs avant restart