Spaces:
Sleeping
Sleeping
Commit History
-
feat(deploy): Render blueprint + GHCR release flow for the ML service
Adds the wiring to deploy the Python ML service as a Render Private Service behind Spring Boot. Topology: Angular (Static Site) → Spring Boot (Web Service) → guichetoi-ml (pserv) The private service has no public URL — only Spring Boot can reach it at http://guichetoi-ml:10000. No CORS, no public attack surface. Why GHCR instead of Render's auto-build: models/ is gitignored (~2 GB of LayoutLMv3 weights), so the GitHub runner can't produce a complete image. `make release` builds locally (where models/ exists) and pushes to GHCR. Render pulls from there. Files: render.yaml One-pserv blueprint. Pro plan required (2 GB RAM — LayoutLMv3 holds ~1.2 GB resident; Starter OOMs). Pulls ghcr.io/medaziz012/guichetoi-ml:latest, polls /health, autoDeploy: true on :latest tag updates. Dockerfile CMD switched to shell form so PORT expands at runtime. PORT defaults to 8000 locally; Render injects 10000. …9452c00
-
chore: wire Dockerfile, Makefile, README, gitignore to the new layout
Dockerfile - COPY src/ ./src/ (was: COPY 4_inference.py 6_recommendation_engine.py …) - COPY assets/label_mappings.json (was: data2/label_mappings.json) - + pip install --no-deps -e . so uvicorn can resolve guichetoi.api.main - CMD updated: uvicorn guichetoi.api.main:app .dockerignore - Excludes apps/, scripts/, tools/, tests/, docs/, .github/, CONTRIBUTING.md - data2/ now broadly ignored (label_mappings moved to assets/) - Drops obsolete dev-script names (debug_*, find_*, etc. now under tools/) Makefile - help text updated to reflect new tree (181 tests; api & docker targets) - demo: streamlit run apps/streamlit_demo.py - + api target: uvicorn guichetoi.api.main:app - + docker target: docker build -t guichetoi-ml . - lint: ruff + mypy against src/ - install: pip install -e .[dev,ui] + requirements.txt pins - removed broken `audit` target (referenced a non-existent worktree path) .gitignore - drop `!data2/label_mappings.json` exception (file now lives i…9203c28 -
Add v3 extractor, recommendation engine, CMS generator, Streamlit demo, and tests
- New: LayoutLMv3 v3 extractor (3_train_extractor_v3.py) - New: rule engine for demande complétude verdict (6_recommendation_engine.py) - New: CMS IMMO 9 BANBOU xlsx generator (cms_generator.py) - New: production Streamlit demo with sample loader (streamlit_demo.py) - New: pytest suite (cms, inference postprocess, recommendation engine) - New: utility scripts (debug_*, batch_*, label.py, logement_improvements.py) - New: Makefile, mypy.ini, pytest.ini - Fix: 4_inference.py — anchor Config paths to script dir (works from any CWD) - Drop: deprecated 3_train_extractor.py, mapping.py, metadata_orange.csv - Gitignore: customer datasets (DataSet1/, DataSet2/), Label Studio exports, assets/sample_verdicts.json (real extracted PII)33ddb61