Mission professionnelle
Copilote IA à accès contrôlé (RAG)
Un copilote interne qui répond aux questions des collaborateurs à partir de la documentation de l’entreprise, cite ses sources, respecte les droits de chacun et passe la main au support humain quand il le faut.
- Démonstrateur qualifié en staging interne
- Projet individuel
- Confidentiel
- de réponses correctes (évaluation manuelle, 50 questions)
- 98 %
- avant le premier token streamé
- < 1,5 s
- documents PDF et DOCX indexés
- 50+
- sprints Scrum
- 13
01Le point de départ
Contexte & mission
Le problème
Le savoir de l’entreprise était dispersé dans des documents PDF et DOCX. Trouver la bonne réponse voulait dire chercher à la main ou interrompre un collègue. Un chatbot générique ne convenait pas : il ne sait pas dire d’où vient sa réponse, et il ignore qui a le droit de lire quoi.
La mission
Pour mon PFE, ALTEN m’a confié la conception et le développement, en partant de zéro, d’une plateforme de copilote IA interne : questions en langage naturel sur la documentation, réponses sourcées, contrôle d’accès par rôle, et escalade vers le support humain quand l’IA ne suffit pas.
Mon rôle
J’ai mené le projet en autonomie : architecture, pipeline RAG, sécurité, application Angular, documentation des API et livraison du démonstrateur.
02Réalisation
Ce que j’ai fait
Architecture microservices
Spring Cloud avec une API Gateway, quatre services Spring Boot (auth, utilisateurs, documents, chat) et un service RAG en FastAPI. PostgreSQL et pgvector servent à la fois à la persistance et à la recherche vectorielle.
Pipeline RAG
Python, LangChain et OpenAI : extraction de plus de 50 documents PDF et DOCX, découpage, embeddings, recherche sémantique (MMR), puis génération sourcée. Les réponses arrivent en streaming via SSE.
Sécurité dès la conception
JWT, BCrypt et RBAC sur trois rôles. Les documents autorisés sont filtrés pendant la recherche, avant que le LLM ne génère quoi que ce soit : un contenu restreint ne peut pas se retrouver dans une réponse.
Application Angular
Chat avec historique des conversations, tableau de bord d’administration, gestion des documents et des utilisateurs, suivi de l’indexation, et module de tickets de support avec formulaires par catégorie et pièces jointes.
Livraison
API documentées et validées avec OpenAPI/Swagger et Postman, démonstrateur conteneurisé avec Docker Compose, 13 sprints Scrum suivis dans Jira.
03Conception
Architecture
- AngularChat · back-office
- Spring Cloud GatewayPoint d’entrée unique
- 4 services Spring Bootauth · utilisateurs · documents · chat
- Service RAG FastAPILangChain
- PostgreSQL + pgvectorDonnées · vecteurs
- OpenAILLM · embeddings
- Docker ComposeDémonstrateur conteneurisé
- QuestionUtilisateur authentifié
- Recherche filtréeSeuls les documents autorisés
- ContextePassages pertinents (MMR)
- GénérationFondée sur les sources
- Réponse streaméeSSE · citations
- Ticket de supportQuand l’IA ne suffit pas
04Impact
Résultats
- Démonstrateur qualifié en staging interne chez ALTEN.
- Premier token streamé en moins de 1,5 s.
- 98 % de réponses correctes lors d’une évaluation manuelle sur 50 questions de test validées.
- Chaque réponse renvoie à ses documents sources et respecte le rôle de l’utilisateur.
05Bilan
Ce que j’en retiens
06Technologies
Stack complète
- Java
- Spring Boot
- Spring Cloud Gateway
- Python
- FastAPI
- LangChain
- OpenAI
- PostgreSQL
- pgvector
- Angular
- Docker Compose
- JWT
- BCrypt
- RBAC
- SSE
- OpenAPI
- Postman
- Jira