Spaces:
Running on Zero
Running on Zero
File size: 4,694 Bytes
72ce666 f0fae3f 72ce666 f0fae3f 72ce666 f0fae3f 72ce666 f0fae3f 8f9afd8 f0fae3f 8f9afd8 f0fae3f 8f9afd8 f0fae3f 8f9afd8 f0fae3f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | ---
title: Smart Warehouse AI Assistant
emoji: π
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: 5.9.1
app_file: app.py
pinned: false
license: mit
short_description: LLM warehouse copilot with predictive maintenance
---
# π Smart Warehouse AI Assistant
An LLM-powered, retrieval-grounded AI copilot for automated warehouse
operations -- built as a portfolio / application project. Combines an
**LLM assistant (RAG)**, an **intent classifier**, an **inventory/order
query layer**, and an **Isolation-Forest predictive-maintenance model**,
with a full **Model Evaluation** tab reporting real accuracy/F1/ROC-AUC
metrics on held-out test data.
π **Live demo:** add your Space URL here once deployed, e.g.
`https://huggingface.co/spaces/<your-username>/daifuku-warehouse-ai`
## Tabs
1. **π¬ AI Assistant** β ask free-text warehouse-ops questions; answers are
grounded via TF-IDF retrieval over a small knowledge base and generated
by a hosted LLM (Hugging Face Inference API, with a multi-model fallback
chain), with a transparent retrieval-only fallback and a built-in
**"Test LLM connection" diagnostics button** if no API key is configured
or the call fails. Includes an "About the data" panel explaining the
knowledge base and training data.
2. **π¦ Inventory & Order Query** β natural-language queries over synthetic
inventory / order tables (SKU, zone, order-id extraction), with an
"About the data" panel describing the synthetic tables.
3. **β οΈ Predictive Maintenance** β Isolation Forest anomaly detector over
conveyor/crane motor sensor readings (temperature, vibration, current,
belt speed), with an "About the data" panel describing the synthetic
sensor dataset and failure patterns.
4. **π Model Evaluation** β accuracy, macro-F1, confusion matrices,
ROC-AUC, retrieval hit-rate, and latency benchmarks, all computed on
held-out data by `build_artifacts.py` and rendered as charts (bar
charts, confusion matrices, ROC curve, feature-distribution histograms)
alongside the underlying tables.
5. **βΉοΈ About** β project write-up, architecture diagram, tech stack.
## Quick start (local)
```bash
git clone <this-repo>
cd daifuku-warehouse-ai
pip install -r requirements.txt
# (re)generate datasets, train models, produce evaluation plots/metrics
python build_artifacts.py
# run the app
python app.py
```
Open the printed local URL (usually `http://127.0.0.1:7860`).
## Enabling full LLM responses
The app works out of the box in **retrieval-only fallback mode** (no
external API calls). To enable real LLM-generated answers:
1. Create a Hugging Face access token: https://huggingface.co/settings/tokens
2. Set it as an environment variable / Space secret named `HF_TOKEN`.
3. (Optional) Set `LLM_MODEL_ID` to override the default model
(`Qwen/Qwen2.5-7B-Instruct`) with any chat-capable model available via
HF Inference Providers.
```bash
export HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxx
python app.py
```
## Deploying to Hugging Face Spaces
See [`DEPLOY.md`](./DEPLOY.md) for full step-by-step instructions.
## Project structure
```
daifuku-warehouse-ai/
βββ app.py # Gradio app (5 tabs)
βββ build_artifacts.py # generates data, trains models, evaluates, saves plots
βββ requirements.txt
βββ src/
β βββ data_generation.py # synthetic intent / inventory / sensor datasets
β βββ knowledge_base.py # warehouse-ops knowledge base (RAG source docs)
β βββ retriever.py # TF-IDF retriever
β βββ intent_model.py # intent classifier (train/predict)
β βββ anomaly_model.py # Isolation Forest anomaly detector
β βββ llm_client.py # HF Inference API client + fallback
β βββ inventory_db.py # NL -> structured query helpers
βββ models/ # trained model artifacts (.joblib)
βββ data/ # generated datasets + evaluation JSON
βββ assets/ # evaluation plots (confusion matrices, ROC curve)
```
## Evaluation summary
See the in-app **Model Evaluation** tab for full details (confusion
matrices, per-class precision/recall, retrieval hit-rate table, latency
benchmark). Headline numbers from the included run:
| Component | Metric | Score |
|---|---|---|
| Intent classifier | Accuracy | ~99% |
| Intent classifier | Macro F1 | ~99% |
| Anomaly detector | F1 | ~97% |
| Anomaly detector | ROC-AUC | ~1.00 |
| RAG retriever | Hit-rate@2 | 100% |
*(Computed on synthetic, held-out test data β see the Evaluation tab for
methodology notes.)*
## License
MIT β feel free to fork and adapt.
|