Ce projet présente un système robuste basé sur l'IA, conçu pour générer des questions ouvertes en français à partir d'un texte fourni, en tirant parti d'un Grand Modèle de Langage (LLM) local. Il offre deux interfaces pour une flexibilité accrue : une application Streamlit conviviale pour le prototypage rapide et les tests, et une application web Flask intégrée à MongoDB pour un stockage persistant et une expérience web plus traditionnelle. Le système est capable de concentrer la génération de questions sur des parties spécifiques du texte d'entrée, ce qui le rend très adaptable à diverses fins éducatives ou analytiques.
- Intégration LLM Locale : Utilise un Grand Modèle de Langage local au format GGUF pour la génération de questions, garantissant la confidentialité et la capacité hors ligne.
- Modèle Utilisé : QWEN 2.5 0.5B fine-tuned (Hugging Face)

- Modèle Utilisé : QWEN 2.5 0.5B fine-tuned (Hugging Face)
- Deux Interfaces Utilisateur :
- Application Streamlit : Une interface web simple et interactive pour la saisie rapide de texte et la génération de questions.
- Application Web Flask : Une application web plus complète avec un frontend dédié (
index.html) et un backend pour la génération et le stockage des questions.
- Intégration MongoDB : L'application Flask s'intègre de manière transparente avec MongoDB pour stocker les questions générées, le texte d'entrée original et les horodatages pour un suivi et une analyse historiques.
- Génération de Questions Contextuelles : Capacité à concentrer la génération de questions sur des segments spécifiques du texte d'entrée, permettant des questions précises et pertinentes.
- Sortie Structurée : La sortie du LLM est analysée dans un format JSON structuré pour une consommation et une intégration faciles.
- MongoDB Dockerisé : Inclut une configuration Docker Compose pour un déploiement facile de MongoDB et Mongo Express (une interface d'administration MongoDB basée sur le web).
Suivez ces étapes pour configurer et exécuter le projet localement.
- Python 3.8+
pip(installateur de paquets Python)- Docker et Docker Compose (pour la configuration de MongoDB)
git clone https://github.com/your-username/Gen-Update.git
cd Gen-UpdateCréez un fichier .env dans le répertoire racine du projet basé sur le fichier .env-example :
cp .env-example .envModifiez le fichier .env avec vos configurations spécifiques :
MONGO_URI=mongodb://root:example@localhost:27017/
MONGO_DB_NAME=question_db
MONGO_COLLECTION_NAME=generated_questions
MODEL_PATH=./models/finetuned-qwen2.5-0.5B_instruct_finetuned_fr.q8_0.gguf
MONGO_URI: Chaîne de connexion pour votre instance MongoDB.MONGO_DB_NAME: Nom de la base de données à utiliser.MONGO_COLLECTION_NAME: Nom de la collection pour stocker les questions.MODEL_PATH: Chemin relatif vers votre fichier de modèle GGUF.
Le projet utilise un modèle GGUF local. Vous devez télécharger le modèle finetuned-qwen2.5-0.5B_instruct_finetuned_fr.q8_0.gguf et le placer dans le répertoire models/.
(Fournir un lien pour télécharger le modèle ici si disponible, ou des instructions sur la façon de l'obtenir)
pip install -r requirements.txt(Note : Un fichier requirements.txt est supposé. S'il n'est pas présent, j'en créerais un.)
Naviguez jusqu'à la racine du projet et démarrez les services MongoDB et Mongo Express :
docker-compose -f mongo.yml up -dCela démarrera MongoDB sur localhost:27017 et Mongo Express (interface web pour MongoDB) sur localhost:8081. Vous pouvez accéder à Mongo Express dans votre navigateur à l'adresse http://localhost:8081 en utilisant les identifiants définis dans mongo.yml (par exemple, root/example).
Pour exécuter l'application Streamlit :
streamlit run app.pyOuvrez votre navigateur web et naviguez vers l'adresse fournie par Streamlit (généralement http://localhost:8501).
- Entrez votre texte dans la zone "Input Text".
- Optionnellement, spécifiez un "Focus Text" pour guider la génération de questions.
- Cliquez sur "Generate Question".
Pour exécuter l'application web Flask :
python flask-app.pyL'application sera disponible à l'adresse http://127.0.0.1:5000/.
- Accédez à la page principale pour saisir du texte et générer des questions.
- Les questions générées seront stockées dans votre collection MongoDB configurée.





