🤖 MBOT

Système RAG (Retrieval-Augmented Generation) - Documentation technique & Licence

📌 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

🛠️ 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

  1. Ingestion – Détection automatique du format de fichier
  2. Extraction – OCR via Qwen2-VL si nécessaire, sinon extraction texte directe
  3. Chunking – Découpage intelligent avec overlap pour préserver le contexte
  4. Vectorisation – Génération d'embeddings sémantiques (SBERT)
  5. Indexation – Stockage dans ChromaDB avec métadonnées (source, type, date)
  6. Recherche – Similarité cosinus pour trouver les top-K chunks pertinents
  7. Génération – Prompt enrichi au contexte → Qwen2-VL → Réponse + sources

👤 Auteur & Propriété Intellectuelle

📜 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 :

💼 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 :

🛡️ 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 :

🔐 Données & Confidentialité

🔒 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

🚀 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 :