FastAPI service wrapping the Surya-OCR-2 model (datalab-to) served through vLLM: legacy /v1/api/ai/* endpoints, an OpenAI-compatible /v1/chat/completions endpoint, a coalescing request batcher, a local OCR CLI, Docker packaging, multilingual example outputs, and quantization/concurrency benchmarks. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 lines
726 B
Python
22 lines
726 B
Python
def test_app_exposes_all_legacy_and_openai_routes():
|
|
from surya.endpoint.app import app
|
|
|
|
paths = {getattr(r, "path", None) for r in app.routes}
|
|
expected = {
|
|
"/home",
|
|
"/v1/api/ai/suya_ocr",
|
|
"/v1/api/ai/suya_ocr/",
|
|
"/v1/api/ai/suya_ocr_vllm",
|
|
"/v1/api/ai/suya_ocr_vllm/",
|
|
"/v1/api/ai/suya_ocr_vllm/health",
|
|
"/v1/api/ai/suya_text_det",
|
|
"/v1/api/ai/suya_text_det/",
|
|
"/v1/api/ai/suya_layout_det",
|
|
"/v1/api/ai/suya_layout_det/",
|
|
"/v1/api/ai/suya_table_rec",
|
|
"/v1/api/ai/suya_table_rec/",
|
|
"/image2text",
|
|
"/v1/chat/completions",
|
|
}
|
|
assert expected.issubset(paths), f"missing routes: {expected - paths}"
|