Update llama runtime and isolate background reviews
This commit is contained in:
+76
-8
@@ -32,6 +32,76 @@ x-llama-common: &llama-common
|
||||
start_period: 30s
|
||||
|
||||
services:
|
||||
# Kleines, dauerhaft geladenes Hilfsmodell fuer Hermes-Hintergrundaufgaben
|
||||
# (Memory-/Skill-Review). Es laeuft unabhaengig vom wechselnden Hauptmodell
|
||||
# und kann dessen Prompt-Cache daher nicht mehr
|
||||
# verdraengen. Athena reserviert die 3060 bereits fuer Qwen und XTTS; der
|
||||
# robuste Standard ist deshalb CPU/RAM. GPU-Layer koennen spaeter per Env
|
||||
# zugeschaltet werden, sobald dort garantiert Speicher frei ist.
|
||||
llama-review:
|
||||
image: ${LLAMA_IMAGE:-mike-ai/llama.cpp:local}
|
||||
container_name: mike-ai-llama-review
|
||||
restart: unless-stopped
|
||||
gpus: all
|
||||
ipc: host
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=512m,mode=1777
|
||||
volumes:
|
||||
- "${MODEL_DIR:-/srv/mike-ai/models}:/models:ro"
|
||||
environment:
|
||||
NVIDIA_VISIBLE_DEVICES: ${REVIEW_GPU_DEVICE:-1}
|
||||
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
||||
command:
|
||||
- --model
|
||||
- "/models/${REVIEW_MODEL_FILE:-qwen3-4b-review/Qwen3-4B-Instruct-2507-Q4_K_M.gguf}"
|
||||
- --alias
|
||||
- qwen-review
|
||||
- --ctx-size
|
||||
- "${REVIEW_CONTEXT:-32768}"
|
||||
- --flash-attn
|
||||
- "on"
|
||||
- --cache-type-k
|
||||
- q4_0
|
||||
- --cache-type-v
|
||||
- q4_0
|
||||
- --cache-prompt
|
||||
- --threads
|
||||
- "${LLAMA_THREADS:-6}"
|
||||
- --threads-batch
|
||||
- "${LLAMA_THREADS_BATCH:-6}"
|
||||
- --batch-size
|
||||
- "${REVIEW_BATCH_SIZE:-512}"
|
||||
- --ubatch-size
|
||||
- "${REVIEW_UBATCH_SIZE:-64}"
|
||||
- --parallel
|
||||
- "1"
|
||||
- --kv-unified
|
||||
- --jinja
|
||||
- --host
|
||||
- 0.0.0.0
|
||||
- --port
|
||||
- "8080"
|
||||
- --metrics
|
||||
- --fit
|
||||
- "off"
|
||||
- --n-gpu-layers
|
||||
- "${REVIEW_GPU_LAYERS:-0}"
|
||||
- --no-kv-offload
|
||||
- --no-mmap
|
||||
- --no-ui
|
||||
- --temperature
|
||||
- "0.2"
|
||||
networks: [inference]
|
||||
security_opt: ["no-new-privileges:true"]
|
||||
cap_drop: [ALL]
|
||||
healthcheck:
|
||||
test: [CMD, curl, -fsS, "http://127.0.0.1:8080/health"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 60
|
||||
start_period: 30s
|
||||
|
||||
wireguard-gateway:
|
||||
build: ./platform/docker/wireguard-gateway
|
||||
image: mike-ai/wireguard-gateway:local
|
||||
@@ -153,17 +223,12 @@ services:
|
||||
environment:
|
||||
NVIDIA_VISIBLE_DEVICES: ${MEDIUM_GPU_DEVICES:-0,1}
|
||||
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
||||
# Keep the language model split unchanged while placing the complete
|
||||
# multimodal projector on the secondary RTX 3060.
|
||||
MTMD_BACKEND_DEVICE: CUDA1
|
||||
# Temporary llama.cpp cache workaround: keep Medium text-only. Current
|
||||
# multimodal builds can discard the complete KV state on a later turn.
|
||||
# The model split, context and MTP settings remain unchanged.
|
||||
command:
|
||||
- --model
|
||||
- "/models/${MEDIUM_MODEL_FILE:?MEDIUM_MODEL_FILE is required}"
|
||||
- --mmproj
|
||||
- "/models/${VISION_PROJECTOR_FILE:?VISION_PROJECTOR_FILE is required}"
|
||||
- --mmproj-offload
|
||||
- --mmproj-device
|
||||
- CUDA1
|
||||
- --alias
|
||||
- qwen-medium
|
||||
- --ctx-size
|
||||
@@ -568,6 +633,9 @@ services:
|
||||
ROUTER_STATE_FILE: /var/lib/mike-ai-profile-router/state.json
|
||||
ROUTER_MAX_CONCURRENT_REQUESTS: "16"
|
||||
UPSTREAM_URL: http://llama-upstream:8080
|
||||
REVIEW_UPSTREAM_URL: http://llama-review:8080
|
||||
REVIEW_MODEL_NAME: qwen-review
|
||||
REVIEW_CONTEXT_LENGTH: "${REVIEW_CONTEXT:-32768}"
|
||||
PROFILE_CONTROL_URL: http://profile-controller:8090
|
||||
PROFILE_CONTROL_TOKEN: "${CONTROLLER_TOKEN:?CONTROLLER_TOKEN is required}"
|
||||
SWITCH_TIMEOUT: "600"
|
||||
|
||||
Reference in New Issue
Block a user