Zum Kapitel springen TL;DR
Ollama Server starten
ollama serve
Modell laden
ollama run llama3
Anwenden
>>> Send a message (/? for help)
Use Ctrl + d or /bye to exit.
Api-Dokumentation:
Ollama: /docs/api.md
Zum Kapitel springen Homebrew vorhanden?
Homebrew muss installiert sein. Homebrew
brew -v
Homebrew 4.5.10
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Zum Kapitel springen Ollama installieren
Ollama mithilfe von Homebrew installieren:
brew install ollama
Dann den Ollama Server starten:
ollama serve
Server startet und muss im Hintergrund geöffnet bleiben:
time=2025-07-21T20:43:43.537+02:00 level=INFO source=routes.go:1235 msg="server config" env="map[HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_CONTEXT_LENGTH:4096 OLLAMA_DEBUG:INFO OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/Users/cooper.bin/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NEW_ENGINE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://* vscode-file://*] OLLAMA_SCHED_SPREAD:false http_proxy: https_proxy: no_proxy:]"
time=2025-07-21T20:43:43.539+02:00 level=INFO source=images.go:476 msg="total blobs: 15"
time=2025-07-21T20:43:43.539+02:00 level=INFO source=images.go:483 msg="total unused blobs removed: 0"
time=2025-07-21T20:43:43.539+02:00 level=INFO source=routes.go:1288 msg="Listening on 127.0.0.1:11434 (version 0.9.6)"
time=2025-07-21T20:43:43.572+02:00 level=INFO source=types.go:130 msg="inference compute" id=0 library=metal variant="" compute="" driver=0.0 name="" total="12.0 GiB" available="12.0 GiB"
Zum Kapitel springen Modell aussuchen
Es gibt Modelle auf https://ollama.com/library dort findet man erstaunlich viele Modelle.
Modell kann einfach direkt geladen und gestartet werden. Das geht alles automatisch eigentlich. Dazu einfach in einem neuen Terminal einen "Client" eröffnen. Also neues Terminal starten, Server im Hintergrund laufen lassen, und mit einem Befehl einfach direkt das gewählte Ki-Modell starten:
ollama run mistral
Das wäre also dieses Modell:
https://ollama.com/library/mistral
Wenn es lädt, sieht es so aus:
pulling manifest
pulling aabd4debf0c8: 100% ▕████████████████████████████████████████████████████████████████████████████▏ 1.1 GB
pulling c5ad996bda6e: 100% ▕████████████████████████████████████████████████████████████████████████████▏ 556 B
pulling 6e4c38e1172f: 100% ▕████████████████████████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd: 100% ▕████████████████████████████████████████████████████████████████████████████▏ 148 B
pulling a85fe2a2e58e: 100% ▕████████████████████████████████████████████████████████████████████████████▏ 487 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)
Use Ctrl + d or /bye to exit.
Dann kann man auch schon starten:
(base) cooper.bin@MacBook-Pro-von-cooperbin ~ % ollama run mistral
>>> Send a message (/? for help)
Use Ctrl + d or /bye to exit.
Generiere mir eine Liste mit 20 zufälligen Namen für eine Domain in einem DynDNS Dienst mit der Domain example.com. Bitte als Array.
Um 20 zufällige Namen für eine Domain zu generieren, die auf "example.com" basiert, können wir verschiedene Verfahren anwenden, wie zum Beispiel das
Zusammenfügen von Wörtern oder Anfangsbuchstaben des Namens eines Menschen, Tieres oder einer Pflanze. Hier ist eine Liste mit 20 zufälligen Namen:
```
["JohnDoeExample", "CatExample", "TreeExample", "DogExample", "RoseExample",
"MikeExample", "FishExample", "LilyExample", "BearExample", "OakExample",
"KateExample", "WolfExample", "IvyExample", "SamExample", "EagleExample",
"PoppyExample", "DuckExample", "WillowExample", "DeerExample", "FernExample"]
```
>>> Send a message (/? for help)
Generiere mir eine Liste mit 20 zufälligen Namen für eine Domain in einem DynDNS Dienst. Die Namen sollen "kompliziert" aber auch leicht zu merken sein. Antworte nur in einem Array ohne Erklärungen.
Für eine Liste von 20 komplexen, aber leicht zu merkenden Namen für eine Domain können wir verschiedenste Zahlen, Buchstaben und Symbole miteinbeziehen.
Hier ist eine Liste mit 20 solcher Namen:
```
["Example93", "Xample67", "@mple89", "#mple12", "$ample45", "%ample78",
"&le34", "*ample09", "(ample21", ")ample66", "+ample90", "-ample33",
"_ample44", "^example77", "|ample10", "{example55}", "[example88]",
"]example99", "^~ample22"
```
Zum Kapitel springen Systemprompt
Man kann einen sogenannten Systemprompt setzen.
>>> /set system "Du bist ein JSON Parser der nur in Plain JSON Antwortet. Wandle die Befehle in JSON Daten um. Antworte ohne Erklärungen im Plain JSON ohne Codeformatierungen. Einfach das JSON."
Set system message.
Gleiche Befehle nochmal testen:
Generiere mir eine Liste mit 20 zufälligen Namen für eine Domain in einem DynDNS Dienst. Die Namen sollen "kompliziert" aber auch leicht zu merken sein. Antworte nur in einem Array ohne Erklärungen.
```json
["Example93", "Xample67", "@mple89", "#mple12", "$ample45", "%ample78",
"&le34", "*ample09", "(ample21", ")ample66", "+ample90", "-ample33",
"_ample44", "^example77", "|ample10", "{example55}", "[example88]",
"]example99", "^~ample22"]
```
Naja. Also wohl doch noch ein bisschen Finetuning nötig. Was man aber sagen muss ist, das ist immer noch ein sehr kleines Modell. Von daher kann man sich gerne mal auf https://ollama.com/library umsehen. Vielleicht hat man genug Power für ein bisschen mehr.
Das war jetzt das Modell mistral 7B 4.4GB 7B
Zum Kapitel springen Modell-Vergleich
Zum Kapitel springen openbmb/minicpm-v2.6
https://ollama.com/openbmb/minicpm-v2.6 5GB 8B
ollama run openbmb/minicpm-v2.6
pulling manifest
pulling 52a31a079914: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 4.4 GB
pulling 4485f68a0f1a: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.0 GB
pulling bc24d57b9016: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 488 B
pulling 75357d685f23: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 28 B
pulling e6daeaa4f14b: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 112 B
pulling a2697e75877d: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 566 B
verifying sha256 digest
writing manifest
success
>>> /set system "Du bist ein JSON Parser der nur in Plain JSON Antwortet. Wandle die Befehle in JSON Daten um. Antworte ohne Erklärungen im Plain JSON ohne Codeformatierungen. Einfach das JSON."
Set system message.
>>> Generiere mir eine Liste mit 20 zufälligen Namen für eine Domain in einem DynDNS Dienst. Die Namen sollen "kompliziert" aber auch leicht zu merken sein. Antworte nur in einem Array ohne Erklärungen.
[["ZmSfzq", "jQVHcP", "gRbWpN", "kYsGvD", "eUyMnI", "hKlJxX", "oTtLwB", "aEiWqA", "dFzCmZ", "uHjVfS", "cQgPbR", "pNvKsG", "kYpDyM", "eUyHnI", "hKlJxX", "oTtLwB", "aEiWqA", "dFzCmZ", "uHjVfS", "cQgPbR"], ["vOZkGn", "mYzFpD", "yUeNlK",
"rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR"], ["yUeNlK", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV",
"bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX",
"wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ",
"sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW",
"iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS",
"lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI",
"tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR",
"yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUeNlK"], ["rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH",
"fEoKuV", "bPnRcZ", "sQmYkS", "lFzDpR", "yUePbG", "rJhTqX", "wBxLsW", "iAqGdI", "tCjMvH", "fEoKuV", "bPn
Zum Kapitel springen devstral
https://ollama.com/library/devstral 14GB 24B
ollama run devstral
pulling manifest
pulling b3a2c9a8fef9: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 14 GB
pulling ea9ec42474e0: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 823 B
pulling 43070e2d4e53: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 11 KB
pulling 5725afc40acd: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 5.7 KB
pulling 3dc762df9951: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 488 B
verifying sha256 digest
writing manifest
success
>>> /set system "Du bist ein JSON Parser der nur in Plain JSON Antwortet. Wandle die Befehle in JSON Daten um. Antworte ohne Erklärungen im Plain JSON ohne Codeformatierungen. Einfach das JSON."
Set system message.
>>> Generiere mir eine Liste mit 20 zufälligen Namen für eine Domain in einem DynDNS Dienst. Die Namen sollen "kompliziert" aber auch leicht zu merken sein. Antworte nur in einem Array ohne Erklärungen.
[
"whisperingEchoes",
"mysticRaven",
"silverMoonlight",
"shadowDancer",
"midnightStar",
"etherealDream",
"velvetNight",
"enigmaWave",
"phantomWinds",
"crystalSky",
"twilightBreeze",
"sereneMystic",
"dreamWeaver",
"lunarSymphony",
"celestialVeil",
"mysticVoyage",
"silentEchoes",
"etherealFlame",
"mysticEcho",
"phantomMoon"
]
>>> Send a message (/? for help)