Ce projet est un système de Retrieval-Augmented Generation (RAG) permettant de recommander des films à partir du dataset TMDB 5000. Réalisé dans le cadre d'un TP sur la construction d'un RAG sans frameworks de haut niveau.
- Recherche Vectorielle : Utilisation de FAISS pour l'indexation sémantique.
- Multilingue : Support des requêtes en français sur un catalogue anglophone.
- Génération : Réponses structurées via l'API Groq (Llama 3).
- Interface Double : Support CLI (ligne de commande) et Interface Web.
- Filtrage : Gestion de la langue originale des films.
- Prérequis : Python 3.10+
- Installation des dépendances :
pip install -r requirements.txt
- Configuration : Créez un fichier
.envà la racine avec votre clé Groq :GROQ_API_KEY=votre_cle_ici - Données : Placez le fichier
tmdb_5000_movies.csvdans le dossierdata/. - Indexation (à faire une fois) :
python indexation.py
python rag.pypython backend/app.pyPuis ouvrez http://localhost:8001 dans votre navigateur.
indexation.py: Script d'ingestion et de création de l'index vectoriel.rag.py: Interface en ligne de commande.rag_core.py: Logique centrale du RAG (recherche + LLM).backend/: Serveur FastAPI pour l'interface Web.frontend/: Interface utilisateur élégante (HTML/CSS/JS).