#!/usr/bin/env bash # Launch baidu/Unlimited-OCR via llama-server (OpenAI-compatible, multimodal). # Foreground — Ctrl+C to stop. All paths overridable via env. set -euo pipefail export CUDA_VISIBLE_DEVICES="${CUDA_VISIBLE_DEVICES:-1}" BIN="${LLAMA_SERVER_BIN:-/usr/local/bin/llama-server}" MODEL="${OCR_MODEL:-$HOME/models/Unlimited-OCR-Q4_K_M.gguf}" MMPROJ="${OCR_MMPROJ:-$HOME/models/mmproj-Unlimited-OCR-F16.gguf}" HOST="${OCR_HOST:-127.0.0.1}" PORT="${OCR_PORT:-11436}" CTX="${OCR_CTX:-32768}" TEMP="${OCR_TEMP:-0}" REPEAT_PENALTY="${OCR_REPEAT_PENALTY:-1.2}" [[ -x $BIN ]] || { echo "MISSING (or not executable): $BIN" >&2; exit 1; } [[ -f $MODEL ]] || { echo "MISSING: $MODEL" >&2; exit 1; } [[ -f $MMPROJ ]] || { echo "MISSING: $MMPROJ" >&2; exit 1; } exec "$BIN" \ --model "$MODEL" \ --mmproj "$MMPROJ" \ --alias Unlimited-OCR \ --host "$HOST" \ --port "$PORT" \ --temp "$TEMP" \ --repeat-penalty "$REPEAT_PENALTY" \ --ctx-size "$CTX" \ --n-gpu-layers 99 \ --flash-attn on \ --cont-batching \ --parallel 1 \ --cache-type-k q4_0 \ --cache-type-v q4_0 \ --metrics