Software archive

eAI

Pavel Bartoš

AI server pro CPU, CUDA, Vulkan a AX8850. Správa modelů, VLM chat CZ/EN, API, eUpdate, check-in a diagnostika.

Documentation and check-in manual

Releases

README

# eAI 0.1.0 Autor: **PB** · pavel.bartos.pb@gmail.com · https://estudium.eu Vytvořeno: **10/2026** · licence **MIT** Samostatný AI server pro **Ubuntu 26.04 a novější, ARM64 / x86-64**. Webové ovládání používá modrý vzhled, logo, přihlašování a levé menu ve stylu rodiny eWeb/eCast. Služba běží nezávisle na otevřeném prohlížeči. ## Instalace Po rozbalení instalačního ZIPu: ```bash cd eai-server-0.1.0 sudo bash install.sh ``` TUI nabídne CPU, CUDA, Vulkan, AX8850 nebo instalaci bez enginu. Výchozí CPU varianta zkompiluje llama.cpp z oficiálního repozitáře. Na Raspberry Pi může kompilace trvat několik minut; průběh je vidět v terminálu. Web: **http://IP-SERVERU:8088**. Výchozí přihlášení **admin / admin**; před zpřístupněním správy je povinná změna hesla na alespoň 11 znaků. Port lze zadat v TUI nebo přepínačem `--port 8089`. Nginx konfigurace je samostatná a nepřepisuje ostatní weby. Pro veřejnou doménu nastavte v Nginx HTTPS certifikát; služba eAI zůstává na loopback portu 8090. Instalace bez kompilace, například pro externí AI server nebo přes eUpdate: ```bash sudo bash install.sh --non-interactive --engine none ``` Doinstalování enginu: ```bash sudo eai-engine install cpu sudo eai-engine install cuda sudo eai-engine install vulkan sudo eai-engine install ax8850 ``` CUDA vyžaduje již funkční NVIDIA ovladač a CUDA Toolkit (`nvcc`). Vulkan instalátor doplní překladač shaderů a vývojové knihovny. CPU/GPU používají poslední oficiální llama.cpp; commit je zaznamenán v `/opt/eai-engines/llama/COMMIT`. Lze zadat také konkrétní git ref jako třetí argument `eai-engine install cpu GIT_REF`. Jedna instalace llama.cpp má právě jeden zvolený GPU backend; CPU zůstává dostupné i v GPU sestavení. AX8850 potřebuje samostatně instalovaný **AXCL ovladač výrobce** pro konkrétní systém a jádro. Instalátor AXLLM stáhne runtime, nikoli ovladač jádra. ## První model a chat 1. **Modely → Stáhnout model**: zadejte Hugging Face repozitář. 2. CPU/GPU: vyberte jednu kvantizaci GGUF a pro VLM odpovídající soubor `mmproj`. U rozděleného GGUF stáhněte všechny díly. SHA-256 LFS souborů a Git kontrolní součty ostatních souborů se ověřují při stažení. 3. **Přidat model**: vyberte engine, modelový soubor, mmproj a označte VLM. U rozděleného GGUF zvolte první díl. Pro začátek použijte context 4096; jeho zvýšení spotřebovává další paměť. 4. **Spustit**, poté **Test**. Test kontroluje dostupnost backendu a shodu jeho ID modelu; nehodnotí jazykovou kvalitu. 5. **Testovací chat**: český/anglický text, případně obrázek. Kandidát pro požadavek 9B VLM je **Qwen3.5-9B**, například GGUF repozitář `unsloth/Qwen3.5-9B-GGUF`. eAI nepřidává vlastní jazykové schopnosti; české a anglické odpovědi závisejí na modelu. Na Pi s 8 GB RAM je nutné zohlednit velikost kvantizace, vizuálního enkodéru, kontextu i rezervu systému. Výkon a paměťová průchodnost 9B VLM nebyly v tomto prostředí měřeny. **Dvě AX8850:** v profilu zařízení `0,1`. eAI předá dokumentovaný parametr `AXLLM_DEVICES=0,1` a spustí **jedinou instanci** AXLLM. Potřebujete kompletní převedený model pro tento runtime, nikoli původní `.safetensors` ani GGUF. Zda konkrétní 9B VLM a jeho enkodér fungují na dvou kartách v X1016, musí potvrdit test na skutečném hardwaru. Balíček takový převod neobsahuje a neoznačuje neověřenou sestavu za funkční. Viz [AX8850](docs/AX8850.md). ## Funkce - Přehled CPU, RAM, disku, uptime, dostupných teplot a provozu modelů. - Detekce NVIDIA, llama.cpp zařízení, AXCL, device nodes a PCIe zařízení. - Profily CPU / CUDA / Vulkan / AX8850 / externího HTTP(S) API, start, stop, test backendu, autostart a dohled po pádu procesu. - Stahování modelů na pozadí s průběhem, kontrolními součty a zrušením. Neúplný model se neobjeví v cílové složce. - Chat s postupně zobrazovanou odpovědí, Stop, historií, obnovením sledování běžící odpovědi po načtení stránky a exportem JSON. - PNG/JPEG/WebP pro VLM; nejvýše 4 obrázky do 8 MiB, celý JSON do 24 MB. - Měření celkové doby, TTFT a tokenů/sekundu, pokud backend vrátí usage. Rychlost je průměr za celý požadavek včetně zpracování vstupu. - OpenAI kompatibilní `/v1/models` a `/v1/chat/completions`, JSON i SSE, modelové aliasy, API klíče s omezením modelů a požadavků za minutu. - eUpdate: ruční/týdenní kontrola, ruční/volitelné automatické aktualizace, záloha kódu a dat před změnou a rollback při neúspěšném spuštění. - Check-in po startu a 1× za 24 h, ručně přes GUI. Stabilní identita instalace, název serveru, skutečný linuxový hostname a provozní inventář. - Konzistentní SQLite zálohy, seznam, stažení, smazání a lokální obnova. - Provozní log, logy modelových enginů a diagnostický ZIP bez chatů, obrázků, hesel a klíčů. CZ/EN rozhraní, responzivní menu a formuláře. ## eUpdate **Do eUpdate nahrajte celý `eai-server-0.1.0.zip`, nerozbalenou vnitřní složku.** Kořen ZIPu obsahuje `install.json` ve stejném strukturálním formátu jako stávající balíčky eWeb. Projekt má `software_id=eai-server`, název eAI a MIT. Podrobnosti a JSON pro založení projektu jsou v [docs/EUPDATE.md](docs/EUPDATE.md) a `eupdate-project.json`. Samotné vytvoření projektu/publikování na vašem eUpdate zde provedeno nebylo. Instalace z eUpdate používá `--non-interactive --engine none`, aby vydání jádra nečekalo na kompilaci enginu. Výpočetní runtime se instaluje samostatně příkazem výše; váhy se stáhnou z webové správy. Další aktualizace enginy, modelové váhy, identitu instalace a nastavení zachovají. ## Správa a soubory ```bash systemctl status eai.service sudo journalctl -u eai.service -n 100 --no-pager sudo eai reset-password sudo eai backup sudo eai restore /absolutni/cesta/eai-backup-....zip sudo eai-release check sudo eai-release checkin sudo eai-release apply ``` Kód `/opt/eai` vlastní root. Data, SQLite, konfigurace, zálohy a logy jsou v `/var/lib/eai` a patří účtu `eai`. Váhy: `/var/lib/eai/models`. Privilegovaný aktualizační pracovník bere pouze požadavek na aktualizaci; URL i SHA-256 získá samostatně z důvěryhodného HTTPS feedu eUpdate. Zálohy před aktualizací jsou soukromě v `/var/lib/eai-maintenance/rollback-*`. Obnova běžné zálohy vyžaduje stejnou verzi eAI a nejdříve vytvoří záchrannou zálohu aktuálních dat. Modelové váhy se do záloh nekopírují. `Stop` u profilu vypne autostart, aby dohled model ihned znovu nespustil. Celý server po restartu obnoví modely s ponechaným autostartem. Rozpracované odpovědi/stahování při restartu služby dostanou stav přerušeno; nejsou vydávány za dokončené. Stahování po restartu spusťte znovu. ## Ověření a známé limity ```bash python3 -m unittest discover -s tests -v bash install.sh --verify-only ``` Podrobné výsledky jsou v `docs/VALIDATION.md`. Testy používají skutečný HTTP server a řízený testovací backend; nevyžadují GPU, AX8850 ani stažení vah. Nejde o měření kvality nebo rychlosti modelu a nebyl proveden produkční zásah na vašich serverech. Rozsah API je popsán v [API](docs/API.md). ## English quick start Run `sudo bash install.sh` on Ubuntu 26.04+ (ARM64/x86-64). Select CPU, CUDA, Vulkan, AX8850 or no engine. Open `http://SERVER:8088`, sign in with `admin / admin`, then change the password (11+ characters). Use the English button to switch the interface. Download GGUF and its matching vision projector, add a model profile, start the runtime and open Test chat. AX8850 requires vendor AXCL drivers plus a converted AXLLM model. Device selection `0,1` enables the runtime's documented multi-card mode; a specific 9B VLM on the user's two-card setup remains subject to hardware validation. The ZIP includes source, installer, tests, manifests and docs, without model weights, vendor binaries or screenshots.

Articles, citations and 9 most viewed · PIVO