Erste Schritte mit Ollama

Einführung

Ollama ist der einfachste Weg, um Large Language Models (LLMs) lokal auszuführen. Stellen Sie es sich als „Docker für LLMs" vor — es übernimmt das Herunterladen, Speichern und die Inferenz von Modellen mit einer sauberen Kommandozeilen-Schnittstelle. Keine komplexen Setups, keine Abhängigkeitsprobleme — ein Befehl zur Installation, ein Befehl zum Starten des Chats.

In diesem Modul lernen Sie:

  • Ollama auf Ihrem Jetson-Gerät installieren
  • Ihr erstes LLM herunterladen und ausführen
  • Verschiedene Modelle und ihre Fähigkeiten erkunden
  • Eine webbasierte Chat-Schnittstelle mit Open WebUI einrichten

ollama-banner

ollama-prompt

Warum Ollama?

FeatureBeschreibung
Ein-Zeilen-InstallationEinzelner Befehl zum Starten
Automatisches ModellmanagementAutomatischer Download und Verwaltung von Modelldateien
Einfache Befehleollama run Modellname zum Starten des Chats
REST APIIntegrierter HTTP-Server für Integration
Mehrere ModelleVerschiedene Modelle parallel ausführen
OpenAI-kompatibelAPI kompatibel mit OpenAI-Schnittstelle

Systemanforderungen

Bevor Sie Ollama installieren, stellen Sie sicher, dass Ihr Jetson-Gerät diese Anforderungen erfüllt:

AnforderungMinimumEmpfohlen
JetPack5.1+6.0+
RAM8GB16GB+
Speicher10GB frei50GB+ (für mehrere Modelle)
Swap8GB16GB

Erstbenutzer: Wenn Sie noch kein Swap auf Ihrem Jetson eingerichtet haben, lesen Sie Kapitel 3: Swap-Konfiguration

Ollama installieren

Methode 1: Direkte Installation (Empfohlen)

Öffnen Sie ein Terminal auf Ihrem Jetson-Gerät und führen Sie aus:

bash
# Ollama herunterladen und installieren
curl -fsSL https://ollama.com/install.sh | sh

Das Installationsskript wird:

  1. Ihre Systemarchitektur erkennen (ARM64)
  2. Die passende Ollama-Binärdatei herunterladen
  3. Den systemd-Dienst einrichten
  4. Die Installation verifizieren

Installation verifizieren

bash
# Ollama-Version prüfen
ollama --version

# Prüfen ob der Dienst läuft
systemctl status ollama

Ihre erste LLM-Interaktion

Lassen Sie uns nun Ihr erstes LLM ausführen. Ollama lädt das Modell beim ersten Lauf automatisch herunter.

Sie können die unterstützten Modelle von Ollama hier finden. Wählen Sie das Modell, das Sie auf Ihrem Gerät bereitstellen möchten.

Ein Modell ausführen

bash
# Zum Beispiel
ollama run qwen3.5:2b

Nach dem Download sehen Sie einen Chat-Prompt:

bash
What is NVIDIA Jetson?

Nützliche Chat-Befehle

BefehlBeschreibung
/?Hilfe anzeigen
/byeKonversation beenden
Ctrl+DKonversation beenden
/clearKonversationsverlauf löschen
/historyKonversationsverlauf anzeigen

Verschiedene Modelle erkunden

Vision-Language Models (Multimodal)

bash
# Qwen3.5 - Bilder und Text verstehen
ollama run qwen3.5:2b
#Sie können ein Bild angeben und das Modell den Inhalt beschreiben lassen.
What can you see in /home/seeed/test.jpg

qwen_v

Die REST API verwenden

Ollama führt einen lokalen HTTP-Server auf Port 11434 aus, was die Integration mit anderen Anwendungen erleichtert.

Chat-Anfrage senden

bash
# Einfache Textgenerierung
curl http://localhost:11434/api/generate -d '{
  "model": "qwen3.5:2b",
  "prompt": "What is edge computing?",
  "stream": false
}'

curl_test

Python-Integration

python
import requests

def chat_with_ollama(prompt, model="qwen3.5:2b"):
    """Einen Prompt an Ollama senden und eine Antwort erhalten."""
    response = requests.post(
        "http://localhost:11434/api/generate",
        json={
            "model": model,
            "prompt": prompt,
            "stream": False
        }
    )
    return response.json()["response"]

# Beispielverwendung
response = chat_with_ollama("Write a simple Python function to calculate factorial")
print(response)

OpenAI-kompatible API

bash
# openai sdk installieren
pip install openai

Ollama bietet einen OpenAI-kompatiblen Endpunkt, der die Verwendung bestehender OpenAI-Clientbibliotheken ermöglicht:

python
from openai import OpenAI

# Mit lokaler Ollama verbinden
client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="not-needed"  # Ollama benötigt keinen API-Schlüssel
)

response = client.chat.completions.create(
    model="qwen3.5:4b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain quantum computing in simple terms."}
    ]
)

print(response.choices[0].message.content)

VLM findet Objekte in Bildern

bash
pip install ollama
git clone https://github.com/Seeed-Projects/reComputer-Jetson-for-Beginners
cd reComputer-Jetson-for-Beginners/5-Offline-Large-Model-Development/code
python vlm_object_detector.py

Nach einer Minute können Sie das Ergebnis im img-Ordner sehen

vlm_find_obj

Open WebUI einrichten

Open WebUI (ehemals Ollama WebUI) bietet eine ChatGPT-ähnliche Schnittstelle für die Interaktion mit Ihren lokalen Modellen.

Installation via Docker

bash
# Open WebUI-Image pullen
docker pull ghcr.io/open-webui/open-webui:main

# Datenverzeichnis erstellen
sudo mkdir -p /opt/seeed/open-webui/data

# Container ausführen
docker run -d \
  --restart always \
  --name open-webui \
  --network host \
  -v /opt/seeed/open-webui/data:/app/backend/data \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  ghcr.io/open-webui/open-webui:main

# Containerstatus prüfen
docker logs -f open-webui

Auf Open WebUI zugreifen

Sobald der Container läuft:

  1. Öffnen Sie einen Browser auf Ihrem Jetson (oder einem anderen Gerät im selben Netzwerk)
  2. Navigieren Sie zu http://localhost:8080 (oder http://<jetson-ip>:8080)
  3. Erstellen Sie beim ersten Zugriff ein Admin-Konto
  4. Wählen Sie Ihr Modell aus dem Dropdown und beginnen Sie zu chatten!

web_ui

Funktionen von Open WebUI

  • Modellverwaltung: Zwischen verschiedenen Ollama-Modellen wechseln
  • Konversationsverlauf: Chat-Verläufe speichern und durchsuchen
  • Multi-User-Unterstützung: Konten für verschiedene Benutzer erstellen
  • RAG-Unterstützung: Dokumente hochladen und damit chatten
  • Bildgenerierung: Mit Bildgenerierungsmodellen integrieren
  • Plugin-System: Funktionalität mit Community-Plugins erweitern

Tipps für bessere Leistung

  1. Angemessene Modellgrößen verwenden: Beginnen Sie mit 1B-3B-Modellen auf Jetson Orin Nano
  2. Swap-Speicher erhöhen: Mehr Swap für größere Modelle hinzufügen
  3. Unnötige Anwendungen schließen: GPU-Speicher freigeben
  4. Quantisierte Modelle verwenden: GGUF quantisierte Modelle (Q4_K_M) bieten das beste Geschwindigkeit/Qualität-Verhältnis
  5. Temperatur überwachen: Jetson kann bei dauerhafter Last thermisch drosseln — für ausreichende Kühlung sorgen

Häufige Probleme und Lösungen

Problem 1: Modell-Download schlägt fehl

Problem: Error: pull model manifest: Get https://registry.ollama.ai/...

Lösung:

bash
# Internetverbindung prüfen
ping google.com

# Erneut mit detaillierter Ausgabe versuchen
OLLAMA_DEBUG=1 ollama pull llama3.2:3b

Problem 2: Speicher voll

Problem: Error: model requires more system memory (8.0 GiB) than is available (6.0 GiB)

Lösung:

bash
# Verfügbaren Speicher prüfen
free -h

# Swap erhöhen (falls noch nicht konfiguriert)
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Ein kleineres Modell verwenden
ollama run qwen3.5:2b

Problem 3: Langsame Antwortzeiten

Problem: Sehr langsame Token-Generierung (< 5 Tokens/Sekunde)

Lösung:

bash
# Ein kleineres Modell verwenden
ollama run qwen3.5:0.8b

# Kontextfenster reduzieren
ollama run qwen3.5:0.8b --num-ctx 2048

# Sicherstellen, dass GPU verwendet wird (nvidia-smi während Inferenz prüfen)

Problem 4: Ollama-Dienst startet nicht

Problem: System has not been booted with systemd as init system

Lösung (für Docker-Umgebungen):

bash
# Ollama manuell starten
ollama serve &

# Oder im Hintergrund ausführen
nohup ollama serve > ollama.log 2>&1 &

Übungsaufgabe

Führen Sie diese Schritte aus, um Ihr Setup zu verifizieren:

  1. Ollama installieren und die Installation verifizieren
  2. Ein Modell ausführen: ollama run qwen3.5:2b
  3. Eine Konversation führen: Fragen Sie nach Jetson-Plattformen
  4. Ein anderes Modell ausprobieren: Zu qwen3:4b wechseln
  5. Die API verwenden: Eine Anfrage via curl senden
  6. Optional: Open WebUI einrichten und vom Browser aus darauf zugreifen

Referenzen


Weiter: Fahren Sie mit Modul 5.3: LLMs mit llama.cpp ausführen fort, um leichte LLM-Inferenz zu erkunden!