#!/usr/bin/env bash # Spark-X2.6-4B lokal ausprobieren – macOS # Automatisch erzeugt von Tokenstrom (tokenstrom.de). # Aufruf: bash try_mac.sh # Ollama (Standard) # MODE=hf bash try_mac.sh # Python/transformers set -e cd "$(dirname "$0")" echo "== Spark-X2.6-4B ==" if [ "${MODE:-ollama}" = "ollama" ]; then echo "== Ollama ==" if ! command -v ollama >/dev/null 2>&1; then if command -v brew >/dev/null 2>&1; then brew install ollama; else echo "Bitte zuerst die Ollama-App installieren: https://ollama.com/download/mac"; exit 1; fi fi curl -s http://localhost:11434/api/tags >/dev/null 2>&1 || (ollama serve >/dev/null 2>&1 &) sleep 3 MODEL="${MODEL:-}" # Passende Variante für deine Hardware auswählen (eigene Wahl: MODEL= bash try_mac.sh) if [ -z "${MODEL:-}" ]; then MEM_GB=$(( $(sysctl -n hw.memsize) / 1073741824 * 7 / 10 )) # ca. 70 % des Speichers nutzt die GPU MODEL=$(printf '%s\n' "5.0 hf.co/XHToken/Spark-X2.6-4B-GGUF:Q4_K_M 1 6.0 hf.co/XHToken/Spark-X2.6-4B-GGUF:Q8_0 0" | awk -v mem="$MEM_GB" ' { need[NR]=$1+0; ref[NR]=$2; def[NR]=$3+0 } END { mem=mem+0; for (i=1;i<=NR;i++) if (def[i]==1 && need[i]<=mem) { print ref[i]; exit } best=ref[1]; for (i=1;i<=NR;i++) if (need[i]<=mem) best=ref[i]; print best }') echo "Verfügbarer Speicher: ca. ${MEM_GB} GB -> gewählte Variante: $MODEL" fi MODEL="${MODEL:-hf.co/XHToken/Spark-X2.6-4B-GGUF}" echo "Lade $MODEL herunter (beim ersten Mal dauert das je nach Größe einige Minuten) ..." ollama pull "$MODEL" echo "" echo "Fertig! Tippe jetzt deine Frage ein und drücke Enter. Beenden mit /bye" exec ollama run "$MODEL" fi echo "== Python / Hugging Face ==" python3 -m venv .venv-spark-x2-6-4b source .venv-spark-x2-6-4b/bin/activate pip install -q -U pip pip install -q -U torch transformers accelerate python3 demo.py