Helyi AI
LM Studio
Az LM Studio asztali alkalmazás helyi modellek futtatásához, amely OpenAI-kompatibilis API-t ad az 1234-es porton, és a modellkezelést is egy felületen intézi.
Az LM Studio asztali alkalmazás, amellyel nagy nyelvi modelleket futtatunk a saját gépünkön. Nem szolgáltatás és nem modell, hanem futtató környezet és felület: a modell súlyai a helyi lemezen vannak, a számítás helyben történik, hálózat csak a letöltéshez kell.
A feladat felosztása egyszerű. Az alkalmazás intézi a modellkeresést, a letöltést, a memóriába töltést és a párbeszédet, a számítás pedig a llama.cpp motoron fut, Apple Silicon gépeken az MLX motor is elérhető. Ugyanaz a motor hívható a grafikus felületről, a parancssorból és a helyi API-ból, ezért nem kell előre eldönteni, hogy kézzel vagy automatizálva használjuk.
Modellek és kvantálás
A modellek többsége GGUF formátumban érkezik, ezt minden támogatott platformon a llama.cpp motor nyitja meg; Apple Siliconon emellett MLX modellek is betölthetők. A kvantálás mértéke a fájlnévben látszik (Q4_K_M, Q8_0), és ugyanez szabja meg a memóriaigényt és a minőséget is.
A letöltött modellek a saját modellkönyvtárban, publisher/model/fájl szerkezetben kerülnek helyre, és az alkalmazás a Hugging Face-en megszokott elrendezést igyekszik megőrizni. Külső forrásból származó GGUF fájlt az lms import paranccsal lehet behozni. A tanításhoz használt, safetensors súlyokat tartalmazó csomagok önmagukban nem tölthetők be, ilyenkor GGUF vagy MLX változat kell.
A helyi szerver és az API
A Developer fülön egy kapcsolóval indul a helyi szerver, de ugyanezt a terminálból az lms server start parancs is megteszi. A szerver az 1234-es porton figyel, az OpenAI-kompatibilis végpontok pedig a /v1 útvonalon érhetők el: /v1/models, /v1/chat/completions, /v1/responses, /v1/embeddings és /v1/completions. A meglévő OpenAI kliens ezért nem íródik át, csak a base_url kerül a helyi címre, például a http://localhost:1234/v1 értékre.
Emellett az alkalmazás saját REST API-t is ad a /api/v0 útvonalon, amely több metaadatot közöl: a modell architektúráját, formátumát, kvantálását, állapotát és maximális kontextushosszát. Anthropic-kompatibilis végpontok, valamint saját TypeScript és Python SDK is ugyanahhoz a szerverhez szól.
A szerver alapértelmezés szerint localhostra köt, de a helyi hálózatra is megnyitható, és ilyenkor az elérési határt külön kell meghúzni: a hívások hitelesítése és az engedélyezett kliensek köre is döntés kérdése.
Parancssor és fej nélküli üzem
Az lms parancssori eszköz a telepítéssel együtt érkezik, nyílt forráskódú, és ugyanazt a modellkészletet látja, amit az alkalmazás. Az lms get keres és tölt le, az lms ls a lemezen lévő modelleket listázza, az lms ps a memóriában lévőket, az lms load betölt, az lms unload pedig kiürít.
A betöltés paraméterezhető: a --gpu kapcsoló a GPU-ra számított hányadot adja meg (max, auto vagy 0.0 és 1.0 közötti érték), a --context-length a kontextus hosszát, az --identifier pedig állandó nevet ad a modellnek. Utóbbi azért hasznos, mert az API kérésekben a betöltött modell azonosítóját kell megadni, és egy rögzített név mellett a kliensoldali kód nem törik el minden modellváltáskor.
Grafikus felület nélküli gépen, szerveren vagy CI-ban a llmster daemon fut, amely önálló folyamat, és nem függ az alkalmazás ablakától. Így ugyanaz a modellkiszolgálás marad a munkaállomáson és a távoli gépen is.
Amire figyelni kell
- Memória. A betöltés a modell súlyainak memóriába helyezését jelenti, ezért a modell mérete és a kontextus hossza együtt szabja meg az igényt. A dokumentáció Windowsra legalább 16 GB rendszermemóriát és legalább 4 GB dedikált VRAM-ot javasol, x64-en pedig AVX2 utasításkészletet kér.
- macOS. Apple Silicon gép kell (M sorozat), macOS 14 vagy újabb; az Intel alapú Mac nem támogatott. 16 GB memória javasolt, 8 GB-on csak kisebb modellek férnek el visszafogott kontextussal.
- Linux. Az alkalmazás AppImage csomagként érkezik, Ubuntu 20.04 vagy újabb rendszeren; a 22-esnél újabb verziók kevésbé teszteltek.
- Kvantálás. A kisebb kvantálás kevesebb memóriát kér, de a minőség és a hosszú kontextus rovására mehet, ezért a választás mérés kérdése, nem ízlésé.
- Hálózat. A helyi szerver indításakor dönteni kell, hogy localhoston marad vagy a hálózatra nyílik, mert ez a hozzáférési határ.
Tovább olvasás
- LM Studio as a Local LLM API Server - a helyi szerver indítása és az elérhető API-k áttekintése.
- lms, az LM Studio parancssori eszköze - a parancsok listája, betöltési kapcsolókkal.
- System Requirements - a támogatott processzorok, memória és videokártya igények.
Nálunk a CyberElectro a helyi modellek alapértelmezett futtatója az LM Studio: az OpenAI-kompatibilis végpontot a http://127.0.0.1:1234/v1 címen érjük el, a helyben futó gpt-oss modell végzi a fordítási munkákat, a szervert pedig Docker konténerben futó szolgáltatások és a Hermes Agent is használja.