Bekkali037/alphaedge-workflow-studio
⚡ AlphaEdge Workflow Studio
Prototype de workflow B2B autour de l'API OCR AlphaEdge.
Transforme les sorties OCR brutes en données exploitables : extraction de texte, scores de confiance, file de revue humaine, structuration JSON et export.
Démo
🟡 Mode mock — fonctionne sans clé API avec des réponses simulées réalistes. 🟢 Mode réel — se connecte à l'API AlphaEdge OCR (AlphaDigit Max).
Lancer l'app
# Cloner
git clone https://github.com/MedBekkali/alphaedge-workflow-studio.git
cd alphaedge-workflow-studio
# Installer
pip install -r requirements.txt
# Configurer (optionnel pour le mode mock)
cp .env.example .env
# Lancer
streamlit run app.pyFonctionnalités
Extraction OCR — Upload PDF/image → appel AlphaEdge → texte extrait avec confiance globale et par mot.
Heatmap de confiance — Chaque mot coloré selon son score : 🟢 ≥90% 🟡 ≥70% 🔴 <70%.
File de revue — Tableau trié par confiance croissante. Les mots sous 70% sont signalés pour vérification humaine.
Structuration — Extraction automatique des champs (type de document, date, montants, SIRET, IBAN, etc.) via regex ou LLM optionnel.
Export JSON — Sortie structurée téléchargeable, prête à intégrer dans un pipeline métier.
Architecture
Document → AlphaEdge OCR API → Texte + confiance par mot
↓
Post-traitement (remplaçable)
├── rules : regex + heuristiques (local, souverain)
├── claude : LLM optionnel (démo uniquement)
└── custom : modèle on-premise / AlphaEdge custom
↓
JSON structuré + alerte de revue + exportLa couche de post-traitement est volontairement découplée pour rester compatible avec un déploiement on-premise ou on-device. Le cœur de l'intelligence (OCR) reste dans AlphaEdge — aucun transfert de données vers un tiers n'est requis en mode rules.
Structure du projet
alphaedge-workflow-studio/
├── app.py ← App Streamlit
├── alphaedge/
│ ├── ocr.py ← Client API OCR (mock + réel)
│ └── structurer.py ← Post-traitement (rules / claude)
├── mock_data/
│ └── ocr_response.json ← Réponse simulée réaliste
├── demo_files/ ← Fichiers de démo
├── .env.example
├── requirements.txt
└── README.mdNotes d'intégration
Ce qui marche bien
- API simple à intégrer : un seul endpoint POST multipart, réponse JSON claire.
- Le champ
global_confidence+words[].confidencepermet de construire directement un workflow de revue humaine — c'est le principal différentiateur par rapport à un OCR qui renvoie juste du texte. - Temps d'inférence rapide (< 0.5s sur les documents testés).
Points d'attention
- Le champ multipart doit s'appeler exactement
image—fileoudocumentprovoquent un 422. - Ne pas définir
Content-Typemanuellement en multipart ; laisser la bibliothèque HTTP gérer le boundary. - Pour les clients régulés (finance, juridique, santé), la couche de structuration doit être remplaçable par un modèle souverain — d'où l'architecture découplée de ce prototype.
Idée produit
Un module human-in-the-loop clé en main pour les clients B2B :
- OCR AlphaEdge → extraction
- File de revue automatique (mots < seuil de confiance)
- Validation humaine des zones à risque
- Export validé vers le SI client
Cas d'usage naturels : dématérialisation de factures, extraction de formulaires administratifs, numérisation de dossiers juridiques.
Prototype réalisé par Mohamed Bekkali — ESAIP Angers, spécialisation IA.
