Repository navigation
Pre-production fixes and test added
·
45 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
Production-readiness release. Thresholds, weights and word lists are unchanged and batch output is identical, so DOC_LINE_CATEG_1210 stays valid.
Changed for API callers
/processand/score_recordnow run the CPU pre-filter first, as the batch pipeline does. Numeric, code-like and blank lines come backNon-textorEmpty(score 0.0, languageN/A) without a model call; every other line is scored on its repaired text. Such lines that were answeredClear,NoisyorTrashbefore change category. A page's score averagesClear,NoisyandTrashlines only.PPL_BATCH_LINESdefaults to 32. A.envcopied from an older.env.examplestill sets 128.- GPU work is serialised per process, and
GET /health?deep=truefails while no model is loaded. - Paradata names the perplexity model and
layoutlmv3when they ran, so the recorded licence no longer understates an API run./score_recordtakes its page and line caps from the configuration. - A JSON or text upload without
pageonto a multi-page record is skipped with a warning instead of landing on page 1.
Reliability
- A perplexity batch that runs out of GPU memory is split and retried; only a line that fails on its own scores 99999. Values are unchanged.
- The ordering of
CATEG_TRASH_SCORE_MAX<CATEG_NOISY_SCORE_MAX,SHORT_PPL_CAP<PERPLEXITY_THRESHOLD_MAXand the positive weight sum is checked at startup: the service refuses to start andclassify_TEXT.pyexits before loading a model. - Per-document CSVs are written as
<doc>.csv.partand renamed when complete, so a failed re-classification keeps the previous file. A leftover.partis safe to delete. - Exit status is non-zero when
run_pipeline.pyaborts a stage, whenclassify_TEXT.pyloses its GPU or fails every document, and whenpage_split.pyfinds no input directory. Orchestrators that treated these as success will now see them. - Config files are read as UTF-8, and the Qwen-scale warning no longer fires on every run.
Packaging
- API-only installs list pandas and tqdm, and the torch spec matches the requirements.
- The security scan targets the API image.
setup/setup_api_server.shfetches FastText at the Dockerfile's pinned revision and checks its SHA-256.
Documentation and tests (#5)
docs/categorization_logic.mdis rebuilt from the code: order of evaluation, overrides with what blocks each, language tiers, the four document passes, foreign-language limits, worked examples.- README Step 4 is restructured.
tests/test_categorization_walkthrough.pyfollows a line through every step and pins the known limits.
Warning
No container images were published for this tag (its Docker run stopped at the test step). Use v1.12.1-beta: the same code, with images.
Full Changelog: v1.11.0-beta...v1.12.0-beta