Skip to content

feat(detect): unlimited-ocr / deepseek-ocr → vision_ocr family - #86

Merged
baylitoo merged 2 commits into
masterfrom
feat/arch-unlimited-ocr
Aug 4, 2026
Merged

feat(detect): unlimited-ocr / deepseek-ocr → vision_ocr family#86
baylitoo merged 2 commits into
masterfrom
feat/arch-unlimited-ocr

Conversation

@baylitoo

@baylitoo baylitoo commented Aug 3, 2026

Copy link
Copy Markdown
Owner

What

Maps the unlimited-ocr / deepseek-ocr / deepseek2-ocr architectures to the vision_ocr family in the arch→family registry, so /hf/inspect returns supported (deploy now) for Unlimited-OCR instead of needs_family.

Why

UnlimitedOCRForCausalLM IS the DeepSeek-OCR architecture (SAM-ViT-B + CLIP-L/14 vision tower → projector → DeepSeek-V2 MoE decoder). Its GGUF general.architecture is unlimited-ocr. llama.cpp added mtmd support in ggml-org/llama.cpp#24969 (merged 2026-06-24).

Runtime gate (separate from this change)

Serving it needs a llama-server built after that merge — the Dockerfile clones llama.cpp HEAD unpinned, so a serving image rebuild picks it up. The definitive check is empirical: deploy and read the deployment's runtime log.

Tests

tests/test_arch_detect.py — all three arch spellings resolve to vision_ocr (supported). 13 passed.

🤖 Generated with Claude Code

baylitoo and others added 2 commits August 3, 2026 23:11
…r family

Unlimited-OCR is the DeepSeek-OCR architecture; its GGUF general.architecture
is "unlimited-ocr" (llama.cpp mtmd support in ggml-org/llama.cpp#24969, merged
2026-06-24). Add unlimited-ocr / deepseek-ocr / deepseek2-ocr → vision_ocr so
the inspect verdict reports "supported" (deploy now) instead of needs_family.
Requires a llama-server built after that merge — a serving image rebuild.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
"supported" only means a family contract exists — the node's llama-server
must also be new enough to LOAD the arch, a separate gate. resolve_family now
carries a runtime_note for archs whose serving support landed recently
(unlimited-ocr / deepseek-ocr → "needs a llama-server built after
llama.cpp#24969; rebuild the serving image if it won't load"), inspect_repo
surfaces it, and the HF search panel shows it as an amber caveat under the
verdict. A user isn't misled into a deploy that fails at load on an old build.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@baylitoo

baylitoo commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Added the runtime-support honesty on top of the arch mapping (commit 4a1e308):

  • SupportVerdict.runtime_note — a caveat about the SEPARATE runtime gate. supported means "we have a family contract"; it does NOT guarantee the node's llama-server can load the arch. For unlimited-ocr / deepseek-ocr the note reads "needs a llama-server built after llama.cpp#24969 (2026-06-24) — rebuild the serving image if the deploy fails to load".
  • /hf/inspect returns it; the HF search panel shows it as an amber caveat under the verdict.

So a supported verdict on Unlimited-OCR no longer misleads a user on an older serving image into a deploy that fails at load — they see the rebuild hint up front, and the runtime log confirms empirically.

14 tests pass.

@baylitoo
baylitoo merged commit dbbba01 into master Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant