Spaces:
Sleeping
A newer version of the Gradio SDK is available: 6.19.0
title: ERP-DocIQ
emoji: π
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 6.9.0
app_file: gradio_app.py
pinned: false
license: mit
short_description: OCR/IDP + ERP NLQ chatbot on small models (MiniCPM)
tags:
- build-small-hackathon
- backyard-ai
- best-minicpm-build
- best-agent
- tiny-titan
- minicpm
- ocr
- idp
- nlq
- rag
- agent
- fine-tuning
ERP-DocIQ β back-office automation on small models
Build Small Hackathon Β· Practical track (Backyard AI). A useful, problem-solving app that runs on hardware you own β built entirely on open models β€32B, with OpenBMB MiniCPM as the load-bearing model (and fine-tuned for the domain).
π‘ The idea
Retail back-offices drown in paperwork and report requests. ERP-DocIQ is an open-source, UiPath-style assistant that reads your documents, answers questions about your ERP in plain English, and automates the boring clicks β all on small models, no per-robot license, no data leaving your tenancy.
π§© The business problem
A retail brand's IT team runs UiPath for invoice/PO processing and portal automation. It's expensive (per-robot / AI-Unit licensing, six figures/yr at volume), brittle (selector recorders break on every UI change), locked-in (closed IDP models you can't swap or fine-tune), and slow to change (new layouts wait on a closed retraining toolchain). On top of that, every "what did we spend in Q2?" becomes a BI ticket. They wanted an AI-native, open, cheaper alternative they control.
π οΈ The solution approach β one Gradio app
- Read any document (OCR + IDP). A hybrid pipeline β OCR β classify β extract β normalize β enrich (RAG) β validate β post / human-review β reads orders, receipts, invoices, contracts and complex multi-layer forms, even messy scans/photos, into structured ERP records.
- Ask your ERP reports (ERP DocIQ chatbot). Natural-language NLQ β SQL, analytics, summaries and "why" reasoning over a simulated retail ERP (vendors Β· POs Β· invoices Β· GL Β· inventory Β· returns). Every figure comes from real SQL over the data β the model only phrases the answer, it never invents numbers.
- Automate the clicks (agentic browser). A self-correcting, multi-step browser agent drives a portal (dashboard β Procurement β Create Order β read the complex form) β selector-free and self-healing, replacing fragile RPA recorders.
π€ Models used β small (β€32B), the right one for each job
Three labs, eight models, all under the cap. MiniCPM is the core.
| Lab | Model | Params | Role in ERP-DocIQ |
|---|---|---|---|
| OpenBMB | MiniCPM-V-4.6 | 8B | primary OCR + vision extraction (reads messy/rotated/scanned docs β JSON) |
| OpenBMB | MiniCPM-o-4.5 | 8B | alt omni VLM |
| OpenBMB | MiniCPM3-4B | 4B | ERP reasoning Β· NLQβSQL Β· summarization β and the fine-tune target |
| Cohere | Aya-Vision-8B / 32B | 8β32B | alt OCR / VQA backend (23 languages) |
| Cohere | Command R7B | 7B | alt RAG Β· NLQ Β· grounded reasoning |
| Black Forest Labs | FLUX.1 [dev]/[schnell] | 12B | image generation β synthetic OCR stress docs (honestly, not an OCR model) |
A single ~8B MiniCPM-V powers OCR and vision extraction and the grounded chat phrasing β
so the whole product runs on small, swappable, open weights. GET /api/models lists which are live.
π― Fine-tuning β adapting a small model to the ERP domain
We fine-tune OpenBMB MiniCPM3-4B (4B) on an instruction dataset built from the ERP
knowledgebase (results/erp_sft.jsonl):
- Production: a LoRA (PEFT/TRL
SFTTrainer) recipe βscripts/finetune_erp.py --backend hf. - Offline CPU demo (runs anywhere): trains the ERP NLQ-routing head on the same data with a
real train/test split β untrained 8.3% β fine-tuned 91.7% (+83 pts), 100% routed-SQL
execution. See
results/erp_finetune_report.json.
π Benefits / value delivered
- Significantly lower inference cost vs per-document RPA licensing (model routing + prompt caching).
- No vendor lock-in, data stays on-prem β open weights you can run, read and fine-tune.
- Self-service ERP analytics (NLQ) deflects routine BI/report tickets off the queue.
- Reads documents classic OCR can't β MiniCPM-V cuts character error ~5.6Γ vs Tesseract
(CER 2.6% vs 14.7%; see
results/ocr_quality_report.json); field-exact 90.7%. - Honest, measured β every claim is backed by a published eval/quality/fine-tune report.
β How it meets the Build Small criteria
- β€32B params β every model is β€32B; the reasoning/NLQ engine + fine-tune target is 4B.
- Best MiniCPM Build β MiniCPM-V (OCR + vision) and MiniCPM3-4B (reasoning/NLQ + fine-tuned) are the core of the experience; vision/omni variants qualify.
- Best Agent β multi-step, self-healing agentic browser automation + an IDP state graph.
- Ships as a Gradio Space in the Build Small org; runs offline (deterministic ERP engine + sidecar OCR) and upgrades to hosted MiniCPM when keys are set.
βΆοΈ Use it (tabs)
- Process a document β pick an OCR backend (
auto,minicpm,tesseract) + a sample (tryextreme_receipt_photoorcomplex_invoice_messy) or upload your own β multi-layer fields + KPIs. - ERP DocIQ (chat) β ask "Why did spend rise in Q2 2026?", "Top vendors by spend", "late-payment rate" β grounded answer + SQL + the fine-tuning panel.
- Search (RAG) β semantic vendor-master retrieval. Web Automation β multi-step browser flow.
π¦ Published results (results/)
ocr_quality_report.jsonβ OCR CER/WER + field accuracy per backend.erp_finetune_report.json+erp_sft.jsonlβ fine-tune metrics + the instruction dataset.
βοΈ Configure (Space β Settings β Variables and secrets)
- Variables:
MINICPM_BASE_URL=https://api.modelbest.cn/v1,MINICPM_MODEL=MiniCPM-V-4.6-Instruct - Secret:
MINICPM_API_KEY=β¦(OpenBMB/ModelBest). Tesseract ships viapackages.txt. - Runs fully offline without a key β ERP DocIQ uses its deterministic SQL engine and OCR falls back to the sidecar, so every tab works.