PJ OCR JAXJS Medium Model Set
Browser-ready JAXJS artifacts for the medium PJ OCR document parsing pipeline. The model set preserves MinerU-compatible document structure and is intended to run locally in the browser through jax-js and WebGPU.
This repository packages converted artifacts only. Each model's contract.json records the upstream Hugging Face repository, pinned source revision, source file checksums, conversion contract, and Apache-2.0 license provenance.
Included Models
| Pipeline role | Artifact | Weight dtype | Weight bytes |
|---|---|---|---|
| Layout detection | pp-doclayout-l-fp16-jaxjs |
FP16 | 64,568,988 |
| Formula recognition | pp-formulanet-plus-s-fp16-jaxjs |
FP16 | 128,454,765 |
| Table recognition | slanet-plus-table-jaxjs |
FP32 | 7,687,834 |
| OCR detection | ppocr-v6-medium-det-jaxjs |
FP32 | 61,974,931 |
| OCR recognition | ppocr-v6-medium-rec-jaxjs |
FP32 | 76,474,177 |
The selection is defined by model-sets/medium.json. The filtered runtime manifest is models-jaxjs/manifest.json.
Repository Layout
model-sets/
medium.json
models-jaxjs/
manifest.json
pp-doclayout-l-fp16-jaxjs/
pp-formulanet-plus-s-fp16-jaxjs/
slanet-plus-table-jaxjs/
ppocr-v6-medium-det-jaxjs/
ppocr-v6-medium-rec-jaxjs/
SHA256SUMS
Every artifact directory includes:
contract.json: loader and provenance contract, including the expected Safetensors checksum.metadata.json: converted Paddle graph plan and preprocessing/postprocessing metadata.weights.safetensors: active weights selected by the contract.sidecars/: inference configuration and dictionaries required by the model-specific loader.constants/: non-weight tensor shards when required. PP-DocLayout-L includes one boolean constant shard.
Browser Loading
Preserve the repository paths when resolving files. A browser loader can use a pinned Hub commit as its artifact base URL:
const repo = "OWNER/pj-ocr-jaxjs-medium";
const revision = "PINNED_COMMIT_SHA";
const artifactBase = `https://huggingface.co/${repo}/resolve/${revision}/`;
async function fetchArtifact(path: string): Promise<ArrayBuffer> {
const response = await fetch(new URL(path, artifactBase));
if (!response.ok) {
throw new Error(`Artifact fetch failed (${response.status}): ${path}`);
}
return response.arrayBuffer();
}
const manifest = await fetchArtifact("models-jaxjs/manifest.json");
Use a commit SHA rather than main in production so contracts, metadata, sidecars, and weights remain an atomic set. Cache immutable commit-pinned URLs in Cache Storage, OPFS, or another durable browser store.
Integrity
SHA256SUMS covers every packaged file other than itself. The weight checksum in each contract.json is also validated by the PJ OCR JAXJS artifact workflow.
License and Provenance
The selected upstream PaddlePaddle model repositories declare Apache-2.0 licensing. See each contract.json for its exact upstream repository and revision. The repository-level license text is provided in LICENSE.