CMacD/AIC_PHASE1_POC
0
Assortment Intelligence Classifier (AIC)
Streamlit application for automated product attribute mapping. Analysts upload a flat-file assortment and the pipeline maps each product to validated MDM attribute values using historical lookup and ML classifiers, outputting a QC-ready Excel workbook. This gets passed to Phase 2 and 3 which perform data cleaning/transformations and analyst qc.
Deployment
The app runs as a Docker container exposing port 7860.
docker build -t aic .
docker run -p 7860:7860 aicEntry point: 1_Phase_1_Attribute_Mapping.py (Streamlit multipage app).
Repository structure
1_Phase_1_Attribute_Mapping.py # Phase 1 — attribute mapping (Streamlit page 1)
pages/
2_Phase_3_Pipeline_and_QC.py # Phase 2 & 3 — processing pipeline and QC (page 2)
phase3_package/ # Phase 3 backend modules
Ensemble.py # Predictor combiner and QC annotator
MappingLookup.py # Fuzzy historical match engine
TextMatch.py # BM25 text retrieval predictor
RandomForest_XGB.py # XGBoost TF-IDF classifier
_write_results.py # Excel output writer
aic_utils.py # Shared utilities
Dockerfile
requirements.txt
.streamlit/config.toml
test/ # Unit testsRequirements
Python 3.11. All dependencies in requirements.txt.
CI
.github/workflows/sync.yml syncs the main branch to the Hugging Face Spaces demo on every push. Requires HF_TOKEN secret configured in the repository.
