EN /HU | Belépés

Modellszolgáltatás (LLM)

Egy hely a szerveren, ahol kis nyelvi modellek futnak, bármelyik stacknek, amelyiknek kell. Az OpenAI chat API-t beszéli, így bármely OpenAI-kompatibilis kliens működik vele. Csak az interstack docker-hálózatról érhető el, az internetről nem.

Hívás

TXT
POST http://llm:8080/v1/chat/completions
Authorization: Bearer <kulcs>
{"model": "qwen3.5-0.8b", "messages": [...], "stream": true}

Minden kérés megnevezi a modelljét: alapértelmezett nincs, a model nélküli kérés 400-at kap. A GET /v1/models listázza a modelleket és hogy be vannak-e töltve; a GET /health-hez nem kell kulcs.

Modell model Ki használja
Qwen3.5 0.8B qwen3.5-0.8b a SERMO Lapis-ACP-je a Teletype BBS-ben, és bármelyik stack: általános kis modell, angolul és JSON-ban jó, magyarul csak nagyjából; gondolkodó mód kikapcsolva; induláskor betöltődik
Gemma 3 270M instruct gemma-3-270m most senki (2026 októberéig a SERMO modellje): a leggyorsabb, de a példáin túli kérdéseknél kiesik a szerepből; az első kérésére töltődik be

Modellek

A szerver a llama.cpp llama-server-e router-módban: modellenként igény szerint indít egy llama-servert. A modellek a repó server/models.ini-jének szekciói, a szolgáltatás image-ébe sütve; a szekció neve a kérés model-je, a kulcsai a llama-server hosszú kapcsolói (hf-repo, c, parallel, ...). A GGUF-ot az első betöltéskor tölti le a Hugging Face-ről, és egy volume-ban tartja.

  • A load-on-startup = true modell a szolgáltatás indulásakor betöltődik (a Qwen3.5, hogy a SERMO-nak ne kelljen várnia). A többi az első kérésére.
  • Egyszerre legfeljebb két modell van betöltve; a harmadik a legrégebben használtat üríti.
  • Egy memóriakeret (2,5 GB) fedi az összes betöltött modellt (a fenti kettő együtt kb. 2 GB), és a szerver CPU-ján is osztoznak. Nagyobb modellhez nagyobb keret kell, és a hosszú kérései lassítják a többit.

Új modell = egy új szekció a server/models.ini-ben és egy push: a deploy új image-et épít, és azzal indítja újra a szolgáltatást.

Kulcsok

Router-módban HTTP-n modellt is lehet betölteni és üríteni, ezért a szolgáltatás kulcsot kér. A stack .env-jében az LLM_API_KEYS tartja az elfogadott kulcsokat, hívónként egyet, így egy hívó külön letiltható.

Hívó A kulcsa
Teletype BBS SERMO_LLM_API_KEY a teletype-bbs stack .env-jében

Új hívó új kulcsot kap (openssl rand -hex 24), az LLM_API_KEYS végére.

Üzembe helyezés

A stack a /srv/stacks/llm-ben él, ami nem git checkout. A masterre pusholt, a compose.yaml-t vagy a server/-t érintő változást a Woodpecker telepíti, ugyanúgy, mint az FTP-szervert: a pipeline csak meghívja a szervert SSH-n, saját kulccsal, amely egyetlen fix parancshoz van kötve (ci-deploy llm, az infra/host-config-ban). A szerver maga klónozza a mastert, a compose-fájlt a szabályai szerint ellenőrzi (nincs extra jogosultság, docker socket, publikus port), bemásolja a compose.yaml-t és a server/-t, és lefuttatja a docker compose up -d --build-et. A .env és a modell-volume marad. A pipeline nem kap hoszt-volume-ot.