Une plateforme complète en Python pour des applications d'IA multimodale basées sur des modèles de langage Hugging Face et des transformers de vision.
Multimodal-LLM est une application qui combine les capacités des Grands Modèles de Langage (LLMs) et des Modèles Vision-Langage (VLMs) pour effectuer des tâches avancées de traitement du langage naturel et de vision par ordinateur. Cette plateforme offre une interface intuitive pour traiter du texte, des images et des documents via une API unifiée.
- 🖼️ Conversion Image vers Texte : Générez des descriptions textuelles à partir d'images avec BLIP
- 🔍 Reconnaissance d'Entités Nommées : Extrayez et classifiez les entités du texte
- 📝 Résumé de Texte : Résumez automatiquement du contenu long et extrayez les points clés
- 🧠 RAG : Interrogez des documents PDF avec recherche sémantique via FAISS
- 🎯 Analyse d'Images Avancée : Combinez la génération de légendes avec la résumé pour une analyse approfondie
- Interface : Streamlit
- Framework LLM : Hugging Face Inference API
- Modèles Vision : Salesforce BLIP (génération de légendes)
- Base de Données Vectorielle : FAISS
- Embeddings : Sentence Transformers
- Traitement Documentaire : PyPDF2
- Python 3.8 ou supérieur
- Un token API Hugging Face (obtenez-le sur https://huggingface.co/settings/tokens)
-
Clonez le dépôt
git clone https://github.com/Bilelly/Multimodal-LLM.git cd Multimodal-LLM -
Créez un environnement virtuel
python -m venv venv source venv/bin/activate # Sur Windows : venv\Scripts\activate
-
Installez les dépendances
pip install -r requirements.txt
-
Configurez votre token Hugging Face
- Option A : Créez
.streamlit/secrets.tomlHF_TOKEN = "votre_token_hugging_face_ici"
- Option B : Définissez une variable d'environnement
export HF_TOKEN="votre_token_hugging_face_ici"
- Option A : Créez
- Reconnaissance d'Entités : Extrayez les entités nommées (personnes, lieux, organisations) du texte
- Image vers Texte : Convertissez des images en descriptions textuelles
- Image vers Texte Avancé : Analyse d'image améliorée avec résumé automatique
- Résumé et Points Clés : Générez des résumés et des points clés sous forme de listes à puces
- Requête RAG : Posez des questions sur vos documents et recevez des réponses contextualisées
Multimodal-LLM/
├── multimodal/
│ ├── app.py # Application Streamlit principale
│ ├── src/
│ │ ├── api_call.py # Fonctionnalités API centrales
│ │ └── local_blip.py # Inférence BLIP locale
│ ├── utils/
│ │ ├── client.py # Wrapper du client Hugging Face
│ │ └── load_pdf.py # Chargement PDF et recherche sémantique
│ └── data/
│ ├── demo.jpg # Image
│ └── article_2502.15214v1.pdf # PDF pour RAG
└── requirements.txt # Dépendances Python
Bilal SAYOUD - Profil GitHub