#!/bin/bash # Download and setup Omni Senter 3B # This script downloads the base Qwen2.5-Omni GGUF and applies our LoRA adapter set -e MODEL_DIR="$HOME/.cache/llama.cpp/models" mkdir -p "$MODEL_DIR" echo "=== Omni Senter 3B Setup ===" # Download base model (Qwen2.5-Omni GGUF) BASE_MODEL="$MODEL_DIR/Qwen2.5-Omni-3B-Q4_K_M.gguf" if [ ! -f "$BASE_MODEL" ]; then echo "Downloading Qwen2.5-Omni-3B GGUF model..." huggingface-cli download ggml-org/Qwen2.5-Omni-3B-GGUF Qwen2.5-Omni-3B-Q4_K_M.gguf \ --local-dir "$MODEL_DIR" \ --token HF_TOKEN else echo "Base model already exists: $BASE_MODEL" fi # Download mmproj MMPROJ="$MODEL_DIR/mmproj-Qwen2.5-Omni-3B-Q8_0.gguf" if [ ! -f "$MMPROJ" ]; then echo "Downloading mmproj..." huggingface-cli download ggml-org/Qwen2.5-Omni-3B-GGUF mmproj-Qwen2.5-Omni-3B-Q8_0.gguf \ --local-dir "$MODEL_DIR" \ --token HF_TOKEN else echo "mmproj already exists: $MMPROJ" fi # Download LoRA adapter LORA_DIR="$HOME/.cache/llama.cpp/omni-senter" mkdir -p "$LORA_DIR" echo "Downloading Omni Senter LoRA adapter..." huggingface-cli download sovthpaw/Omni-Senter-3B senter-lora-500.gguf \ --local-dir "$LORA_DIR" \ --token HF_TOKEN LORA_FILE="$LORA_DIR/senter-lora-500.gguf" # Apply LoRA and create merged model MERGED_MODEL="$MODEL_DIR/omni-senter-merged.gguf" echo "Applying LoRA adapter..." ./llama-export-lora -m "$BASE_MODEL" -o "$MERGED_MODEL" --lora "$LORA_FILE" echo "" echo "=== Setup Complete! ===" echo "Run with:" echo " llama-server -m $MERGED_MODEL --mmproj $MMPROJ --port 8107"