📌 Définition : MBOT est un assistant intelligent de type RAG (Retrieval-Augmented Generation),
conçu pour interroger exclusivement une base documentaire fournie par l'utilisateur, en combinant recherche vectorielle
et génération de langage naturel.
🔬 Architecture Technique
Stack Technologique
🐍 Backend
Langage : Python 3.10+
Framework : Flask 3.x
Serveur : Waitress (Production)
Workers : 8 threads
🧠 Intelligence Artificielle
Modèle : Qwen2-VL
Paramètres : 7B (7 milliards)
Type : Vision-Language Model
Quantization : 4-bit (AWQ/GPTQ)
💾 Base Vectorielle
Engine : ChromaDB
Embeddings : Sentence-BERT
Métrique : Similarité cosinus
Dimensions : 384-768
📄 Traitement Documents
PDF : PyMuPDF (fitz)
OCR : Qwen2-VL Vision
Formats : 15+ types
Cache : Redis-like (in-memory)
⚙️ Spécifications du Modèle Qwen2-VL
| Caractéristique |
Valeur |
Description |
| Nom complet |
Qwen2-VL-7B-Instruct |
Modèle Vision-Language multimodal |
| Nombre de paramètres |
7 milliards (7B) |
Optimisé pour usage local |
| Architecture |
Transformer Decoder |
Attention multi-têtes + Vision Encoder |
| Quantization |
4-bit (AWQ/GPTQ) |
Réduit la mémoire de 75% |
| Taille RAM requise |
~6 GB VRAM |
GPU RTX 3060+ recommandé |
| Context Window |
32 768 tokens |
~24 000 mots en français |
| Résolution images |
Jusqu'à 1280×1280 px |
OCR haute précision |
| Langues supportées |
29 langues |
Français, anglais, chinois... |
| Vitesse d'inférence |
~50 tokens/sec |
Sur GPU RTX 4090 |
| Temperature par défaut |
0.1 (précision max) |
Réponses déterministes |
| Max tokens output |
1024-2048 tokens |
Configurable selon besoin |
Capacités Vision du Modèle
- OCR multilingue – Extraction de texte depuis images/PDFs scannés
- Analyse de code source – Lecture de captures d'écran RPG, DDS, SQL
- Détection de tableaux – Extraction structurée de données tabulaires
- Compréhension diagrammes – Schémas techniques, organigrammes
- Résolution adaptative – Jusqu'à 1280×1280 px pour précision maximale
🛠️ Configuration Système RAG
| Paramètre |
Valeur |
| Taille des chunks |
1200 caractères |
| Overlap entre chunks |
200 caractères |
| Top-K résultats |
5 documents |
| Cache TTL |
3600 secondes (1h) |
| Rate Limit |
30 requêtes / 60 sec |
| Timeout Qwen2-VL |
150 secondes |
| Max file size |
50 MB |
📦 Formats de Documents Supportés
📄 Documents
PDF
TXT
MD
🖼️ Images
PNG
JPG/JPEG
BMP
TIFF
💻 Code Source
RPGLE
DDS
SQL
Python
Java
C/C++
🔄 Pipeline de Traitement
- Ingestion – Détection automatique du format de fichier
- Extraction – OCR via Qwen2-VL si nécessaire, sinon extraction texte directe
- Chunking – Découpage intelligent avec overlap pour préserver le contexte
- Vectorisation – Génération d'embeddings sémantiques (SBERT)
- Indexation – Stockage dans ChromaDB avec métadonnées (source, type, date)
- Recherche – Similarité cosinus pour trouver les top-K chunks pertinents
- Génération – Prompt enrichi au contexte → Qwen2-VL → Réponse + sources
👤 Auteur & Propriété Intellectuelle
- Nom : Boutramt Mustapha
- Rôle : Architecte Logiciel & Développeur Principal
- Organisation : MBGMX
- Projet : MBOT - RAG Gateway
- Année de création : 2025
- Site web : www.mbgmx.fr
📜 Licence d'Utilisation
MBOT est fourni tel quel, sans garantie expresse ou implicite.
L'utilisation du logiciel se fait sous la responsabilité exclusive de l'utilisateur.
Conditions d'utilisation :
- ✅ Usage personnel/interne – Modification autorisée dans un cadre privé
- ✅ Recherche & Éducation – Utilisation à des fins académiques
- ❌ Redistribution – Interdite sans autorisation écrite explicite
- ❌ Usage commercial – Nécessite un accord de licence payant
- ❌ Revente – Strictement interdite
💼 Licence Entreprise : Pour une utilisation commerciale, contactez l'auteur via
www.mbgmx.fr pour obtenir une licence adaptée à vos besoins.
📚 Dépendances Logicielles
MBOT repose sur des composants open-source, chacun soumis à sa propre licence :
| Composant |
Version |
Licence |
| Python |
3.10+ |
PSF License |
| Flask |
3.x |
BSD-3-Clause |
| ChromaDB |
Latest |
Apache 2.0 |
| PyMuPDF (fitz) |
Latest |
AGPL-3.0 |
| Qwen2-VL |
7B-Instruct |
Apache 2.0 / Tongyi Qianwen |
| Waitress |
Latest |
ZPL 2.1 |
⚠️ Important : L'utilisateur est tenu de respecter les licences associées à chaque composant.
Certaines dépendances (comme PyMuPDF) imposent des restrictions sur l'usage commercial.
⚠️ Avertissements & Responsabilité
MBOT ne fournit PAS :
- ❌ De conseil juridique, médical ou financier officiel
- ❌ De garantie d'exactitude absolue des informations générées
- ❌ De protection contre les hallucinations du modèle IA
🛡️ Validation Humaine Requise : Les réponses générées doivent toujours être vérifiées
par un humain compétent avant toute prise de décision critique.
Qualité des réponses dépendante de :
- La qualité et la pertinence des documents fournis
- La formulation précise de la question
- La capacité du modèle à interpréter le contexte
🔐 Données & Confidentialité
- ✅ Zéro transmission externe – Aucune donnée envoyée à des services tiers
- ✅ Hébergement local – Tous les documents restent sur votre infrastructure
- ✅ Pas de tracking – Aucune collecte de données personnelles
- ✅ Chiffrement optionnel – Possibilité d'activer HTTPS/TLS
🔒 Sécurité : MBOT peut être déployé dans un réseau isolé (air-gap) pour une sécurité maximale.
Idéal pour les environnements sensibles (défense, santé, finance).
📊 Performance & Optimisations
Métriques Moyennes
| Métrique |
Valeur Typique |
| Temps de réponse (cache HIT) |
< 0.1 seconde |
| Temps de réponse (cache MISS) |
2-5 secondes |
| Indexation (100 docs) |
5-15 minutes |
| Taux de cache hit |
~40% après 1h d'usage |
| Throughput |
30 requêtes/minute max |
Optimisations Implémentées
- ✅ Cache en mémoire avec TTL configurable
- ✅ Pool de connexions HTTP pour Qwen2-VL
- ✅ Rate limiting par IP
- ✅ Backoff exponentiel sur erreurs réseau
- ✅ Déduplication des chunks identiques
- ✅ Métriques temps réel (cache hit rate, avg response time)
🚀 Configuration Matérielle Recommandée
💻 Configuration Minimale
CPU : 4 cores
RAM : 8 GB
GPU : RTX 3060 (6 GB VRAM)
Stockage : 50 GB SSD
⚡ Configuration Optimale
CPU : 8+ cores
RAM : 32 GB
GPU : RTX 4090 (24 GB VRAM)
Stockage : 200 GB NVMe SSD
📞 Support & Contact
Pour toute question, demande de licence commerciale ou support technique :
- 🌐 Site web : www.mbgmx.fr
- 📧 Email : contact@mbgmx.fr (si disponible)
- 📖 Documentation : Consultez les fichiers README du projet