Den Anfang in die Welt von Ollama und Sprachmodellen machte ein Artikel, in dem die Grundlagen erklärt wurden. Im zweiten Teil ging wurde tiefer in die Materie eingetaucht. Neben dem Herunterladen von Sprachmodellen, wurden weitere Befehle für die Verwaltung und Modifizierung vorgestellt. Im dritten Teil dreht sich alles um Programmierschnittstellen (API = Application Programming Interface).
Neben dem Befehl ollama oder der grafischen Benutzeroberfläche, kann auf die von Ollama verwalteten Sprachmodelle auch über eine API zugegriffen werden. Um dies zu ermöglichen, öffnet Ollama Port 11434, d.h. über diesen Port kann auf Endpunkte zugegriffen werden. Demonstrieren möchte ich dies anhand des Befehls curl. Klären wir zunächst, wofür dieses Werkzeug verwendet werden kann. In der Man Page von curl (Befehl man curl) wird dazu folgendes ausgeführt: „curl is a tool for transferring data from or to a server using URLs“. Unter „Server“ muss man sich hier nicht einen anderen Computer vorstellen. Vielmehr läuft ein Ollama-Dienst im Hintergrund. Dies ist unter macOS an dem Ollama-Symbol in der Menüleiste zu erkennen. Wenn dieser Dienst läuft, dann kann man auf verschiedene Endpunkte zugreifen. Einen Überblick dazu bietet Ollamas API-Referenz.
Im folgenden Beispiel wird der Befehl curl dafür verwendet, um eine Frage an ein bereits vorhandenes Sprachmodell zu übermitteln. Die Frage lautet in diesem Beispiel: „Who was Ernst Haas?“ Als Modell wird gemma3 verwendet.
curl http://localhost:11434/api/generate -d '{
"model": "gemma3",
"prompt": "Who was Ernst Haas?",
"stream": false
}'Anhand von localhost:11434 läßt sich erkennen, dass diese Anfrage an Port 11434 des eigenen Computers (localhost) geht, wobei hier auf den Endpunkt generate zugegriffen wird. Hinter „model“ wird das zu verwendende Sprachmodell, bei „prompt“ die zu übermittelnde Frage angegeben. Außerdem habe ich für „stream“ den Wert false hinzugefügt. Dadurch werden die Wörter nicht Zeile für Zeile einzeln ausgegeben, sondern es wird ein zusammenhängender Text angezeigt. Nach kurzer Zeit erscheint im Terminal die Antwort (nachfolgend gekürzt dargestellt):
{"model":"gemma3","created_at":"2025-11-08T08:16:22.594104Z",
"response":"Ernst Haas (1936-1986) was a hugely influential and
innovative Austrian photographer, particularly known for his
vibrant, almost surreal, color photographs of nightlife and
fashion in the 1960s and 70s. [...]"}Die lokal vorhandenen Sprachmodelle können mit list angezeigt werden:
ollama listDafür gibt es auch einen Endpunkt (tags):
curl http://localhost:11434/api/tagsUnd wenn man nur an den derzeit laufenden Sprachmodellen interessiert ist, hilft folgender Befehl weiter:
curl http://localhost:11434/api/psMan könnte sich zu einem Modell auch zahlreiche Information anzeigen lassen:
curl http://localhost:11434/api/show -d '{
"model": "gemma3"
}'Und falls ihr ein weiteres Sprachmodell herunterladen möchtet, ist dies über die API ebenfalls möglich. Im folgenden Beispiel wird deepseek-r1 heruntergeladen:
curl http://localhost:11434/api/pull -d '{
"model": "deepseek-r1:8b"
}'Fazit
Die gezeigten Beispiele haben veranschaulicht, wie mit curl auf Ollamas API zugegriffen werden kann. In der API-Referenz findet ihr eine Übersicht zu den bereitgestellten Endpunkten. Die Verwendung des Befehls curl stellt dabei nur eine Möglichkeit dar. In einem folgenden Artikel geht es dann um die Nutzung von Ollamas API mithilfe einer Python-Bibliothek.