#!/usr/bin/env bash # EmbeddingGemma 2 lokal ausprobieren – Linux # Automatisch erzeugt von Tokenstrom (tokenstrom.de). # Aufruf: bash try_linux.sh set -e cd "$(dirname "$0")" echo "== EmbeddingGemma 2 ==" if command -v nvidia-smi >/dev/null 2>&1; then nvidia-smi --query-gpu=name,memory.total --format=csv,noheader; else echo "Keine NVIDIA-GPU gefunden – läuft auf CPU (langsam)"; fi if true; then echo "== Ollama ==" if ! command -v ollama >/dev/null 2>&1; then command -v zstd >/dev/null 2>&1 || sudo apt-get install -y zstd 2>/dev/null || sudo dnf install -y zstd 2>/dev/null || true curl -fsSL https://ollama.com/install.sh | sh 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_linux.sh) if [ -z "${MODEL:-}" ]; then if command -v nvidia-smi >/dev/null 2>&1; then MEM_GB=$(( $(nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits | sort -n | tail -1) / 1024 )) else MEM_GB=$(( $(awk '/MemTotal/{print $2}' /proc/meminfo) / 1048576 - 4 )) # ohne GPU: Arbeitsspeicher fi MODEL=$(printf '%s\n' "2.5 embeddinggemma-2:270m-bf16-text 0 2.5 embeddinggemma-2:270m 1 2.5 embeddinggemma-2:740m-q8_0 0 3.0 embeddinggemma-2:740m-bf16 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:-embeddinggemma-2}" 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