Zurück zur Startseite

Lokales LLM in Python: Schneller Einstieg mit Ollama und LiteLLM

Schritt-für-Schritt-Anleitung zur Bereitstellung und Integration eines lokalen LLM in Python. Verwenden Sie Ollama, um Modelle auszuführen, und LiteLLM für die Interaktion, ohne API-Schlüssel und Cloud-Dienste. Ideal für Entwickler.

Lokales LLM in Python: Schneller Einstieg mit Ollama und LiteLLM für Entwickler
Advertisement 728x90

# Lokales LLM in Python: Schnellstart mit Ollama und LiteLLM für Entwickler

Viele Entwickler, die in die Welt der Large Language Models (LLMs) eintauchen, stoßen auf Hürden: Registrierung bei Cloud-Diensten, Verwaltung von API-Keys und laufende Token-Kosten. Diese Methode ist zwar funktional, aber nicht immer ideal für erste Experimente und lokale Entwicklung. Dieser Artikel stellt eine effektive Alternative vor: das Bereitstellen und Integrieren von LLMs direkt auf Ihrem Computer. Wir führen Sie Schritt für Schritt durch die Einrichtung einer lokalen Umgebung mit Ollama zum Ausführen von Modellen und LiteLLM zur Integration in Python-Anwendungen und zeigen, wie Sie die erste sinnvolle Antwort von Ihrem eigenen LLM erhalten – ohne externe Dienste.

Vorteile der lokalen LLM-Entwicklung

Lokales LLM-Deployment bietet mehrere unbestreitbare Vorteile, besonders für Lernen und Prototyping. Erstens entfällt vollständig die Notwendigkeit von API-Keys und damit verbundenen Kosten, was unbegrenztes Experimentieren ermöglicht. Zweitens entsteht keine Abhängigkeit von einer Internetverbindung für jede Anfrage, was für Offline-Entwicklung oder instabile Netzwerke entscheidend ist. Drittens macht dieser Ansatz den Interaktionsprozess mit dem LLM hochtransparent: Sie können beobachten, wie Ihr Python-Code mit LiteLLM kommuniziert, das die Anfrage an Ollama weiterleitet und schließlich ans lokale Modell. Das ist kein "AI-Zauber", sondern nachvollziehbare Softwarelogik, die Debugging und Architekturverständnis erheblich vereinfacht. Für Entwickler, die die Mechanik der LLM-Integration tief verstehen wollen, ist der lokale Ansatz der ideale Einstieg.

Ollama und LiteLLM: Wichtige Architekturkomponenten

Bevor wir mit der Installation beginnen, ist es entscheidend, die Funktionen der beiden Haupttools zu unterscheiden: Ollama und LiteLLM.

Google AdInline article slot
  • Ollama ist ein leistungsstarkes Tool zum lokalen Ausführen großer Sprachmodelle. Es agiert als Server, der das Herunterladen, Speichern und Ausführen von LLMs auf Ihrem Computer verwaltet und eine einheitliche API zum Zugriff bietet. Ollama ist im Kern eine Laufzeitumgebung für lokale LLMs, die den Umgang mit Modellen wie Llama, Mistral, Qwen und anderen erleichtert.
  • LiteLLM ist eine leichte Python-Bibliothek, die API-Anfragen an verschiedene LLM-Anbieter vereinheitlicht. Ihr Kernmerkmal ist eine einzige Schnittstelle für Cloud-Dienste (OpenAI, Anthropic, Google Gemini) und lokale Lösungen wie Ollama. Code für ein lokales Modell via LiteLLM lässt sich mit minimalen Änderungen auf Cloud-Provider umstellen.

Zusammengefasst: Ollama startet das lokale Modell, LiteLLM bietet eine standardisierte Python-Schnittstelle, und Ihr Code baut eine vollständige Anwendung darum auf.

Ollama installieren und lokales Modell herunterladen

Um mit einem lokalen LLM zu arbeiten, folgen Sie diesen schrittweisen Anweisungen.

Ollama installieren

Laden Sie Ollama zunächst von der offiziellen Website (ollama.com) für Ihr Betriebssystem (Windows, macOS, Linux) herunter und installieren Sie es. Überprüfen Sie die Installation mit folgendem Terminal-Befehl:

Google AdInline article slot
ollama --version

Bei erfolgreichem Output der Versionsnummer ist Ollama einsatzbereit. Unter Windows achten Sie auf das Ollama-Symbol (🦙) in der Systemleiste – es zeigt einen aktiven Hintergrunddienst an.

Lokales LLM herunterladen

Ollama ist keine Modell selbst, sondern eine Plattform dafür. Nun laden Sie ein spezifisches Large Language Model herunter. Für uns eignet sich qwen2.5:3b hervorragend – ein kompaktes, aber leistungsstarkes Modell, das auf den meisten Laptops läuft und Deutsch unterstützt. Starten Sie den Download im Terminal:

ollama run qwen2.5:3b

Beim ersten Mal wird das Modell heruntergeladen und lokal gespeichert. Danach landen Sie in einem interaktiven Ollama-Chat. Testen Sie das Modell mit einer Frage auf Deutsch, z. B.: Hallo! Erkläre in zwei Sätzen, was Python ist. Wenn es antwortet, haben Sie die größte Hürde genommen. Beenden Sie den Chat mit /bye.

Google AdInline article slot

Hinweis: Bei unzureichender Leistung von qwen2.5:3b auf Ihrer Hardware probieren Sie die leichtere Variante: ollama run qwen2.5:1.5b. Die Python-Logik bleibt unverändert.

Python-Umgebung vorbereiten

Zur Isolierung von Abhängigkeiten empfehlen wir eine virtuelle Umgebung.

  • Erstellen Sie einen Projektordner und wechseln Sie hinein:

```bash

mkdir llm-chat

cd llm-chat

```

  • Initialisieren Sie eine virtuelle Umgebung:

```bash

python -m venv venv

```

  • Aktivieren Sie sie.

* Windows: venv\Scripts\activate

* macOS / Linux: source venv/bin/activate

Erfolgreiche Aktivierung zeigt sich durch das (venv)-Präfix in der Kommandozeile.

  • Installieren Sie die LiteLLM-Bibliothek:

```bash

pip install litellm

```

Alle Komponenten sind nun kodierbereit.

LLM in Python integrieren: Ihre erste Anfrage

Erstellen Sie eine Datei main.py im Projektstamm und fügen Sie diesen Code ein:

from litellm import completion
 
MODEL = "ollama_chat/qwen2.5:3b"
API_BASE = "http://localhost:11434"
 

def ask(question: str) -> str:
    response = completion(
        model=MODEL,
        messages=[
            {"role": "user", "content": question}
        ],
        api_base=API_BASE,
        request_timeout=120,
    )
    return response.choices[0].message.content
 
answer = ask("Hallo! Schreibe einen kurzen Satz über Python.")
print(answer)

Führen Sie das Skript in der aktivierten virtuellen Umgebung aus:

python main.py

Bei einer sinnvollen Modellantwort in der Konsole haben Sie ein lokales LLM erfolgreich in Python integriert. Das ist ein Meilenstein: Aus einem abstrakten Modell wird ein funktionaler Bestandteil Ihrer App.

Code-Analyse von main.py

Schauen wir uns die Kernlemente dieses minimalistischen, aber funktionalen Skripts an:

  • from litellm import completion: Import der zentralen completion-Funktion aus LiteLLM zum Versenden von Anfragen an LLMs.
  • MODEL = "ollama_chat/qwen2.5:3b": Definiert das genutzte Modell. Das Präfix ollama_chat/ weist LiteLLM an, die Anfrage an den lokalen Ollama-Dienst zu leiten. Passen Sie den Modellnamen an Ihr Heruntergeladenes an (z. B. qwen2.5:1.5b).
  • API_BASE = "http://localhost:11434": Gibt die Adresse des lokalen Ollama-API-Servers an. Standardport ist 11434.
  • messages=[{"role": "user", "content": question}]: Grundstruktur für moderne LLM-APIs. Anfragen gehen als Nachrichtenliste mit role (z. B. "user", "assistant", "system") und content (Text). Selbst bei Einzelfragen bildet das die Basis für Dialogverläufe.
  • request_timeout=120: Maximale Wartezeit für Modellantworten in Sekunden. Lokale Modelle brauchen beim ersten Start oder bei komplexen Anfragen länger.
  • response.choices[0].message.content: Extrahiert den generierten Text aus der vollständigen Antwort. Das response-Objekt birgt weitere nützliche Infos für Folgeartikel.

Häufige Startprobleme und Lösungen

Beim Setup können Probleme auftreten. Hier die gängigsten mit Fixes:

  • Problem 1: Connection refused oder Failed to connect

* Ursache: Ollama-Dienst läuft nicht oder ist nicht erreichbar.

* Lösung: Prüfen Sie, ob Ollama aktiv ist. Suchen Sie das 🦙-Symbol in der Leiste (Windows/macOS) oder führen Sie ollama list aus. Bei Reaktion läuft der Dienst.

  • Problem 2: Model not found

* Ursache: Modell im Code nicht heruntergeladen oder Name falsch.

* Lösung: ollama list zeigt verfügbare Modelle – korrigieren Sie MODEL in main.py.

  • Problem 3: Langsame Antwort oder schlechte Performance

* Ursache: Erster Start lädt ins RAM, oder Modell überfordert Hardware.

* Lösung: Abwarten. Ressourcenfresser schließen. Leichtere Variante wie qwen2.5:1.5b testen.

  • Problem 4: ModuleNotFoundError: No module named 'litellm'

* Ursache: Skript außerhalb der aktivierten venv ausgeführt.

* Lösung: Aktivieren Sie die venv ( (venv)-Präfix) vor dem Start.

  • Problem 5: Codierungsfehler in PowerShell (verschmierte Zeichen)

* Ursache: Terminal-Codierung passt nicht.

* Lösung: In PowerShell vorab: $OutputEncoding = [System.Text.Encoding]::UTF8.

Wichtige Erkenntnisse

  • Lokales LLM mit Ollama und LiteLLM spart API-Kosten und Internetabhängigkeit, gibt volle Kontrolle.
  • Ollama ist Runtime für lokale Modelle, LiteLLM vereinheitlicht die Python-API.
  • Erster Schritt: Ollama installieren, Modell wie qwen2.5:3b laden.
  • Python-Skript nutzt litellm.completion; MODEL mit ollama_chat/, API_BASE für Ollama.
  • Anfragen als Nachrichtenliste mit role und content – Basis für Chat-Systeme.

Fazit und nächste Schritte

Wir haben die Basisintegration eines lokalen LLMs in Python umgesetzt. Aus abstrakter Tech wird ein steuerbarer Baustein, der direkt aus Ihrem Code antwortet. Das eröffnet Experimente und komplexere AI-Apps.

Im nächsten Teil bauen wir daraus einen vollwertigen Konsolen-Chat mit Schleife, Eingabe und Kontextvorbereitung – von Einzelfragen zu interaktiven Gesprächen mit Ihrem lokalen LLM.

— Editorial Team

Advertisement 728x90

Weiterlesen