# Reproducing the conversion These instructions reproduce the publication inputs from pinned upstream revisions. They intentionally download the original checkpoint from Hugging Face and do not bypass gated access or licensing. ## Inputs - `datalab-to/chandra-ocr-2` at `af93b47dba1b47b6640c86ccf487ed2260ab9a09` - `ggml-org/llama.cpp` at `8f5ab832ca7d8a7b4f23687693fb8b0ecbc227e7` - Python 3.12 The pinned source `model.safetensors` must hash to: ```text 0804568be9f099d6479fad9ed77a4da4611f3c1e7bc6e009af7dce45e8aa3847 ``` ## Commands ```bash git clone https://github.com/ggml-org/llama.cpp.git git -C llama.cpp checkout --detach 8f5ab832ca7d8a7b4f23687693fb8b0ecbc227e7 python3.12 -m venv llama.cpp/.venv-convert llama.cpp/.venv-convert/bin/pip install \ -r llama.cpp/requirements/requirements-convert_hf_to_gguf.txt \ 'huggingface_hub[cli]' llama.cpp/.venv-convert/bin/hf download datalab-to/chandra-ocr-2 \ --revision af93b47dba1b47b6640c86ccf487ed2260ab9a09 \ --local-dir chandra-ocr-2-source sha256sum chandra-ocr-2-source/model.safetensors llama.cpp/.venv-convert/bin/python llama.cpp/convert_hf_to_gguf.py \ chandra-ocr-2-source \ --outfile chandra-ocr-2.BF16.gguf \ --outtype bf16 \ --no-mtp llama.cpp/.venv-convert/bin/python llama.cpp/convert_hf_to_gguf.py \ chandra-ocr-2-source \ --outfile chandra-ocr-2.mmproj-bf16.gguf \ --outtype bf16 \ --mmproj sha256sum chandra-ocr-2.BF16.gguf chandra-ocr-2.mmproj-bf16.gguf ``` The converter can add its `mmproj-` prefix depending on the exact output name. Rename the generated projector to `chandra-ocr-2.mmproj-bf16.gguf` before comparing it with the published manifest. ## Expected outputs ```text 4e9d5fa9854cf820d4425d28034df31ec1221a7f9d1082b0c4359d79f318cb56 chandra-ocr-2.BF16.gguf 54ddb8285933512cdbf1c84238aa0435b473a6efef2caeda8ca802c2899e87b3 chandra-ocr-2.mmproj-bf16.gguf ``` If the hashes differ, retain the new converter revision, complete command line, source revision, and resulting hashes instead of relabeling the output as this build.