Assistant IA Multi-Agents — Analyse Financière est une application web développée avec Streamlit qui analyse automatiquement des rapports financiers PDF grâce à une architecture multi-agents basée sur LangGraph, LangChain, RAG et ChromaDB.
L'application permet à un utilisateur de téléverser un rapport financier PDF ou de sélectionner l’un des rapports d’exemple intégrés pour obtenir une analyse structurée des risques et une synthèse managériale.
L’objectif du projet est de démontrer une architecture IA modulaire proche d’un cas d’usage professionnel : extraction documentaire, recherche sémantique, analyse par LLM, génération de synthèse et interface web utilisable.
ℹ️ Démo en ligne : Vous pouvez tester directement l'application sans installation ici : https://multiagent-financial-analyzer.streamlit.app/
Interface Streamlit avec sélection de langue, rapports préchargés, import PDF et compteur en temps réel pendant l’analyse.
-
🤖 Architecture multi-agents avec LangGraph Le traitement est séparé entre plusieurs agents spécialisés : extraction documentaire, analyse des risques et rédaction de synthèse.
-
📄 Analyse de rapports financiers PDF L’utilisateur peut importer son propre fichier PDF directement depuis l’interface.
-
📊 Rapports préchargés Trois exemples de rapports financiers sont intégrés : BioSensus, TechNova et OmniDrive. Cela permet de tester l’application immédiatement sans chercher de fichier externe.
-
🌍 Interface bilingue français / anglais L’utilisateur peut changer la langue de l’interface en un clic.
-
⏱️ Compteur en temps réel Un indicateur affiche le temps estimé et le temps écoulé pendant l’exécution des agents.
-
🧠 Pipeline RAG avec ChromaDB Le contenu du PDF est découpé en morceaux, indexé et réutilisé comme contexte pour améliorer la qualité de l’analyse.
-
🐳 Support Docker Le projet contient un
Dockerfilepermettant de lancer l’application dans un conteneur portable.
L’application repose sur une architecture en trois agents :
L’agent extracteur lit le rapport PDF, extrait le texte, le découpe en segments et prépare les données pour la recherche sémantique.
Technologies principales :
PyPDFLoaderRecursiveCharacterTextSplitterChromaDB
L’agent analyste réalise une analyse des risques financiers, stratégiques, opérationnels et réglementaires à partir du contexte extrait via le pipeline RAG.
Il identifie notamment :
- les risques financiers ;
- les incohérences potentielles ;
- les dépendances économiques ;
- les risques opérationnels ;
- les signaux faibles utiles pour un décideur.
L’agent rédacteur transforme l’analyse brute en synthèse claire et structurée pour un lecteur non technique ou un dirigeant.
Il produit une restitution plus lisible, orientée décision, avec un langage simple et professionnel.
PDF utilisateur ou rapport préchargé
↓
Agent Extracteur
↓
Extraction du texte + découpage en chunks
↓
Indexation dans ChromaDB
↓
Agent Analyste
↓
Analyse des risques financiers
↓
Agent Rédacteur
↓
Synthèse managériale
↓
Affichage dans l’interface Streamlit
| Technologie | Rôle |
|---|---|
| Python 3.14 | Langage principal du projet |
| Streamlit | Interface web interactive |
| LangGraph | Orchestration des agents IA |
| LangChain | Intégration des LLM et composants RAG |
| ChromaDB | Base vectorielle pour la recherche sémantique |
| RAG | Recherche augmentée pour améliorer les réponses du modèle |
| Ollama | Exécution locale possible d’un modèle LLM |
| Groq API | Exécution cloud rapide du modèle LLM |
| Docker | Conteneurisation de l’application |
| VS Code | Environnement de développement |
├── agents/ # Agents IA spécialisés orchestrés par LangGraph
│ ├── __init__.py
│ ├── analyzer.py # Agent d'analyse des risques financiers
│ ├── extractor.py # Agent d'extraction, chunking PDF et RAG
│ └── writer.py # Agent de rédaction de la synthèse managériale
│
├── assets/ # Images et ressources visuelles du projet
│ └── 1dashboard.png # Capture d'écran de l'interface
│
├── sample_reports/ # Rapports PDF financiers d'exemple
│ ├── Rapport_Financier_Avance_OmniDrive.pdf
│ ├── Rapport_Financier_TechNova.pdf
│ └── Rapport_Performance_BioSensus_2025.pdf
│
├── utils/ # Fonctions utilitaires partagées
│
├── .gitignore # Fichiers exclus du suivi Git
├── Dockerfile # Configuration Docker du projet
├── app.py # Interface utilisateur Streamlit
├── graph_builder.py # Construction et compilation du graphe LangGraph
├── README.md # Documentation principale du projet
└── requirements.txt # Dépendances Python du projet
Les dossiers et fichiers locaux comme
venv/,.env,.vscode/et__pycache__/ne doivent pas être envoyés sur GitHub.
git clone https://github.com/nicolbl95/MultiAgent-Financial-Analyzer.git
cd MultiAgent-Financial-Analyzerpython -m venv venvSur Windows avec Git Bash :
source venv/Scripts/activateSur Windows avec PowerShell :
.\venv\Scripts\Activate.ps1Sur macOS ou Linux :
source venv/bin/activatepip install -r requirements.txtstreamlit run app.pyL’application sera disponible localement à l’adresse :
http://localhost:8501
Si vous utilisez Groq API, créez un fichier .env à la racine du projet :
GROQ_API_KEY=votre_cle_api_ici.env ne doit jamais être envoyé sur GitHub.
Il doit être présent dans .gitignore :
.env
venv/
__pycache__/
*.pyc
.vscode/
Le projet contient un Dockerfile permettant de lancer l’application dans un conteneur.
docker build -t financial-analyzer .docker run -p 8501:8501 financial-analyzerL’application sera disponible à l’adresse :
http://localhost:8501
# Image Python légère
FROM python:3.14-slim
# Empêche Python de créer des fichiers .pyc
ENV PYTHONDONTWRITEBYTECODE=1
# Affiche immédiatement les logs dans Docker
ENV PYTHONUNBUFFERED=1
# Dossier de travail
WORKDIR /app
# Copier les dépendances
COPY requirements.txt .
# Installer les dépendances
RUN pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Copier le projet
COPY . .
# Port Streamlit
EXPOSE 8501
# Lancer l'application
CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]Pour éviter de copier des fichiers inutiles ou sensibles dans l’image Docker, il est recommandé de créer un fichier .dockerignore :
venv/
__pycache__/
.git/
.gitignore
.env
.vscode/
*.pyc
Cela permet de garder l’image Docker plus légère et plus sécurisée.
L’application est déployée avec Streamlit Community Cloud :
https://multiagent-financial-analyzer.streamlit.app/
Cette démo permet de tester le projet sans installation locale.
Le dossier sample_reports/ contient trois rapports financiers de démonstration :
| Rapport | Description |
|---|---|
| BioSensus 2025 | Rapport de performance financière |
| TechNova | Rapport financier d’une entreprise technologique fictive |
| OmniDrive | Rapport financier avancé d’une entreprise fictive |
Ces fichiers permettent de tester rapidement le fonctionnement de l’application.
- L’application fonctionne mieux avec des PDF contenant du texte sélectionnable.
- Les PDF scannés ou sous forme d’image peuvent nécessiter un OCR.
- Les analyses générées par IA peuvent contenir des erreurs.
- Les résultats doivent être considérés comme une aide à l’analyse, et non comme un conseil financier professionnel.
- La qualité des réponses dépend de la qualité du rapport PDF fourni.
- Ajouter un OCR pour les PDF scannés.
- Ajouter une extraction automatique des tableaux financiers.
- Générer des graphiques financiers à partir des données extraites.
- Ajouter un export PDF ou Word de la synthèse.
- Ajouter des tests unitaires.
- Ajouter GitHub Actions pour automatiser les vérifications.
- Améliorer la mémoire entre agents.
- Ajouter une comparaison automatique entre plusieurs rapports financiers.
- Ajouter un mode d’analyse plus détaillé pour les investisseurs.
Projet développé par nicolbl95.
GitHub : https://github.com/nicolbl95
Ce projet est publié à des fins d’apprentissage, de démonstration et de portfolio.
Ce projet démontre la mise en place d’une application IA complète combinant :
- interface web ;
- traitement de documents PDF ;
- architecture multi-agents ;
- RAG ;
- base vectorielle ;
- LLM local ou cloud ;
- conteneurisation Docker ;
- déploiement en ligne.
Il illustre une approche pratique de l’ingénierie LLM appliquée à l’analyse documentaire financière.
