Installation eines lokalen KI-Servers

Erhöhter Datenschutz, Unabhängigkeit von Anbietern oder einfach nur zum herumprobieren. Ein eigener lokaler KI-Server bietet eine ganze Reihe von Vorteilen, auch ohne Highend-Hardware.
Im folgenden Beitrag klären wir die wichtigsten Fragen rund um die Installation und Einrichtung der ollama-Plattform in Kombination mit dem ressourcensparenden mistral-Modell. Außerdem werden wir am Ende noch das OpenSource Projekt Open-WebUI installieren, um den Dienst auch über einen Browser zugänglich zu machen.

Hardware-Voraussetzungen

Wie eingangs erwähnt, hat mistral verhältnismäßig geringe Hardware-Anforderungen:

  • 4 – 8 CPUs
  • 8 – 16 GB RAM
  • 10+ GB Festplattenplatz

Die Angabe des Festplattenplatz-Bedarfs bezieht sich auf die gesamte Installation, bestehend aus ollama-Dienst, mistral-Modell und dem Open-WebUI.
Je mehr Ressourcen der Maschine (auf der das ganze läuft) zugewiesen werden, umso besser und desto schneller können Rechenaufgaben bearbeitet werden.

Installation und Einrichtung

Für die Installation sind Administrator-Berechtigungen notwendig:

curl -fsSL https://ollama.com/install.sh | sh

Eine anschließende Meldung wie …

WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

… ist lediglich ein Warnhinweis und bedeutet keinerlei Beeinträchtigung in der Funktionsweise des Servers.
Anschließend werden noch einige weitere Modelle heruntergeladen.

Hinweis:
Die beiden Modelle phi3 und llama3 sind in unserem Szenario optional.

ollama pull mistral
ollama pull phi3
ollama pull llama3

Die frisch installierten Modelle kann man sich nachträglich auch anzeigen lassen:

ollama list

Nun können wir auch schon den Server starten und betreiben. Dieser sollte nicht mit dem Internet kommunizieren und wird vollständig lokal betrieben. Optional können wir dies zusätzlich mit einer iptables-Regel erzwingen:

sudo iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner $(id -u) -j REJECT
sudo iptables -A OUTPUT -p tcp --dport 80 -m owner --uid-owner $(id -u) -j REJECT

Die Angabe des –uid-owner ist wichtig, um nur den Datenverkehr für die Ports 443 und 80 der ollama-Anwendung zu blockieren, sodass diese nicht für das gesamte System unzugänglich gemacht werden.

Start des Servers

Um ollama nun interaktiv zu starten, führen wir den Befehl …

ollama run mistral

… aus und landen im interaktiven Chat.
Im Hintergrund starten wir ollama hiermit:

ollama serve &

Dies startet den ollama-api-Server auf Port :11434. Somit können wir den Dienst z.B. über curl oder Python erreichen.

Installation einer Weboberfläche

Um den ollama-Dienst auch über einen Browser erreichbar zu machen, installieren wir uns noch das Open-Source Projekt Open WebUI. Die einfachste Möglichkeit bietet hierfür die Installation über Docker.
Installiert den Docker-Dienst und startet den open-webui Container mit dem folgenden kleinen Skript (Quelle: https://docs.openwebui.com/tutorials/docker-install/):

sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Da nun das Container-Image lokal bereit liegt, genügt ein kurzer Befehl um den Container bei Bedarf erneut zu starten:

docker start open-webui

Im Anschluss sollte ollama nun auch über den Browser mit der IP-Adresse http://localhost:8080 bzw. http://<IP-Adresse>:8080 erreichbar sein.

Fazit

Die Installation und Einrichtung eines eigenen KI-Servers geht schnell von der Hand, ist darüber hinaus durch unterschiedliche Modelle anpassbar und arbeitet offline ohne Verbindung zum Internet. Möchte man auf Nummer sicher gehen, können entsprechende Regeln erstellt werden, die mögliche Zugriffe unterbinden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen