commit 1cfaaf4e22dc4d831f6573f0e0cdea92fd2b39ea Author: xray Date: Thu Jul 9 10:00:25 2026 +0200 initial: MiniLlama — portable LLM chat for USB stick (Windows + Linux) llama.cpp b9936 binaries for x86_64 (Linux Ubuntu + Windows CPU) Dynamic model selection from models/ dir GGUF models: Gemma-4-E2B, Qwen2.5-1.5B, Qwen3.5-4B Cross-platform start.sh / start.bat scripts Deploy script for USB stick export diff --git a/README.md b/README.md new file mode 100644 index 0000000..6c00171 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# 🦙 MiniLlama — Portable LLM Chat + +**MiniLlama** ist ein portabler LLM-Chat, der direkt vom USB-Stick läuft — ohne Installation, auf **Windows und Linux**. + +## Schnellstart + +| OS | Befehl | +|----|--------| +| 🐧 Linux | `./start.sh` | +| 🪟 Windows | `start.bat` | + +Das Skript zeigt alle Modelle aus dem `models/`-Ordner als nummeriertes Menü an. Einfach die Ziffer wählen und loschatten. + +## Projektstruktur + +``` +MiniLlama/ +├── start.sh ← Starter für Linux (Bash) +├── start.bat ← Starter für Windows (Batch) +├── bin/ +│ ├── linux/ ← llama.cpp (b9936) für Linux x86_64 +│ └── win/ ← llama.cpp für Windows x86_64 +├── models/ ← Hier kommen die .gguf-Modelle rein +└── README.md +``` + +## Modelle + +GGUF-Modelle (`*.gguf`) im `models/`-Ordner ablegen. +Die Start-Skripte erkennen automatisch alle vorhandenen Modelle und zeigen sie zur Auswahl an. + +> **Von Quantisierungsstufen** reichen Q4_K_M und Q5_K_M für gute Qualität bei moderater Dateigröße. + +## Deployment auf einen USB-Stick + +1. **Modelle kopieren** (nötig für Portabilität, da Symlinks auf einem anderen Rechner brechen): + ```bash + cp -r /pfad/zu/models/*.gguf /pfad/zum/stick/MiniLlama/models/ + ``` + +2. **Ganzen Ordner auf den Stick kopieren:** + ```bash + # Linux → Stick + cp -r MiniLlama /media/USER/STICKNAME/ + + # Windows → Stick + # Einfach MiniLlama-Ordner per Explorer auf den Stick ziehen + ``` + +3. Auf dem Zielrechner vom Stick starten: + ```bash + # Linux: Terminal im Stick-Ordner öffnen + ./start.sh + + # Windows: Explorer öffnen, Doppelklick auf start.bat + ``` + +## Technische Details + +- **Engine:** [llama.cpp](https://github.com/ggml-org/llama.cpp) b9936 +- **Plattformen:** + - Linux: x86_64 (Ubuntu-kompatibel), baut auf glibc 2.35+ + - Windows: x86_64 (CPU-only, keine GPU-Treiber nötig) +- **Dateisystem:** exFAT empfohlen (Dateien > 4 GB, Windows + Linux) diff --git a/bin/linux/LICENSE b/bin/linux/LICENSE new file mode 100644 index 0000000..e7dca55 --- /dev/null +++ b/bin/linux/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023-2026 The ggml authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/bin/linux/ggml-rpc-server b/bin/linux/ggml-rpc-server new file mode 100755 index 0000000..7aac790 Binary files /dev/null and b/bin/linux/ggml-rpc-server differ diff --git a/bin/linux/libggml-base.so b/bin/linux/libggml-base.so new file mode 120000 index 0000000..6ea7cc6 --- /dev/null +++ b/bin/linux/libggml-base.so @@ -0,0 +1 @@ +libggml-base.so.0 \ No newline at end of file diff --git a/bin/linux/libggml-base.so.0 b/bin/linux/libggml-base.so.0 new file mode 120000 index 0000000..da9b3b7 --- /dev/null +++ b/bin/linux/libggml-base.so.0 @@ -0,0 +1 @@ +libggml-base.so.0.15.3 \ No newline at end of file diff --git a/bin/linux/libggml-base.so.0.15.3 b/bin/linux/libggml-base.so.0.15.3 new file mode 100755 index 0000000..9ebe685 Binary files /dev/null and b/bin/linux/libggml-base.so.0.15.3 differ diff --git a/bin/linux/libggml-cpu-alderlake.so b/bin/linux/libggml-cpu-alderlake.so new file mode 100755 index 0000000..b4ae944 Binary files /dev/null and b/bin/linux/libggml-cpu-alderlake.so differ diff --git a/bin/linux/libggml-cpu-cannonlake.so b/bin/linux/libggml-cpu-cannonlake.so new file mode 100755 index 0000000..da7f683 Binary files /dev/null and b/bin/linux/libggml-cpu-cannonlake.so differ diff --git a/bin/linux/libggml-cpu-cascadelake.so b/bin/linux/libggml-cpu-cascadelake.so new file mode 100755 index 0000000..14dc71e Binary files /dev/null and b/bin/linux/libggml-cpu-cascadelake.so differ diff --git a/bin/linux/libggml-cpu-cooperlake.so b/bin/linux/libggml-cpu-cooperlake.so new file mode 100755 index 0000000..783bab1 Binary files /dev/null and b/bin/linux/libggml-cpu-cooperlake.so differ diff --git a/bin/linux/libggml-cpu-haswell.so b/bin/linux/libggml-cpu-haswell.so new file mode 100755 index 0000000..2d80555 Binary files /dev/null and b/bin/linux/libggml-cpu-haswell.so differ diff --git a/bin/linux/libggml-cpu-icelake.so b/bin/linux/libggml-cpu-icelake.so new file mode 100755 index 0000000..ce0a582 Binary files /dev/null and b/bin/linux/libggml-cpu-icelake.so differ diff --git a/bin/linux/libggml-cpu-ivybridge.so b/bin/linux/libggml-cpu-ivybridge.so new file mode 100755 index 0000000..fab4fc8 Binary files /dev/null and b/bin/linux/libggml-cpu-ivybridge.so differ diff --git a/bin/linux/libggml-cpu-piledriver.so b/bin/linux/libggml-cpu-piledriver.so new file mode 100755 index 0000000..a6bfa4a Binary files /dev/null and b/bin/linux/libggml-cpu-piledriver.so differ diff --git a/bin/linux/libggml-cpu-sandybridge.so b/bin/linux/libggml-cpu-sandybridge.so new file mode 100755 index 0000000..a31b9ae Binary files /dev/null and b/bin/linux/libggml-cpu-sandybridge.so differ diff --git a/bin/linux/libggml-cpu-sapphirerapids.so b/bin/linux/libggml-cpu-sapphirerapids.so new file mode 100755 index 0000000..ded6157 Binary files /dev/null and b/bin/linux/libggml-cpu-sapphirerapids.so differ diff --git a/bin/linux/libggml-cpu-skylakex.so b/bin/linux/libggml-cpu-skylakex.so new file mode 100755 index 0000000..c378e8a Binary files /dev/null and b/bin/linux/libggml-cpu-skylakex.so differ diff --git a/bin/linux/libggml-cpu-sse42.so b/bin/linux/libggml-cpu-sse42.so new file mode 100755 index 0000000..37d9297 Binary files /dev/null and b/bin/linux/libggml-cpu-sse42.so differ diff --git a/bin/linux/libggml-cpu-x64.so b/bin/linux/libggml-cpu-x64.so new file mode 100755 index 0000000..93a4b9e Binary files /dev/null and b/bin/linux/libggml-cpu-x64.so differ diff --git a/bin/linux/libggml-cpu-zen4.so b/bin/linux/libggml-cpu-zen4.so new file mode 100755 index 0000000..849d415 Binary files /dev/null and b/bin/linux/libggml-cpu-zen4.so differ diff --git a/bin/linux/libggml-rpc.so b/bin/linux/libggml-rpc.so new file mode 100755 index 0000000..52d8bd5 Binary files /dev/null and b/bin/linux/libggml-rpc.so differ diff --git a/bin/linux/libggml.so b/bin/linux/libggml.so new file mode 120000 index 0000000..48ebd29 --- /dev/null +++ b/bin/linux/libggml.so @@ -0,0 +1 @@ +libggml.so.0 \ No newline at end of file diff --git a/bin/linux/libggml.so.0 b/bin/linux/libggml.so.0 new file mode 120000 index 0000000..7c048f4 --- /dev/null +++ b/bin/linux/libggml.so.0 @@ -0,0 +1 @@ +libggml.so.0.15.3 \ No newline at end of file diff --git a/bin/linux/libggml.so.0.15.3 b/bin/linux/libggml.so.0.15.3 new file mode 100755 index 0000000..3c778e4 Binary files /dev/null and b/bin/linux/libggml.so.0.15.3 differ diff --git a/bin/linux/libllama-batched-bench-impl.so b/bin/linux/libllama-batched-bench-impl.so new file mode 100755 index 0000000..6b6586f Binary files /dev/null and b/bin/linux/libllama-batched-bench-impl.so differ diff --git a/bin/linux/libllama-bench-impl.so b/bin/linux/libllama-bench-impl.so new file mode 100755 index 0000000..ffccac3 Binary files /dev/null and b/bin/linux/libllama-bench-impl.so differ diff --git a/bin/linux/libllama-cli-impl.so b/bin/linux/libllama-cli-impl.so new file mode 100755 index 0000000..5b2e228 Binary files /dev/null and b/bin/linux/libllama-cli-impl.so differ diff --git a/bin/linux/libllama-common.so b/bin/linux/libllama-common.so new file mode 120000 index 0000000..4936a60 --- /dev/null +++ b/bin/linux/libllama-common.so @@ -0,0 +1 @@ +libllama-common.so.0 \ No newline at end of file diff --git a/bin/linux/libllama-common.so.0 b/bin/linux/libllama-common.so.0 new file mode 120000 index 0000000..f6e0608 --- /dev/null +++ b/bin/linux/libllama-common.so.0 @@ -0,0 +1 @@ +libllama-common.so.0.0.9936 \ No newline at end of file diff --git a/bin/linux/libllama-common.so.0.0.9936 b/bin/linux/libllama-common.so.0.0.9936 new file mode 100755 index 0000000..2cbe710 Binary files /dev/null and b/bin/linux/libllama-common.so.0.0.9936 differ diff --git a/bin/linux/libllama-completion-impl.so b/bin/linux/libllama-completion-impl.so new file mode 100755 index 0000000..5f9fc51 Binary files /dev/null and b/bin/linux/libllama-completion-impl.so differ diff --git a/bin/linux/libllama-fit-params-impl.so b/bin/linux/libllama-fit-params-impl.so new file mode 100755 index 0000000..1cbd826 Binary files /dev/null and b/bin/linux/libllama-fit-params-impl.so differ diff --git a/bin/linux/libllama-perplexity-impl.so b/bin/linux/libllama-perplexity-impl.so new file mode 100755 index 0000000..c527343 Binary files /dev/null and b/bin/linux/libllama-perplexity-impl.so differ diff --git a/bin/linux/libllama-quantize-impl.so b/bin/linux/libllama-quantize-impl.so new file mode 100755 index 0000000..cb9f336 Binary files /dev/null and b/bin/linux/libllama-quantize-impl.so differ diff --git a/bin/linux/libllama-server-impl.so b/bin/linux/libllama-server-impl.so new file mode 100755 index 0000000..0af4881 Binary files /dev/null and b/bin/linux/libllama-server-impl.so differ diff --git a/bin/linux/libllama.so b/bin/linux/libllama.so new file mode 120000 index 0000000..746e563 --- /dev/null +++ b/bin/linux/libllama.so @@ -0,0 +1 @@ +libllama.so.0 \ No newline at end of file diff --git a/bin/linux/libllama.so.0 b/bin/linux/libllama.so.0 new file mode 120000 index 0000000..7d4aa5e --- /dev/null +++ b/bin/linux/libllama.so.0 @@ -0,0 +1 @@ +libllama.so.0.0.9936 \ No newline at end of file diff --git a/bin/linux/libllama.so.0.0.9936 b/bin/linux/libllama.so.0.0.9936 new file mode 100755 index 0000000..b69038f Binary files /dev/null and b/bin/linux/libllama.so.0.0.9936 differ diff --git a/bin/linux/libmtmd.so b/bin/linux/libmtmd.so new file mode 120000 index 0000000..db973e2 --- /dev/null +++ b/bin/linux/libmtmd.so @@ -0,0 +1 @@ +libmtmd.so.0 \ No newline at end of file diff --git a/bin/linux/libmtmd.so.0 b/bin/linux/libmtmd.so.0 new file mode 120000 index 0000000..c61f29b --- /dev/null +++ b/bin/linux/libmtmd.so.0 @@ -0,0 +1 @@ +libmtmd.so.0.0.9936 \ No newline at end of file diff --git a/bin/linux/libmtmd.so.0.0.9936 b/bin/linux/libmtmd.so.0.0.9936 new file mode 100755 index 0000000..d1e4273 Binary files /dev/null and b/bin/linux/libmtmd.so.0.0.9936 differ diff --git a/bin/linux/llama b/bin/linux/llama new file mode 100755 index 0000000..ff708f8 Binary files /dev/null and b/bin/linux/llama differ diff --git a/bin/linux/llama-batched-bench b/bin/linux/llama-batched-bench new file mode 100755 index 0000000..20e720b Binary files /dev/null and b/bin/linux/llama-batched-bench differ diff --git a/bin/linux/llama-bench b/bin/linux/llama-bench new file mode 100755 index 0000000..9681e45 Binary files /dev/null and b/bin/linux/llama-bench differ diff --git a/bin/linux/llama-cli b/bin/linux/llama-cli new file mode 100755 index 0000000..df86c9a Binary files /dev/null and b/bin/linux/llama-cli differ diff --git a/bin/linux/llama-completion b/bin/linux/llama-completion new file mode 100755 index 0000000..784499c Binary files /dev/null and b/bin/linux/llama-completion differ diff --git a/bin/linux/llama-debug-template-parser b/bin/linux/llama-debug-template-parser new file mode 100755 index 0000000..a325d95 Binary files /dev/null and b/bin/linux/llama-debug-template-parser differ diff --git a/bin/linux/llama-fit-params b/bin/linux/llama-fit-params new file mode 100755 index 0000000..d379c4b Binary files /dev/null and b/bin/linux/llama-fit-params differ diff --git a/bin/linux/llama-gemma3-cli b/bin/linux/llama-gemma3-cli new file mode 100755 index 0000000..1401c16 Binary files /dev/null and b/bin/linux/llama-gemma3-cli differ diff --git a/bin/linux/llama-gguf-split b/bin/linux/llama-gguf-split new file mode 100755 index 0000000..d46d981 Binary files /dev/null and b/bin/linux/llama-gguf-split differ diff --git a/bin/linux/llama-imatrix b/bin/linux/llama-imatrix new file mode 100755 index 0000000..fca4bfa Binary files /dev/null and b/bin/linux/llama-imatrix differ diff --git a/bin/linux/llama-llava-cli b/bin/linux/llama-llava-cli new file mode 100755 index 0000000..1401c16 Binary files /dev/null and b/bin/linux/llama-llava-cli differ diff --git a/bin/linux/llama-minicpmv-cli b/bin/linux/llama-minicpmv-cli new file mode 100755 index 0000000..1401c16 Binary files /dev/null and b/bin/linux/llama-minicpmv-cli differ diff --git a/bin/linux/llama-mtmd-cli b/bin/linux/llama-mtmd-cli new file mode 100755 index 0000000..d831e1d Binary files /dev/null and b/bin/linux/llama-mtmd-cli differ diff --git a/bin/linux/llama-mtmd-debug b/bin/linux/llama-mtmd-debug new file mode 100755 index 0000000..78d4ad2 Binary files /dev/null and b/bin/linux/llama-mtmd-debug differ diff --git a/bin/linux/llama-perplexity b/bin/linux/llama-perplexity new file mode 100755 index 0000000..8cbba14 Binary files /dev/null and b/bin/linux/llama-perplexity differ diff --git a/bin/linux/llama-quantize b/bin/linux/llama-quantize new file mode 100755 index 0000000..3133d44 Binary files /dev/null and b/bin/linux/llama-quantize differ diff --git a/bin/linux/llama-qwen2vl-cli b/bin/linux/llama-qwen2vl-cli new file mode 100755 index 0000000..1401c16 Binary files /dev/null and b/bin/linux/llama-qwen2vl-cli differ diff --git a/bin/linux/llama-results b/bin/linux/llama-results new file mode 100755 index 0000000..9f3116f Binary files /dev/null and b/bin/linux/llama-results differ diff --git a/bin/linux/llama-server b/bin/linux/llama-server new file mode 100755 index 0000000..7bf59e5 Binary files /dev/null and b/bin/linux/llama-server differ diff --git a/bin/linux/llama-template-analysis b/bin/linux/llama-template-analysis new file mode 100755 index 0000000..04c4ed6 Binary files /dev/null and b/bin/linux/llama-template-analysis differ diff --git a/bin/linux/llama-tokenize b/bin/linux/llama-tokenize new file mode 100755 index 0000000..8a6b8ec Binary files /dev/null and b/bin/linux/llama-tokenize differ diff --git a/bin/linux/llama-tts b/bin/linux/llama-tts new file mode 100755 index 0000000..346df28 Binary files /dev/null and b/bin/linux/llama-tts differ diff --git a/bin/win/ggml-base.dll b/bin/win/ggml-base.dll new file mode 100755 index 0000000..f090989 Binary files /dev/null and b/bin/win/ggml-base.dll differ diff --git a/bin/win/ggml-cpu-alderlake.dll b/bin/win/ggml-cpu-alderlake.dll new file mode 100755 index 0000000..acf1389 Binary files /dev/null and b/bin/win/ggml-cpu-alderlake.dll differ diff --git a/bin/win/ggml-cpu-cannonlake.dll b/bin/win/ggml-cpu-cannonlake.dll new file mode 100755 index 0000000..42bf7e3 Binary files /dev/null and b/bin/win/ggml-cpu-cannonlake.dll differ diff --git a/bin/win/ggml-cpu-cascadelake.dll b/bin/win/ggml-cpu-cascadelake.dll new file mode 100755 index 0000000..909ded3 Binary files /dev/null and b/bin/win/ggml-cpu-cascadelake.dll differ diff --git a/bin/win/ggml-cpu-cooperlake.dll b/bin/win/ggml-cpu-cooperlake.dll new file mode 100755 index 0000000..44da9ba Binary files /dev/null and b/bin/win/ggml-cpu-cooperlake.dll differ diff --git a/bin/win/ggml-cpu-haswell.dll b/bin/win/ggml-cpu-haswell.dll new file mode 100755 index 0000000..8548fe9 Binary files /dev/null and b/bin/win/ggml-cpu-haswell.dll differ diff --git a/bin/win/ggml-cpu-icelake.dll b/bin/win/ggml-cpu-icelake.dll new file mode 100755 index 0000000..8c61542 Binary files /dev/null and b/bin/win/ggml-cpu-icelake.dll differ diff --git a/bin/win/ggml-cpu-ivybridge.dll b/bin/win/ggml-cpu-ivybridge.dll new file mode 100755 index 0000000..a22ca1e Binary files /dev/null and b/bin/win/ggml-cpu-ivybridge.dll differ diff --git a/bin/win/ggml-cpu-piledriver.dll b/bin/win/ggml-cpu-piledriver.dll new file mode 100755 index 0000000..241e5cf Binary files /dev/null and b/bin/win/ggml-cpu-piledriver.dll differ diff --git a/bin/win/ggml-cpu-sandybridge.dll b/bin/win/ggml-cpu-sandybridge.dll new file mode 100755 index 0000000..7a11a52 Binary files /dev/null and b/bin/win/ggml-cpu-sandybridge.dll differ diff --git a/bin/win/ggml-cpu-sapphirerapids.dll b/bin/win/ggml-cpu-sapphirerapids.dll new file mode 100755 index 0000000..6e066c4 Binary files /dev/null and b/bin/win/ggml-cpu-sapphirerapids.dll differ diff --git a/bin/win/ggml-cpu-skylakex.dll b/bin/win/ggml-cpu-skylakex.dll new file mode 100755 index 0000000..e89d670 Binary files /dev/null and b/bin/win/ggml-cpu-skylakex.dll differ diff --git a/bin/win/ggml-cpu-sse42.dll b/bin/win/ggml-cpu-sse42.dll new file mode 100755 index 0000000..f8df371 Binary files /dev/null and b/bin/win/ggml-cpu-sse42.dll differ diff --git a/bin/win/ggml-cpu-x64.dll b/bin/win/ggml-cpu-x64.dll new file mode 100755 index 0000000..fb92c66 Binary files /dev/null and b/bin/win/ggml-cpu-x64.dll differ diff --git a/bin/win/ggml-cpu-zen4.dll b/bin/win/ggml-cpu-zen4.dll new file mode 100755 index 0000000..469b293 Binary files /dev/null and b/bin/win/ggml-cpu-zen4.dll differ diff --git a/bin/win/ggml-rpc.dll b/bin/win/ggml-rpc.dll new file mode 100755 index 0000000..797f6c1 Binary files /dev/null and b/bin/win/ggml-rpc.dll differ diff --git a/bin/win/ggml.dll b/bin/win/ggml.dll new file mode 100755 index 0000000..5be8bad Binary files /dev/null and b/bin/win/ggml.dll differ diff --git a/bin/win/libomp140.x86_64.dll b/bin/win/libomp140.x86_64.dll new file mode 100755 index 0000000..7c0dd14 Binary files /dev/null and b/bin/win/libomp140.x86_64.dll differ diff --git a/bin/win/llama-batched-bench.exe b/bin/win/llama-batched-bench.exe new file mode 100755 index 0000000..44dda49 Binary files /dev/null and b/bin/win/llama-batched-bench.exe differ diff --git a/bin/win/llama-bench.exe b/bin/win/llama-bench.exe new file mode 100755 index 0000000..5a625bc Binary files /dev/null and b/bin/win/llama-bench.exe differ diff --git a/bin/win/llama-cli.exe b/bin/win/llama-cli.exe new file mode 100755 index 0000000..3b14723 Binary files /dev/null and b/bin/win/llama-cli.exe differ diff --git a/bin/win/llama-completion.exe b/bin/win/llama-completion.exe new file mode 100755 index 0000000..e7ea116 Binary files /dev/null and b/bin/win/llama-completion.exe differ diff --git a/bin/win/llama-fit-params.exe b/bin/win/llama-fit-params.exe new file mode 100755 index 0000000..b3d6333 Binary files /dev/null and b/bin/win/llama-fit-params.exe differ diff --git a/bin/win/llama-gemma3-cli.exe b/bin/win/llama-gemma3-cli.exe new file mode 100755 index 0000000..e312d41 Binary files /dev/null and b/bin/win/llama-gemma3-cli.exe differ diff --git a/bin/win/llama-gguf-split.exe b/bin/win/llama-gguf-split.exe new file mode 100755 index 0000000..cd61fd0 Binary files /dev/null and b/bin/win/llama-gguf-split.exe differ diff --git a/bin/win/llama-imatrix.exe b/bin/win/llama-imatrix.exe new file mode 100755 index 0000000..0c98202 Binary files /dev/null and b/bin/win/llama-imatrix.exe differ diff --git a/bin/win/llama-llava-cli.exe b/bin/win/llama-llava-cli.exe new file mode 100755 index 0000000..5424445 Binary files /dev/null and b/bin/win/llama-llava-cli.exe differ diff --git a/bin/win/llama-minicpmv-cli.exe b/bin/win/llama-minicpmv-cli.exe new file mode 100755 index 0000000..e312d41 Binary files /dev/null and b/bin/win/llama-minicpmv-cli.exe differ diff --git a/bin/win/llama-mtmd-cli.exe b/bin/win/llama-mtmd-cli.exe new file mode 100755 index 0000000..09ec55a Binary files /dev/null and b/bin/win/llama-mtmd-cli.exe differ diff --git a/bin/win/llama-mtmd-debug.exe b/bin/win/llama-mtmd-debug.exe new file mode 100755 index 0000000..d646016 Binary files /dev/null and b/bin/win/llama-mtmd-debug.exe differ diff --git a/bin/win/llama-perplexity.exe b/bin/win/llama-perplexity.exe new file mode 100755 index 0000000..23c96c6 Binary files /dev/null and b/bin/win/llama-perplexity.exe differ diff --git a/bin/win/llama-quantize.exe b/bin/win/llama-quantize.exe new file mode 100755 index 0000000..38c4337 Binary files /dev/null and b/bin/win/llama-quantize.exe differ diff --git a/bin/win/llama-qwen2vl-cli.exe b/bin/win/llama-qwen2vl-cli.exe new file mode 100755 index 0000000..e312d41 Binary files /dev/null and b/bin/win/llama-qwen2vl-cli.exe differ diff --git a/bin/win/llama-results.exe b/bin/win/llama-results.exe new file mode 100755 index 0000000..fca7743 Binary files /dev/null and b/bin/win/llama-results.exe differ diff --git a/bin/win/llama-server.exe b/bin/win/llama-server.exe new file mode 100755 index 0000000..ba48faa Binary files /dev/null and b/bin/win/llama-server.exe differ diff --git a/bin/win/llama-template-analysis.exe b/bin/win/llama-template-analysis.exe new file mode 100755 index 0000000..651cde3 Binary files /dev/null and b/bin/win/llama-template-analysis.exe differ diff --git a/bin/win/llama-tokenize.exe b/bin/win/llama-tokenize.exe new file mode 100755 index 0000000..2fa4b9c Binary files /dev/null and b/bin/win/llama-tokenize.exe differ diff --git a/bin/win/llama-tts.exe b/bin/win/llama-tts.exe new file mode 100755 index 0000000..6b3a1d5 Binary files /dev/null and b/bin/win/llama-tts.exe differ diff --git a/bin/win/llama.dll b/bin/win/llama.dll new file mode 100755 index 0000000..b5926cc Binary files /dev/null and b/bin/win/llama.dll differ diff --git a/bin/win/mtmd.dll b/bin/win/mtmd.dll new file mode 100755 index 0000000..dcd7c70 Binary files /dev/null and b/bin/win/mtmd.dll differ diff --git a/bin/win/rpc-server.exe b/bin/win/rpc-server.exe new file mode 100755 index 0000000..8516732 Binary files /dev/null and b/bin/win/rpc-server.exe differ diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..e2b0c01 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# deploy.sh — MiniLlama auf einen USB-Stick deployen +# Kopiert alles inklusive Modelle (löst Symlinks auf) an ein Ziel. +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" + +if [ $# -lt 1 ]; then + echo "Verwendung: $0 " + echo "" + echo "Beispiele:" + echo " $0 /media/benutzer/STICKNAME/MiniLlama" + echo " $0 /tmp/minillama-export" + exit 1 +fi + +TARGET="$1" + +echo "📦 MiniLlama deployen nach: $TARGET" +echo "" + +# Zielverzeichnis vorbereiten +if [ -d "$TARGET" ]; then + echo "⚠️ Ziel existiert bereits: $TARGET" + read -rp "Überschreiben? (y/N): " CONFIRM + if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then + echo "Abgebrochen." + exit 1 + fi + rm -rf "$TARGET" +fi + +mkdir -p "$TARGET" + +echo "📁 Kopiere Struktur (ohne models)..." +# Nur Struktur + Dateien ohne models kopieren (Modelle kommen separat mit Auflösung) +rsync -a --exclude='/models/' "$SCRIPT_DIR/" "$TARGET/" 2>/dev/null || \ + cp -r "$SCRIPT_DIR/bin" "$SCRIPT_DIR/start.sh" "$SCRIPT_DIR/start.bat" "$SCRIPT_DIR/README.md" "$TARGET/" + +mkdir -p "$TARGET/models" + +echo "📦 Kopiere Modelle (löst Symlinks auf)..." +MODEL_COUNT=0 +for f in "$SCRIPT_DIR"/models/*.gguf; do + if [ -f "$f" ] || [ -L "$f" ]; then + NAME=$(basename "$f") + echo " → $NAME" + cp -L "$f" "$TARGET/models/$NAME" + MODEL_COUNT=$((MODEL_COUNT + 1)) + fi +done + +echo "" +echo "✅ Fertig! $MODEL_COUNT Modelle kopiert nach:" +echo " $TARGET" +echo "" +echo "Jetzt vom Stick starten:" +echo " Linux: $TARGET/start.sh" +echo " Windows: $TARGET\\start.bat" diff --git a/models/Qwen3.5-4B-Q5_K_M.gguf b/models/Qwen3.5-4B-Q5_K_M.gguf new file mode 120000 index 0000000..1abcb87 --- /dev/null +++ b/models/Qwen3.5-4B-Q5_K_M.gguf @@ -0,0 +1 @@ +/media/xray/llama/llama/models/Qwen3.5-4B-Q5_K_M.gguf \ No newline at end of file diff --git a/models/gemma-4-E2B-it-Q4_K_M.gguf b/models/gemma-4-E2B-it-Q4_K_M.gguf new file mode 120000 index 0000000..eb1880a --- /dev/null +++ b/models/gemma-4-E2B-it-Q4_K_M.gguf @@ -0,0 +1 @@ +/media/xray/llama/llama/models/gemma-4-E2B-it-Q4_K_M.gguf \ No newline at end of file diff --git a/models/qwen2.5-1.5b-instruct-q4_k_m.gguf b/models/qwen2.5-1.5b-instruct-q4_k_m.gguf new file mode 120000 index 0000000..afd08c3 --- /dev/null +++ b/models/qwen2.5-1.5b-instruct-q4_k_m.gguf @@ -0,0 +1 @@ +/media/xray/llama/llama/models/qwen2.5-1.5b-instruct-q4_k_m.gguf \ No newline at end of file diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..c937fc9 --- /dev/null +++ b/start.bat @@ -0,0 +1,66 @@ +@echo off +:: MiniLlama — Portable LLM Chat Launcher (Windows) +:: Erkennt automatisch alle .gguf-Modelle im models/-Ordner und zeigt ein Menü. +cd /d "%~dp0" + +echo. +echo ======================================= +echo MiniLlama — Modellauswahl +echo ======================================= +echo. + +setlocal enabledelayedexpansion + +:: --- Modelle einsammeln --- +set count=0 +for %%f in (models\*.gguf) do ( + set /a count+=1 + set "model[!count!]=%%f" + set "modelname[!count!]=%%~nxf" +) + +if %count% equ 0 ( + echo Fehler: Keine .gguf-Modelle im models/-Ordner gefunden. + echo Legen Sie GGUF-Dateien in das models/-Verzeichnis. + echo. + pause + exit /b 1 +) + +:: --- Menü anzeigen --- +for /l %%i in (1,1,%count%) do ( + echo %%i^) !modelname[%%i]! +) +echo. + +:: --- Auswahl --- +:choose +set /p sel="Auswahl [1-%count%] oder q=beenden: " +if /i "!sel!"=="q" exit /b 0 + +:: Prüfen ob Zahl +set "isnum=" +for /f "delims=0123456789" %%a in ("!sel!") do set isnum=%%a +if defined isnum goto badchoice +if !sel! lss 1 goto badchoice +if !sel! gtr %count% goto badchoice + +set idx=!sel! +goto launch + +:badchoice +echo Bitte eine Zahl zwischen 1 und %count% eingeben. +goto choose + +:: --- Starten --- +:launch +echo. +echo Starte: !modelname[%idx%]! +echo. +bin\win\llama-cli.exe -m "!model[%idx%]!" -cnv +if errorlevel 1 ( + echo. + echo Fehler beim Start. Druecken Sie eine Taste. + pause +) +endlocal diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..bdda440 --- /dev/null +++ b/start.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# MiniLlama — Portable LLM Chat Launcher (Linux) +# Erkennt automatisch alle .gguf-Modelle im models/-Ordner und zeigt ein Menü. +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +cd "$SCRIPT_DIR" + +# ------------------------------------------------------------ +# Modelle aus dem models/-Ordner lesen +# ------------------------------------------------------------ +mapfile -t MODELS < <(find models/ -maxdepth 1 -name '*.gguf' -type f -o -type l | sort) +MODEL_COUNT="${#MODELS[@]}" + +if [ "$MODEL_COUNT" -eq 0 ]; then + echo "❌ Keine .gguf-Modelle im models/-Ordner gefunden." + echo " Lege GGUF-Dateien in das models/-Verzeichnis." + exit 1 +fi + +# ------------------------------------------------------------ +# Menü anzeigen +# ------------------------------------------------------------ +echo "" +echo "╔═══════════════════════════════════╗" +echo "║ 🦙 MiniLlama — Modellauswahl ║" +echo "╚═══════════════════════════════════╝" +echo "" +for i in "${!MODELS[@]}"; do + NAME=$(basename "${MODELS[$i]}") + SIZE=$(numfmt --to=iec --format='%.1f' "$(stat --printf='%s' -L "${MODELS[$i]}" 2>/dev/null)" 2>/dev/null || echo "?") + printf " %2d) %s (%s)\n" $((i + 1)) "$NAME" "$SIZE" +done +echo "" + +# ------------------------------------------------------------ +# Auswahl +# ------------------------------------------------------------ +SELECTION="" +while [ -z "$SELECTION" ]; do + read -rp "Auswahl [1-$MODEL_COUNT] oder q=beenden: " INPUT + if [ "$INPUT" = "q" ]; then exit 0; fi + if [[ "$INPUT" =~ ^[0-9]+$ ]] && [ "$INPUT" -ge 1 ] && [ "$INPUT" -le "$MODEL_COUNT" ]; then + SELECTION=$((INPUT - 1)) + else + echo "❌ Bitte eine Zahl zwischen 1 und $MODEL_COUNT eingeben." + fi +done + +MODEL_PATH="${MODELS[$SELECTION]}" +MODEL_NAME=$(basename "$MODEL_PATH") + +echo "" +echo "🔵 Starte: $MODEL_NAME" +echo "" + +# ------------------------------------------------------------ +# llama-cli starten +# ------------------------------------------------------------ +exec ./bin/linux/llama-cli -m "$MODEL_PATH" -cnv