Ollama

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:

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>

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>"

Hinweis: SSH ersetzt localhost gerne mit IPv6 (::1), auch wenn weder IPv6 konfiguriert wurde, ein Host-Eintrag dafür besteht oder überhaupt läuft. AddressFamily inet verhindert das.