Ollama ist ein Runner für Large Language Modelle (LLM) im Format GGUF.
Herunterladen von Modellen#
Teilweise können diese direkt von der Seite ollama.com heruntergeladen werden:ollama pull llama3.2:1b
Andere Modelle können von Huggingface heruntergeladen werden:
ollama pull hf.com/<model-name>
Installation von Modellen über Modelfile#
Ansonsten können Modelle über ein Modelfile erzeugt werden. Im einfachsten Fall sieht das so aus:FROM ./<model-file>.gguf
Dann führt man ollama create aus:
ollama create <model-name> -f .\Modelfile
Ollama Tunnel#
Lokales Ollama auf einen Server im Internet tunneln:- OpenSSH installieren
- AutoSSH installieren
- Ein Schlüsselpaar id_rsa und id_rsa.pub erzeugen
- Den öffentlichen Schlüssel auf dem Server installieren
- Den privaten Schlüssel nach C:\Windows\System32\config\systemprofile\.ssh kopieren
- Gegebenenfalls known_hosts ebenfalls dort installieren
- Falls Ollama für den privaten Nutzer installiert ist, dies z.B. nach C:\server\ollama verschieben
- Mit NSSM (Non-Sucking Service Manager) sowohl Ollama als auch AutoSSH als Windows Service installieren
Der Befehl für AutoSSH sieht etwa wie folgt aus:
autossh -M 0 -v -o TCPKeepAlive=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -R 172.17.0.1:11434:localhost:11434 <user>@<host>
- -M 0: Monitoring der Verbindung
- -v: Verbose, kann von NSSM in eine Logdatei umgeleitet werden
- -o: Diverse Keepalives
- -R: Reverse-Portweiterleitung von lokal 11434 remote auf Docker-IP-Range
Gegebenenfalls auf dem Ubunto-Host SSH Port Forwarding aktivieren (in /etc/ssh/sshd_config):
GatewayPorts clientspecified AllowTcpForwarding yes
Hinweis: Es sollte nicht "GatewayPorts yes" verwendet werden, da die Ports sonst komplett ins Internet weitergeleitet werden.
Die Konfigurationsdatei von SSH liegt unter dem User SYSTEM im Pfad "C:\WINDOWS\System32\config\systemprofile\.ssh". Dort kann man die Einstellungen eintragen:
Host * AddressFamily inet ServerAliveInterval 30 ServerAliveCountMax 5 TCPKeepAlive yes
Warnung: SSH ist hier ganz pingelig mit den Berechtigungen, wenn AutoSSH unter SYSTEM startet. Owner der Konfigurationsdateien muss SYSTEM sein und es darf niemand Zugriff haben, nicht einmal Administrator.
Fixen der Berechtigungen mit dem Powershell-Script fix.ps1:
icacls "C:\WINDOWS\system32\config\systemprofile\.ssh\config" /setowner SYSTEM icacls C:\Windows\system32\config\systemprofile\.ssh\config /remove "Administrator" icacls C:\Windows\system32\config\systemprofile\.ssh\config /remove "<user>"