# vLLM for Surya-2 OCR, on the SAME version the rest of the fleet runs.
#
# This file used to pin v0.20.1, because that is the version `surya-ocr` itself
# spawns (surya/settings.py:96 VLLM_DOCKER_IMAGE = "vllm/vllm-openai:v0.20.1")
# and because a page of crisp synthetic Italian came back from 0.27.1 with one
# U+FFFD per accented letter. The pin was the wrong conclusion from a real
# measurement: surya-ocr-2's tokenizer is BYTE-level, so a U+FFFD per accent
# does not show the model chose it — it shows bytes being split and decoded
# separately somewhere downstream. A production fleet has since been serving
# surya-ocr-2 on 0.27.1 (`coderai-vllm`) and reading accented text correctly.
#
# So the version difference is gone and the reason for this image changed: it is
# no longer "a different vLLM" but "the OCR PIPELINE on the pod" — the surya
# client venv beside the model (vllm-ocr.venv-surya.txt), so a page is
# rasterised and read on the card instead of crossing the network as a bitmap.
# Keep this list identical to profiles/vllm.venv-vllm.txt: two images serving
# the same weights on two vLLMs is exactly the invisible difference that cost
# three rounds of blaming a pod image for an orchestrator bug.
--extra-index-url https://wheels.vllm.ai/0.27.1/cu129
--extra-index-url https://download.pytorch.org/whl/cu129
vllm==0.27.1+cu129
torch==2.13.0+cu129
torchvision==0.28.0+cu129
torchaudio==2.11.0+cu129
torchcodec==0.16.0+cu129
