📊 Présentation complète du projet
Cette présentation contient une explication de l'architecture et une démonstration du système.
- Prérequis
- Installation de l'environnement
- Configuration des services
- Configuration de l'application
- Lancement de l'application
- Python : Version 3.10 ou supérieure
- Docker : Version 20.x ou supérieure
- Docker Compose : Version 2.x ou supérieure
- uv
- OpenAI API Key
git clone https://github.com/cleophass/modern_rag.git
cd modern_raguv sync# Avec uv
uv pip list
# Avec pip
pip listVous devriez voir les packages suivants :
streamlit >= 1.51.0elasticsearch >= 9.2.0langchain >= 1.0.5langchain-openai >= 1.0.2sentence-transformers >= 5.1.2transformers >= 4.57.1pandas >= 2.3.3pydantic >= 2.12.4pytest >= 9.0.1dotenv >= 0.9.9
docker-compose up -ddocker ps
# Vous devriez voir 2 conteneurs en cours d'exécution :
# - elasticsearch (port 9200)
# - kibana (port 5601)# Test de connexion
curl http://localhost:9200
# Réponse attendue : JSON avec les informations du clusterOuvrir dans un navigateur : http://localhost:5601
À la racine du projet, créer un fichier .env :
touch .envÉditer le fichier .env et ajouter :
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxSi vous souhaitez utiliser LangSmith pour le traçage, ajoutez également :
LANGSMITH_API_KEY=lsv2_pt_....
LANGCHAIN_TRACING_V2=truePour accéder a "traces" dans LangSmith, vous pouvez utiliser ce lien : https://smith.langchain.com/
Le fichier core/config.py contient les paramètres des modèles :
EMBEDDINGS_MODEL_NAME = "paraphrase-multilingual-mpnet-base-v2"
REWRITER_MODEL_NAME = "gpt-4.1"
GUARDRAILS_MODEL_NAME = "gpt-4.1"
HYDE_MODEL_NAME = "gpt-4.1"
GENERATOR_MODEL_NAME = "gpt-4.1"
RERANKER_MODEL_NAME = "antoinelouis/crossencoder-camembert-base-mmarcoFR"Ces paramètres peuvent être modifiés selon vos besoins.
# Rendre le script exécutable
chmod +x run.sh
# Lancer l'application
./run.shLe script effectue automatiquement :
- Démarrage des conteneurs Docker (Elasticsearch + Kibana)
- Lancement de l'application Streamlit PS: Le premier lancement peut prendre quelques minutes. N'hésitez pas a rafraichir
L'application sera disponible à l'adresse : http://localhost:8501
Pour ajouter des documents, aller dans la page "Documents" de l'application Streamlit et utiliser l'interface d'upload. Les formats supportés sont : .txt, .csv, .html.
Le dossier "data/raw/" contient déjà des fichier.
Dernière mise à jour : Novembre 2025