Lokální AI. Co nabízí NVIDIA NIM a Blueprints? | Kapitola 2
Seznam kapitol
Umělá inteligence už přestává být doménou pouze velkých datových center a cloudových služeb, a to i díky službám NVIDIA NIM a knihovně návodů na NVIDIA Blueprints.
NVIDIA se v posledních letech soustředí na vylepšování umělé inteligence a to je patrné i na jejich produktech. S každou novou verzí DLSS přichází zlepšení obrazu, rychlejší zpracování a chytřejší odpovědi. NVIDIA dobře ví, že hardware, který prodává, už není jen pro hraní her. S rostoucími možnostmi AI se objevuje i potřeba snadno srozumitelných nástrojů pro vývojáře.
NVIDIA NIM a NVIDIA AI Blueprints jsou skvělý start pro pokročilé vývojáře. Tyto nástroje poskytují předpřipravené workflows a mikroslužby pro tvorbu AI aplikací. Avšak NVIDIA NIM má podmínku mít grafickou kartu minimálně RTX 4080. Připravil jsem tedy návod, který není přímo blueprint NVIDIA NIM, ale spustíte ho i na slabších zařízeních. Jedná se o jednodušší aplikací, která vám však ukáže sílu lokálních AI modelů.
Vytvoření vlastního AI chatbota
Nejvhodnějším prostředím se mi zdá opensource projekt OpenWeb UI. Neustále se vyvíjí a jedním příkazem jej nainstalujeme i s podporou Ollama pro správu nainstalovaných modelů. Instalace sice není úplně triviální, ale pokusím se popsat postup co nejlépe, aby ho zvládl každý.
OpenWeb UI je extensible, self-hosted AI rozhraní, které dokáže běžet kompletně offline a přizpůsobí se vašemu workflow. Má čistý a uživatelsky přívětivý design podobný ChatGPT, ale s výhodou, že všechna data zůstávají na vašem počítači.
Instalace OpenWeb UI s Ollama
Většina moderních aplikací a prostředí pro AI funguje na bázi Docker kontejnerů. Má to hned několik výhod – mnohem lépe se testuje, a pokud něco nefunguje, jen smažete kontejner a v počítači nezůstanou žádné zbytkové soubory. OpenWeb UI se instaluje stejně, tedy pomocí Dockeru. Pro jednoduchost budeme instalovat většinu komponent přes příkazový řádek (PowerShell).
Krok 1: Příprava prostředí
- Spusťte PowerShell s administrátorskými právy
- Windows používá balíčkovací systém winget, který obsahuje Docker. Pokud Docker již máte nainstalovaný, tento krok přeskočte
Krok 2: Instalace Docker
- Před instalací doporučuji aktualizovat Windows Linux Subsystem (WSL) pomocí příkazu
wsl --update. Tím aktualizujete backend, který Docker používá - Následně nainstalujte Docker pomocí příkazu:
winget install Docker.DockerDesktop - Po instalaci je nutné restartovat PowerShell, aby byly příkazy správně zaregistrovány (stačí ho zavřít a znova otevřít)
Krok 3: Spuštění OpenWeb UI
Nainstalujte docker kontejner s OpenWeb UI a Ollama s podporou NVIDIA grafických karet pomocí následujícího docker příkazu:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
Tato instalace bude několik minut trvat. Jakmile bude vše hotovo, měl by být přístupný web na adrese http://localhost:3000.
Výběr a konfigurace jazykových modelů
Nyní máte nejtěžší instalaci za sebou. Poslední, co vás dělí od pokecání se svým počítačem, je konfigurace a výběr toho správného modelu.
Postup konfigurace
- Jakmile si založíte administrátorský účet, přejděte do administrátorského nastavení a záložky Nastavení
- Zde v podmenu modely máte tlačítko na stažení modelu
- V okně máte možnost zadat, jaký model chcete stáhnout
Zdroje pro AI modely
- Ollama – oficiální zdroj pro modely kompatibilní s Ollama. Nabízí širokou škálu modelů od základních po specializované
- Hugging Face – rozsáhlá knihovna modelů pro různé aplikace. Volte ideálně modely ve formátu GGUF, které jsou optimalizované pro lokální běh
Doporučené modely
Pro českou podporu:
Většina modelů si poradí s češtinou v nějakém rozsahu, ale výkon nemusí být srovnatelný s modely používanými velkými firmami. Model jobautomation/OpenEuroLLM-Czech je speciálně navržen pro češtinu, ale pro notebook s 8 GB paměti VRAM je náročný.
Pro programování:
Pokud chcete model pro specifické účely, jako je programování, doporučuji Qwen2.5 Coder. Tento model je specializovaný na kódování a dokáže generovat kód, opravovat chyby a vysvětlovat programátorské koncepty. Qwen2.5-Coder série nabízí varianty od 0,5B do 32B parametrů.
NVIDIA modely:
Modely od NVIDIA, jako například nemotron-mini, dosahují výborných výsledků a rychlosti, ale fungují pouze v angličtině. Rozhodně doporučuji mrknout na web NVIDIA, kde můžete jednotlivé modely otestovat a vyzkoušet. Následně je jednoduše dohledáte, ať už v repozitáři Ollama nebo na Hugging Face.
Výhody vlastního AI chatbota
S OpenWeb UI získáte mnohem více než jen chatovací rozhraní:
- Hlasové ovládání – můžete mluvit s AI namísto psaní
- Vlastní prompty – vytvořte si předpřipravené příkazy pro časté úkoly
- Batch zpracování – zpracujte více dotazů najednou
- Offline režim – vše běží lokálně bez internetového připojení
- Integrace s nástroji – OpenWeb UI podporuje funkce a pipelines pro rozšířené možnosti
S tímto návodem máte vytvořeného vlastního AI chatbota s OpenWeb UI a Ollama. Ať už hledáte jazykové modely pro specifické účely nebo jen chcete experimentovat, možnosti jsou téměř neomezené. Spousty nástrojů a přidaných funkcí najdete přímo na webu OpenWeb UI (nutná registrace).
Integrace generování obrázků v OpenWebUI pomocí ComfyUI
Pokud chcete v rámci OpenWebUI využít pokročilejší funkce, je možné rozšířit možnosti o generování obrázků známé z online nástrojů. Nastavení je zde ale o něco složitější. Nejprve je třeba mít nainstalovanou aplikaci ComfyUI, o které byla řeč v předchozí kapitole a která nabízí API napojení – toho lze nyní využít.
Příprava workflow v ComfyUI
ComfyUI můžete nainstalovat opět jako Docker nebo přímo ze stránek ComfyUI jako samostatnou aplikaci. Výrobci přímo docker nepodporují a jedná se tedy spíše o připravené kontejnery od někoho jiného. Já osobně použil tento repozitář YanWenKun/ComfyUI-Docker jeho nastavení je ale spíše složitější, a kdo si na to netroufne, stejnou práci odvede i oficialní instalace ze stránek ComfyUI.
V ComfyUI si připravte funkční workflow. Můžete použít některý z předpřipravených šablon (template), například Flux.1-DEV. Model je třeba stáhnout – při spuštění workflow vás ComfyUI na potřebu stažení upozorní a nabídne odkaz ke stažení. Počítejte s tím, že jde o větší soubor a jeho stažení zabere delší čas. Po stažení model nakopírujte do složky ComfyUI/models/checkpoint. Následně lze workflow otestovat kliknutím na „RUN“ přímo v rozhraní ComfyUI.
Pokud vše funguje a vygeneruje se například ilustrační obrázek (např. „Anime Girl“ podle šablony), stačí workflow exportovat (pomocí tlačítka pro export do API souboru) a nahrát jej v OpenWebUI.
Použití v OpenWebUI
V administraci OpenWebUI v sekci generování obrázků je potřeba zadat URL adresu vašeho ComfyUI serveru (ve většině případů http://localhost:8188). Na rozdíl od integrace nástrojů jako Ollama zde bohužel není možné volit různé modely či specifická nastavení – je třeba zvolit jeden model, který bude aplikace používat. Pod nahraným workflow je ještě potřeba ručně vyplnit několik údajů – jedná se o ID nodů přímo z workflow souboru. Ty snadno najdete v textovém okně, pokud jste použili přímo template podle mě, můžete vyplnit podle obrázku níže.
Po správné konfiguraci se v rozhraní během psaní zprávy objeví nové tlačítko, kterým můžete přepnout do režimu generování obrázků. Toto propojení umožňuje modelu lépe porozumět vašim dotazům, poskytnout relevantní odpovědi a také generované obrázky rovnou popsat či analyzovat. A pokud si stáhnete ze stránek openwebui tento tool, model bude schopen sám od sebe spustit generování obrázku na základě vašeho dotazu.
OpenWebUI tak představuje velmi silný nástroj pro práci s AI, který se neustále vyvíjí a rozšiřuje o nové funkce. Na oficiálních stránkách navíc najdete bohatou knihovnu rozšiřujících doplňků a nástrojů. Jsou zde i předpřipravené „modely“, které upraví základní nastavení například pro specifickou práci či osobnost – například si můžete povídat s virtuálním Nikolou Teslou o stavbě Tesla generátoru doma.