Vissza az eszközökhöz

Helyi AI

Open WebUI

Az Open WebUI önhostolt, bővíthető webes felület helyi és felhőben futó modellekhez: Ollama és OpenAI-kompatibilis végpontok, fiókok és jogosultságok egy helyen.

3 perc olvasás

Az Open WebUI önhostolt webes felület nagy nyelvi modellekhez. A csevegés a böngészőben fut, mögötte viszont nem egyetlen szolgáltató áll: a felület Ollama és OpenAI-kompatibilis API-khoz is csatlakozik, így ugyanabban a kezelőfelületben jelennek meg a helyi és a távoli modellek. A kapcsolat hozzáadása a dokumentáció szerint egy URL és egy API-kulcs megadása az admin beállítások Connections szakaszában.

A projekt önmagát bővíthető, teljesen offline is futtatható platformként írja le: telepítés után a felület és az adatok a saját gépen maradnak. Nálunk az Open WebUI egyetlen böngészőfelület, amely több helyi modellt szolgál ki: a konténer Docker alatt fut, és a helyi, OpenAI-kompatibilis végpontra csatlakozik.

Egy felület, több végpont

A felület három kapcsolódási módot ismer: Ollama, OpenAI-kompatibilis API és Open Responses. Bármely helyi szerver vagy felhős API használható, amely valamelyiket beszéli, és a kapcsolatok egymás mellett élnek ugyanabban az admin felületen.

  • A helyi modelleket nálunk az LM Studio szervere adja, ehhez a felület OpenAI-kompatibilis végpontként kapcsolódik.
  • Több modell egyszerre is összehasonlítható: a többmodelles csevegés ugyanazt a kérdést minden kijelölt végpontnak elküldi.
  • A választott végpont dönti el, hol történik az inferencia. Felhős modellnél a kérdés és a kontextus ahhoz a szolgáltatóhoz megy; a helyi inferencia önmagában nem tesz helyivé egy külön beállított felhős eszközt vagy embedding szolgáltatást.

Telepítés Docker konténerben

A dokumentáció a Dockeres telepítést ajánlja legtöbb esethez: a felület egy publikált porton érhető el, a perzisztens adat névvel ellátott kötetbe kerül, és a konténer a gazdagépen futó szolgáltatásokat is elérheti.

  • A kötet nélkül nem érdemes futtatni: a csevegések, a felhasználók és a beállítások abban élnek, és az éli túl a frissítést.
  • A titkos kulcsot egyszer kell beállítani és megtartani. Rögzített kulcs nélkül minden újraépített konténer kijelentkezteti a felhasználókat.
  • A konténeren belül a localhost a konténert jelenti, nem a gazdagépet, ezért a gazdagépen futó végpont eléréséhez külön hosztnév kell.
  • A :main a javasolt kép, benne a beszédfelismerő és embedding modellekkel. A :main-slim kisebb, de a helyi gépi tanulási réteg nélkül, ezért embeddinghez, beszédfelismeréshez, rerankinghez, vektoros tároláshoz és dokumentumfeldolgozáshoz külső szolgáltatást kér.
  • A :main és a :latest gördülő tag, ezért éles üzemhez verzióra rögzített tag ajánlott.

Adatmodell és frissítés

A perzisztens kötet a felület teljes állapotát tartja: a beszélgetéseket, a fiókokat és a beállításokat. Ez teszi a konténert eldobhatóvá, és ezért a dokumentált lépés a frissítés előtti mentés.

  • Frissítéskor az új kép lehúzása önmagában nem elég: a futó konténert le kell állítani, törölni kell, majd a kötet és ugyanaz a titok megtartásával újat kell indítani.
  • Nagyobb terhelésnél a felület több példányban is futtatható terheléselosztó mögött, külső adatbázissal és tartós tárolóval. Erre a célra nálunk a PostgreSQL szolgál.

Fiókok és jogosultságok

A hozzáférés-kezelés három rendszerszerepen és a hozzájuk tartozó jogosultságokon alapul. A modell additív: a csoporttagságok hozzáadják a jogosultságokat a szerep alapértékeihez.

  • A szerepek: admin, user és pending. Az admin teljes kontrollal rendelkezik, a user jogait a jogosultságok és a csoportok adják, a pending fiók pedig jóváhagyásig semmit nem ér el.
  • Az első létrehozott fiók automatikusan admin lesz, és ezt a fiókot az API nem engedi törölni.
  • Nyilvános vagy megosztott példánynál a pending alapértelmezett szerep a javasolt: az új regisztráló addig nem tud belépni, amíg egy admin aktívvá nem teszi.
  • Modellek és tudásbázisok csoporthoz vagy konkrét felhasználóhoz oszthatók meg. Az admin szerep alapból megkerüli a finom jogosultságokat, a felhasználói csevegések olvasása viszont külön beállítással tiltható.

Amire figyelni kell

  • A felületnek nincs beépített kontextus-csonkítója. A hosszú beszélgetés a modell kontextusablakánál akad el, és a dokumentáció szándékosan nem választ helyettünk szabályt: a megoldás egy filter Function, amely a bemeneten módosítja az előzményt.
  • A szerepváltás nem vonja vissza a tokent. A lefokozott admin bejelentkezve marad, és csak az admin végpontoktól esik el; a pending szerep viszont minden kérésnél elutasításra kerül.
  • Egy friss telepítés magától is indít kifelé irányuló hívásokat: verzióellenőrzést a GitHub felé, modellista lekérését az alapértelmezett OpenAI kapcsolaton, és az embedding modell frissítésének ellenőrzését. Ezek környezeti változóval kikapcsolhatók.
  • A támogatás közösségi csatornákon folyik, a hibajegyeket a projekt nyilvános listáján kezelik.

Tovább olvasás

A CyberElectrónál az Open WebUI a belső belépési pont a helyi modellekhez: Dockerben fut, egyetlen böngészőfelületet ad több helyi modell fölé, és fiókonként szabályozható, ki mit ér el.

Címkék
  • helyi AI
  • webes felület
  • öntárhely
  • Docker
  • jogosultságok