{"id":5160,"date":"2026-07-21T06:49:43","date_gmt":"2026-07-21T05:49:43","guid":{"rendered":"https:\/\/www.doncorso.de\/dcwp\/?p=5160"},"modified":"2026-07-21T07:21:37","modified_gmt":"2026-07-21T06:21:37","slug":"mit-lokaler-ki-spielen","status":"publish","type":"post","link":"https:\/\/www.doncorso.de\/dcwp\/?p=5160","title":{"rendered":"mit lokaler KI &#8222;spielen&#8220;"},"content":{"rendered":"\n<p>Ich finde den Gedanken sehr interessant, einen potenten PC im Haus zu haben, den mensch bei Bedarf einschaltet und dann von beliebigen anderen Ger\u00e4ten im Haushalt dessen angebotenes KI-Modell bequem \u00e1 la chatgpt nutzen kann.<\/p>\n\n\n\n<p>Daf\u00fcr habe ich einen Ryzen 7700X mit 32 GB DDR5-RAM und einer GeForce 4800.<\/p>\n\n\n\n<p>Das ist kein ultimatives KI-Setup, auch weil die Grafikkarte nur 16 GB vram hat, aber zum \"Spielen\" also zum Ausprobieren und schauen, was geht, was fehlt und wo es hingeht, reicht es allemal.<\/p>\n\n\n\n<p>Hier meine kleinen Notizen:<\/p>\n\n\n\n<p>Ich habe ubuntu 26.04 lts installiert (sp\u00e4ter vielleicht auf ubuntu server ohne gui gehen). Danach habe ich mich daf\u00fcr entschieden, llama.cpp auszuprobieren. Im Vergleich zu ollama soll das schwieriger zu konfigurieren sein, aber ich wollte ihm mal ne Chance geben.<\/p>\n\n\n\n<p>Mit dieser Anleitung von Frank -<a href=\"https:\/\/administrator.de\/tutorial\/llama-cpp-installation-ubuntu-linux-674599.html\">klick<\/a>- hat es auf Anhieb \u00fcberraschend einfach funktioniert. Meine kleinen Anpassung wegen neuer Versionen sahen dann so aus. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<!-- CSS Styles f\u00fcr den \"High Contrast\" Code-Block -->\n<style>\n  .code-block-white {\n    \/* Container: Wei\u00dfer Hintergrund und dicker schwarzer Rahmen *\/\n    background-color: #ffffff !important;\n    border: 3px solid #000000 !important; \/* Dicker schwarzer Rahmen *\/\n    border-radius: 6px;\n    padding: 20px;\n    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n    font-size: 15px; \/* Etwas gr\u00f6\u00dfer f\u00fcr bessere Lesbarkeit auf Wei\u00df *\/\n    line-height: 1.6;\n    color: #111111; \/* Sehr dunkler Standardtext *\/\n    overflow-x: auto;\n    box-shadow: 4px 4px 0px #000000; \/* Harter, schwarzer Schatten f\u00fcr 3D-Effekt *\/\n    margin: 20px 0;\n  }\n\n  \/* Kommentare: Dunkelgr\u00fcn, etwas kleiner, aber fett *\/\n  .cmt { \n    color: #006400; \/* Dunkelgr\u00fcn *\/\n    font-weight: 600;\n  }\n\n  \/* Befehle (sudo, apt, etc.): Fettgedrucktes Orange *\/\n  .cmd { \n    color: #d35400; \/* Dunkelorange *\/\n    font-weight: 700;\n  }\n\n  \/* Spezifische wichtige Befehle (sudo): Rot *\/\n  .sudo { \n    color: #8b0000; \/* Dunkelrot *\/\n    font-weight: 800; \/* Extra fett *\/\n  }\n\n  \/* Pfadvariablen und Flags (-DGGML, --host): Dunkelblau *\/\n  .opt { \n    color: #00008b; \/* Dunkelblau *\/\n    font-weight: 700;\n  }\n\n  \/* Dateien\/Pfade (gguf, deb, llama): Schwarz\/Grau *\/\n  .file { \n    color: #333333; \n    font-weight: 600;\n  }\n\n  \/* URL-Links: Dunkelrot (als Warning\/Highlight) *\/\n  .url { \n    color: #8b0000; \n    text-decoration: none;\n    font-weight: 700;\n  }\n\n  \/* Leerzeichen: Leichtes Grau *\/\n  .spc { color: #666666; }\n  \n  \/* Leere Zeilen: Sehr lichtes Grau *\/\n  .empty-line { color: #f0f0f0; }\n<\/style>\n\n<div class=\"code-block-white\">\n<pre><code class=\"language-bash\">\n<span class=\"cmt\"># System aktualisieren: Paketlisten abrufen und bereits installierte Pakete auf Updates pr\u00fcfen.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> update && <span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> upgrade -y\n\n<span class=\"cmt\"># Basis-Entwicklungsumgebung installieren:<\/span>\n<span class=\"cmt\"># Ben\u00f6tigt f\u00fcr: Compilierung von Code, Git f\u00fcr Versionskontrolle, CMake f\u00fcr Build-System,<\/span>\n<span class=\"cmt\"># sowie CUDA-spezifische Bibliotheken (libomp, curl, zlib) f\u00fcr die sp\u00e4tere Installation.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> install build-essential git cmake libomp-dev libcurl4-openssl-dev curl zlib1g-dev\n\n<span class=\"cmt\"># CUDA-Repo hinzuf\u00fcgen:<\/span>\n<span class=\"cmt\"># Download der GPG-Schl\u00fcsselring-Debian-Paket, um den offiziellen NVIDIA-Softwarequellen zu aktivieren.<\/span>\nwget <span class=\"url\">https:\/\/developer.download.nvidia.com\/compute\/cuda\/repos\/ubuntu2604\/x86_64\/cuda-keyring_1.1-1_all.deb<\/span>\n\n<span class=\"cmt\"># Den Schl\u00fcsselring installieren, damit \"apt\" jetzt CUDA-Pakete findet.<\/span>\n<span class=\"sudo\">sudo<\/span> dpkg -i cuda-keyring_1.1-1_all.deb\n\n<span class=\"cmt\"># Repo erneut aktualisieren, damit CUDA-Pakete sichtbar werden.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> update && <span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> upgrade -y\n\n<span class=\"cmt\"># Versuchsweise CUDA Toolkit 12.6 installieren (dies wird oft \u00fcberschrieben oder ignoriert).<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> install cuda-toolkit-12-6\n\n<span class=\"cmt\"># Suchen nach dem aktuellen CUDA-Paketnamen.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt-cache<\/span> search cuda-toolkit\n\n<span class=\"cmt\"># Tats\u00e4chliche Installation des neuesten CUDA Toolkits (hier 13.1).<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> install cuda-toolkit-13-1\n\n<span class=\"cmt\"># Build-Abh\u00e4ngigkeiten f\u00fcr CUDA-Bibliotheken (cublas) installieren.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> install build-essential git cmake libcublas-dev libomp-dev libcurl4-openssl-dev curl zlib1g-dev\n\n<span class=\"cmt\"># \u00dcberpr\u00fcfen, ob libcublas-Pakete verf\u00fcgbar sind.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt-cache<\/span> search libcublas\n\n<span class=\"cmt\"># Installieren der spezifischen CUDA-Bibliothek f\u00fcr CUDA 13.1.<\/span>\n<span class=\"sudo\">sudo<\/span> <span class=\"cmd\">apt<\/span> install build-essential git cmake libcublas-dev-13-1 libomp-dev libcurl4-openssl-dev curl zlib1g-dev\n\n<span class=\"cmt\"># Arbeitsverzeichnis f\u00fcr das LLM-Projekt erstellen.<\/span>\nmkdir ~\/llama\n<span class=\"cmt\"># In das Verzeichnis wechseln.<\/span>\ncd ~\/llama\n\n<span class=\"cmt\"># Den Open-Source-Code f\u00fcr LLaMA von der GitHub-Repository klonen.<\/span>\ngit clone <span class=\"url\">https:\/\/github.com\/ggerganov\/llama.cpp.git<\/span>\n<span class=\"cmt\"># In das geklonte Projekt wechseln.<\/span>\ncd llama.cpp\n\n<span class=\"cmt\"># Konfiguration des Build-Prozesses starten:<\/span>\n<span class=\"cmt\"># Aktiviert CUDA-Geschwindigkeitsoptimierung (-DGGML_CUDA=ON).<\/span>\n<span class=\"sudo\">sudo<\/span> cmake .. <span class=\"opt\">-DGGML_CUDA=ON<\/span>\n<span class=\"cmt\"># Hinweis: Da cmake hier als root ausgef\u00fchrt wird, passiert dies oft ohne Ausgabe oder im Hintergrund,<\/span>\n<span class=\"cmt\"># bevor das Build-Verzeichnis erstellt wird (siehe unten).<\/span>\n\n<span class=\"cmt\"># Verzeichnisinhalt anzeigen (zeigt die Struktur nach dem Klonen).<\/span>\nls\n\n<span class=\"cmt\"># Build-Verzeichnis innerhalb des Projekts erstellen.<\/span>\nmkdir build\n<span class=\"cmt\"># In das Build-Verzeichnis wechseln (Best Practice bei cmake, um Code und Build getrennt zu halten).<\/span>\ncd build\n\n<span class=\"cmt\"># Konfiguration erneut aufrufen (diesmal korrekt im build-Verzeichnis, um Dateien zu generieren).<\/span>\n<span class=\"sudo\">sudo<\/span> cmake .. <span class=\"opt\">-DGGML_CUDA=ON<\/span>\n<span class=\"cmt\"># Kompilierung des Codes starten:<\/span>\n<span class=\"cmt\"># --build . : Startet den Build im aktuellen Verzeichnis<\/span>\n<span class=\"cmt\"># --config Release : Baut die Release-Version (optimiert)<\/span>\n<span class=\"cmt\"># -j $(nproc) : Nutzt alle verf\u00fcgbaren CPU-Kerne parallel f\u00fcr schnelleres Compilieren.<\/span>\n<span class=\"sudo\">sudo<\/span> cmake --build . --config Release -j $(nproc)\n\n<span class=\"cmt\"># Zielverzeichnis f\u00fcr heruntergeladene Modelle erstellen.<\/span>\nmkdir \/opt\/models\n<span class=\"cmt\"># Als root das Zielverzeichnis erstellen (falls vorherige Fehlschl\u00e4ge existierten).<\/span>\n<span class=\"sudo\">sudo<\/span> mkdir \/opt\/models\n<span class=\"cmt\"># Berechtigungen setzen (777): Jeder kann lesen, schreiben und ausf\u00fchren.<\/span>\n<span class=\"cmt\"># \u26a0\ufe0f Sicherheitshinweis: 777 ist sehr offen; normalerweise reicht 755 oder 770 f\u00fcr Modelle.<\/span>\nchmod 777 \/opt\/models\n<span class=\"cmt\"># Berechtigungen als root erneut setzen (sicherstellen).<\/span>\n<span class=\"sudo\">sudo<\/span> chmod 777 \/opt\/models\n<span class=\"cmt\"># Zur\u00fcck in das Modelle-Verzeichnis wechseln.<\/span>\ncd \/opt\/models\/\n\n<span class=\"cmt\"># ============================================================================<\/span>\n<span class=\"cmt\"># Hab dann diese Modelle heruntergeladen (und bisher nur Qwen3.5-9B-Q4_K_M.gguf getestet)<\/span>\n<span class=\"cmt\"># - Qwen3.5-9B-DeepSeek-V4-Flash-Q4_K_M.gguf<\/span>\n<span class=\"cmt\"># - Qwen3.5-9B-Q4_K_M.gguf<\/span>\n<span class=\"cmt\"># - gemma-4-12b-it-Q4_K_M.gguf<\/span>\n<span class=\"cmt\"># - gemma-4-E4B-it-Q4_K_M.gguf<\/span>\n<span class=\"cmt\"># ============================================================================<\/span>\n\n<span class=\"cmt\"># Alle Dateien mit der Endung .gguf aus dem Download-Ordner in das aktuelle Verzeichnis verschieben.<\/span>\nmv ~\/Downloads\/*.gguf .\/\n\n<span class=\"cmt\"># Installationsbefehle aus dem vorherigen Build-Projekt in das Systempfad \/usr\/local\/libexec\/llama installieren.<\/span>\n<span class=\"sudo\">sudo<\/span> cmake --install .\n<span class=\"cmt\"># Bibliothekspfade neu laden, damit das System die neu kompilierten CUDA-Bibliotheken sofort finden kann.<\/span>\n<span class=\"sudo\">sudo<\/span> ldconfig \n\n<span class=\"cmt\"># Startbefehl f\u00fcr den LLM-Server:<\/span>\n<span class=\"cmt\"># --model : Pfad zum spezifischen Modell (Qwen3.5).<\/span>\n<span class=\"cmt\"># --host 0.0.0.0 : Macht den Server auf allen Netzwerkschnittstellen erreichbar (nicht nur localhost).<\/span>\n<span class=\"cmt\"># --port 8080 : Der Port, auf dem der Server lauscht.<\/span>\nllama-server --model \/opt\/models\/Qwen3.5-9B-Q4_K_M.gguf --host 0.0.0.0 --port 8080\n<\/code><\/pre>\n<\/div>\n\n\n\n\n<p><\/p>\n\n\n\n<p>... sieht dann so aus:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"795\" height=\"516\" src=\"https:\/\/www.doncorso.de\/dcwp\/wp-content\/uploads\/2026\/07\/grafik.png\" alt=\"\" class=\"wp-image-5170\" srcset=\"https:\/\/www.doncorso.de\/dcwp\/wp-content\/uploads\/2026\/07\/grafik.png 795w, https:\/\/www.doncorso.de\/dcwp\/wp-content\/uploads\/2026\/07\/grafik-300x195.png 300w, https:\/\/www.doncorso.de\/dcwp\/wp-content\/uploads\/2026\/07\/grafik-768x498.png 768w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Anmerkung:<\/p>\n\n\n\n<p>Wenn die CUDA-Driver noch nicht installiert sind, sollte das jetzt nachgeholt werden. In <a rel=\"noreferrer noopener\" href=\"https:\/\/developer.nvidia.com\/cuda-downloads\" target=\"_blank\">diesem Konfigurator<\/a> kannst du dein Betriebssystem und eine Installationsmethode ausw\u00e4hlen, um dir die Befehle f\u00fcr deinen Server anzeigen zu lassen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich finde den Gedanken sehr interessant, einen potenten PC im Haus zu haben, den mensch bei Bedarf einschaltet und dann von beliebigen anderen Ger\u00e4ten im Haushalt dessen angebotenes KI-Modell bequem \u00e1 la chatgpt nutzen kann. Daf\u00fcr habe ich einen Ryzen 7700X mit 32 GB DDR5-RAM und einer GeForce 4800. Das ist kein ultimatives KI-Setup, auch <a href=\"https:\/\/www.doncorso.de\/dcwp\/?p=5160\" class=\"more-link\">...weiterlesen<span class=\"screen-reader-text\"> \"mit lokaler KI &#8222;spielen&#8220;\"<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=\/wp\/v2\/posts\/5160"}],"collection":[{"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5160"}],"version-history":[{"count":11,"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=\/wp\/v2\/posts\/5160\/revisions"}],"predecessor-version":[{"id":5172,"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=\/wp\/v2\/posts\/5160\/revisions\/5172"}],"wp:attachment":[{"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.doncorso.de\/dcwp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}