LocalAI/llama-swap/config.yaml
2026-10-15 00:01:26 +02:00

94 lines
2.8 KiB
YAML

# yaml-language-server: $schema=https://raw.githubusercontent.com/mostlygeek/llama-swap/refs/heads/main/config-schema.json
#
# Modelle werden beim ersten Aufruf per -hf von Hugging Face nach ./models geladen
# (LLAMA_CACHE=/models). Danach läuft alles offline.
#
# VRAM-Budget RX 6950 XT (16 GB):
# - Autocomplete-Modell (~2 GB) bleibt dauerhaft geladen
# - genau ein Chat-Modell gleichzeitig; llama.cpp --fit (Standard: an) verteilt
# Layer/MoE-Experten automatisch auf VRAM und RAM, --fit-target hält ~3 GB frei
# - Embeddings laufen auf der CPU
healthCheckTimeout: 900 # erster Start kann einen 20-GB-Download enthalten
logLevel: info
startPort: 10001
macros:
server: >-
/app/llama-server --host 127.0.0.1 --port ${PORT}
--jinja -fa on --threads 12 --no-webui
# Agent-Betrieb: großer Kontext, KV-Cache quantisiert, VRAM-Reserve für Autocomplete
agent-ctx: -c 65536 -ctk q8_0 -ctv q8_0 --fit-target 3072
models:
# --- Chat / Agent (opencode, Continue Chat/Agent/Edit) -----------------
qwen3.5-35b-a3b:
name: Qwen3.5 35B-A3B (MoE)
cmd: >-
${server} ${agent-ctx}
-hf unsloth/Qwen3.5-35B-A3B-GGUF:Q4_K_M
ttl: 3600
glm-4.7-flash:
name: GLM-4.7 Flash (MoE)
cmd: >-
${server} ${agent-ctx}
-hf unsloth/GLM-4.7-Flash-GGUF:Q4_K_M
ttl: 3600
qwen3.5-9b:
name: Qwen3.5 9B (schnell, komplett im VRAM)
cmd: >-
${server} -c 32768 -ctk q8_0 -ctv q8_0 --fit-target 3072
-hf unsloth/Qwen3.5-9B-GGUF:Q4_K_M
ttl: 3600
# --- Autocomplete (Continue Tab-Completion, FIM) -----------------------
qwen2.5-coder-1.5b:
name: Qwen2.5-Coder 1.5B Base (FIM)
cmd: >-
${server} -c 8192
-hf ggml-org/Qwen2.5-Coder-1.5B-Q8_0-GGUF
-ngl 99
ttl: 0
# --- Embeddings (Continue @codebase) -----------------------------------
nomic-embed:
name: Nomic Embed Text v1.5
cmd: >-
/app/llama-server --host 127.0.0.1 --port ${PORT} --no-webui
-hf nomic-ai/nomic-embed-text-v1.5-GGUF:Q8_0
--embedding --pooling mean -c 8192 -b 8192 -ub 8192 -ngl 0 --threads 8
ttl: 0
# Helfer-Modelle beim Container-Start laden (auch nach Reboot), damit
# Autocomplete sofort reagiert. Das Chat-Modell lädt beim ersten Request
# bzw. per scripts/start.sh.
hooks:
on_startup:
preload:
- qwen2.5-coder-1.5b
- nomic-embed
routing:
router:
use: group
settings:
groups:
# Chat-Modelle wechseln sich ab, lassen aber die Helfer in Ruhe
chat:
swap: true
exclusive: false
members:
- qwen3.5-35b-a3b
- glm-4.7-flash
- qwen3.5-9b
# Helfer bleiben dauerhaft geladen
always-on:
swap: false
exclusive: false
persistent: true
members:
- qwen2.5-coder-1.5b
- nomic-embed