unlimited-ocr-mcp/run-ocr-server.sh
Jarian Cottingham c0fa9148b7 Initial commit: Unlimited-OCR MCP for opencode
- mcp/server.py: stdlib-only MCP stdio server exposing ocr_image tool
- ocr-posted.py: CLI equivalent (DB lookup + OCR via llama-server)
- run-ocr-server.sh: llama-server launcher with tuned sampling flags
- skill/ocr-image: opencode skill teaching agents when/how to call it
- README with full install instructions
2026-08-22 06:24:57 +00:00

37 lines
1.1 KiB
Bash
Executable File

#!/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