IA & données
Chatbot API · Spring Boot + OpenAI
Une API REST Spring Boot qui relie GPT-4o-mini d’OpenAI à un backend Java, sans jamais exposer la clé d’API dans le navigateur.
- Projet individuel
- clé d’API exposée au navigateur
- 0
- endpoints : chat et santé
- 2
01Le point de départ
Contexte & mission
Le problème
Appeler un LLM directement depuis le navigateur expose la clé d’API. Le bon endroit pour cette intégration, c’est le backend.
La mission
Exposer un endpoint de chat propre en Java, qui relaie le message au modèle et renvoie une réponse structurée.
Mon rôle
Projet conçu et développé seul.
02Réalisation
Ce que j’ai fait
Endpoint de chat
POST /api/chat reçoit un message et renvoie la réponse générée en JSON structuré.
Intégration OpenAI
Le service appelle GPT-4o-mini via RestTemplate ; la clé reste côté serveur.
Code en couches
Contrôleur, service, DTO de requête et de réponse, et configuration séparés.
Prêt pour un front-end
Endpoint de santé et configuration CORS pour brancher une interface web.
03Conception
Architecture
Le contrôleur reçoit la requête, le service appelle l’API OpenAI puis construit le DTO de réponse renvoyé au client.
- ClientPOST /api/chat
- ChatController
- ChatServiceRestTemplate
- OpenAIGPT-4o-mini
- ChatResponseDTO JSON
04Impact
Résultats
- Un LLM intégré proprement dans un backend Java.
- Une API prête à servir n’importe quel front-end.
05Bilan
Ce que j’en retiens
Ce que ce projet démontreQue j’intègre un LLM au bon endroit : côté serveur, derrière un contrat REST clair.
06Technologies
Stack complète
- Java 17
- Spring Boot 3.4
- Spring Web
- RestTemplate
- Maven
- OpenAI API
- GPT-4o-mini