Skip to content

Repository files navigation

🤖 Chat NLP — Moteur IA du Chatbot Auto-apprenant

Moteur d'intelligence artificielle en Python (Flask) pour un chatbot auto-apprenant et multilingue, exposé via une API REST.

🔗 Projet lié : ce moteur constitue le backend IA consommé par l'application Java Spring Boot spring_chatbot_smartech. Les deux projets forment un système complet : interface Java/JSP → API Python (ce repo) → réponse intelligente.

Développé dans le cadre d'un stage d'été chez Smartech (06/2025 – 07/2025).


📌 Fonctionnement

1. Apprentissage initial Un fichier response.csv contient des phrases connues avec leurs réponses associées (ex : "bonjour" → "Bonjour ! Comment puis-je vous aider ?").

2. Auto-apprentissage Si une phrase posée n'existe pas dans le CSV, le chatbot le signale et propose de l'apprendre.

3. Génération de réponse via IA Si l'utilisateur confirme, le modèle Ollama (via l'API Together AI) génère automatiquement une réponse adaptée.

4. Validation avant enregistrement Avant toute sauvegarde, une confirmation est demandée à l'utilisateur — évite de polluer la base avec des réponses non désirées.

5. Mémoire conversationnelle Une fois validée, la paire question/réponse est enregistrée dans response.csv : la prochaine fois, la réponse est instantanée, sans nouvel appel API.

6. Détection automatique de langue Le modèle FastText (lid.176.ftz) détecte automatiquement la langue de l'utilisateur (arabe, français, anglais) pour adapter la réponse.


🔗 Intégration avec Spring Boot

Ce moteur Python est exposé en local via une route Flask (http://localhost:5000/predict). L'application Java (spring_chatbot_smartech) envoie ses requêtes à cette route via un service dédié (ChatService), permettant à une interface JSP de dialoguer avec ce moteur IA.

Utilisateur → Interface JSP → Spring Boot (ChatService) → API Flask (ce repo) → Réponse IA

Ce découplage permet de séparer clairement :

  • la logique métier / interface (Java, Spring Boot)
  • l'intelligence conversationnelle (Python, IA)

🛠️ Stack technique

Langage & Framework : Python, Flask IA / NLP : FastText (détection de langue), Together AI (Ollama) pour la génération de réponses Données : CSV (mémoire conversationnelle)

⚙️ Installation

pip install -r requirements.txt
python app.py

Le fichier requirements.txt contient toutes les bibliothèques nécessaires au projet.

📁 Structure

├── app.py                  # Point d'entrée Flask
├── chatbot_predict.py       # Logique de prédiction/génération de réponse
├── lang_detect.py           # Détection de langue (FastText)
├── lid.176.ftz               # Modèle FastText pré-entraîné
├── response.csv               # Mémoire conversationnelle
├── pending.json                 # Phrases en attente de validation
└── requirements.txt

About

Moteur IA du chatbot COVID/multilingue — Python, Flask, FastText, Together AI. Auto-apprentissage et détection de langue. Backend consommé par l'application Java via spring_chatbot_smartech.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages