Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Chatbot Smartech — Interface Java du Chatbot Intelligent

Application web Java (Spring Boot) avec interface JSP, connectée à un moteur IA Python pour offrir une expérience de chatbot conversationnel intelligent.

🔗 Projet lié : cette application consomme l'API du moteur IA développé dans chat_nlp (Python/Flask). Les deux projets forment un système complet : interface Java/JSP (ce repo) → API Python IA → réponse intelligente.

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


📌 Architecture du système

Utilisateur (interface JSP)
        ↓
Spring Boot — ChatService
        ↓  requêtes HTTP
Serveur Flask (chat_nlp) — http://localhost:5000/predict
        ↓
Moteur IA Python (auto-apprentissage, FastText, Together AI)
        ↓
Réponse retournée à l'utilisateur

Rôle de ce repo (Java) : fournir l'interface utilisateur (JSP) et faire le pont entre l'utilisateur et le moteur IA via un service dédié.

Rôle du repo chat_nlp (Python) : héberger toute l'intelligence conversationnelle (voir README de ce repo pour le détail du fonctionnement : apprentissage initial, auto-apprentissage, mémoire, détection de langue).


🔗 Intégration Spring Boot ↔ Flask

Le service Java ChatService envoie des requêtes HTTP vers l'API Flask exposée par chat_nlp :

http://localhost:5000/predict

Ce découplage permet de séparer clairement :

  • l'interface et la logique métier (Java, Spring Boot, JSP) — ce repo
  • l'intelligence conversationnelle (Python, IA, NLP) — repo chat_nlp

Concrètement : l'utilisateur pose une question via l'interface JSP → Spring Boot transmet la requête au serveur Flask → le moteur IA (Python) génère ou récupère une réponse → celle-ci est retournée jusqu'à l'utilisateur.

Résultat : deux technologies connectées ensemble — Java pour l'application, Python pour le moteur IA.


🧠 Fonctionnalités du chatbot (côté moteur IA — repo chat_nlp)

  1. Apprentissage initial — un fichier response.csv contient des phrases connues et leurs réponses (ex : "bonjour" → "Bonjour ! Comment puis-je vous aider ?")
  2. Auto-apprentissage — si la phrase est inconnue, le chatbot propose de l'apprendre
  3. Génération IA — appel au modèle Ollama via l'API Together AI pour générer une réponse
  4. Validation avant enregistrement — confirmation demandée avant toute sauvegarde
  5. Mémoire conversationnelle — les réponses validées sont enregistrées pour un accès instantané ultérieur
  6. Détection automatique de langue — via FastText, adaptation des réponses (arabe, français, anglais...)

(Détails complets et code de ces fonctionnalités : voir le repo chat_nlp)


🛠️ Stack technique

Backend : Java, Spring Boot Frontend : JSP Communication : REST API (HTTP) vers le serveur Flask Build : Maven

⚙️ Installation

./mvnw spring-boot:run

⚠️ Le serveur Flask du repo chat_nlp doit être lancé au préalable (python app.py) pour que l'application puisse communiquer avec le moteur IA.

📁 Structure

├── src/                  # Code source Java (ChatService, contrôleurs, JSP)
├── .mvn/wrapper/         # Maven wrapper
├── pom.xml               # Dépendances Maven
├── mvnw / mvnw.cmd       # Scripts Maven
└── README.md

About

Application Java (Spring Boot) connectée au moteur IA Python via API REST. Interface JSP pour interagir avec le chatbot intelligent développé dans chat_nlp.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages