- 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
37 lines
1.1 KiB
Bash
Executable File
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
|