Detta är ännu ett inlägg mycket för att jag ska komma ihåg hur jag gjorde. Den här gången handlar det om att köra stora språkmodeller (AI) lokalt på egen hårdvara. Exemplet kommer att använda Metas Llama 3.1 som nyligen släpptes, men det går att lägga till flera väldigt enkelt.
Att köra stora modeller kräver otroligt mycket av hårdvaran, så om man inte har en mycket kraftfull dator (jag menar verkligen MYCKET kraftfull) så bör man nöja sig med de ”minsta” stora modellerna. Jag testar främst Llama 3.1 7B (7 miljarder instruktioner).
Steg ett är att gå till webbsidan https://ollama.com och hämta kommandot som installerar ”Ollama” för det aktuella operativsystemet. I mitt fall är det:
curl -fsSL https://ollama.com/install.sh | sh
Därefter väljer man modell att köra och för Llama 3.1 7B i mitt fall är det:
ollama run llama3.1
Som vanligt är det lite si och så med språket och riktigheten i svaren kan ju diskuteras, men det fungerar! Modellen är betydligt bättre på engelska, men det är häftigt att det fungerar även på svenska.
För att få till ett snyggt GUI så används Docker. Se till att Docker är installerat (kontrollera med docker ps).
För att hämta och köra en container med OpenWebUI (https://docs.openwebui.com/) så skriver man in:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Detta hämtar paket som inte redan finns (det går snabbare att starta andra gången) och startar en server som nås via ”localhost:3000” i en webbläsare.
Man behöver skapa ett konto, men det går blixtsnabbt. Sedan är man inne…
Det var strul att få WebUI att känna igen och använda de installerade modellerna och någon tydlig lösning kunde jag inte hitta. Det hjälpte inte att stoppa ollama tjänsten och sedan starta den igen.
sudo systemctl stop ollama
ollama serve
Andra bekymmer verkar vara att ollama körs som docker container på en del system som standard, vilket jag inte gör på Linux. Jag får återkomma om jag hittar en lösning, men tills vidare så fungerar det i terminalen utan problem. Det vore dock skönt att kunna hantera modellerna via ett lite snyggare gränssnitt, som dessutom ger ytterligare möjligheter.
Man kan även hämta hem andra öppna LLM:er (AI) från Hugging Face (https://huggingface.co/). Det är open source modeller som man kan använda som grunde eller använda direkt.
En stor modell som fungerar ungefär lika bra som ChatGTP och LLAMA är Mistral AI (https://mistral.ai/), som kan rekommenderas. Den finns även på Hugging Face.