FinAIry est un assistant de vulgarisation de l'investissement basé sur une architecture RAG (Retrieval Augmented Generation). Le projet a été réalisé dans le cadre de l'UV AI31 - Indexation et Recherche d'Information à l'UTC.
pip install uvuv syncCopier le fichier .env.example en .env puis renseigner les variables nécessaires :
GOOGLE_API_KEY: clé Google AI StudioLANGSMITH_API_KEY(optionnel) : nécessaire pour l'évaluation
Pour indexer les documents dans la base de données vectorielle :
uv run rag/chunker.pyuv run chainlit run app/app.pyL'application est également disponible en ligne :
https://finairy-latest.onrender.com
Note : l'hébergement utilise l'offre gratuite de Render. Le démarrage du serveur peut donc prendre plusieurs minutes lorsqu'il est inactif.
Pour lancer l'évaluation du RAG :
uv run evaluation/evaluate.py.
├── app/ # Application Chainlit
│ ├── app.py
│ ├── db.py
│ ├── pipeline.py # Pipeline RAG
│ ├── prompts.py # Prompts
│ └── utils.py
├── chroma_db/ # Base Vectorielle ChromDB
├── data/ # Documents ingérés dans la DB
│ ├── data/
│ │ ├── amf/ # Articles de l'AMF
│ │ └── articles/ # Articles de Finary
│ └── format_md_amf.py # Préparation des données AMF
├── Evaluation/ # Scripts et données d'évaluation
│ ├── Dataset.json # Dataset d'évaluation
│ └── evaluate.py
├── public/ # Éléments frontend pour Chainlit
│ └── elements/ # Elements Customs en React pour Chainlit
├── rag/
│ ├── chunker.py # Découpage des textes
│ └── vectorstore.py # Ingestion dans Chroma DB
├── scrapper/ # Scripts de scrapping des data AMF & Finary
│ ├── scrapping_amf.py
│ └── scrapping_articles_finary.py
├── Dockerfile # Conteneurisation du projet (pour le deployment)
├── pyproject.toml # Gestion des dépendances pour UV
Bienvenue sur FinAIry, le premier vulgarisateur de connaissances sur l'investissement 🤝📊
Nos données proviennent de sources fiables et officielles telles que :
- 🏛️ l’AMF (Autorité des marchés financiers)
- 🌐 le site Finary
Notre objectif est simple : rendre les connaissances sur l'investissement accessible à tous, même aux concepts les plus complexes 📚✨
Vous pouvez poser toutes vos questions sur :
- 💸 l’épargne
- 📈 l’investissement
- 🏦 la gestion financière
- 🧠 les notions économiques
Attention : Les réponses données par notre solution ne sont pas des conseils en investissement. L'IA est un outil pédagogique et non un conseiller financier agréé.
FinAIry propose deux modes d’utilisation :
Un mode simple et rapide pour obtenir des réponses claires, pédagogiques et faciles à comprendre.
Un mode avancé qui effectue plusieurs requêtes internes afin de fournir des réponses plus complètes, précises et approfondies 🔍📊
Idéal pour les utilisateurs qui veulent une analyse plus poussée et une vision experte.
Un mode qui permet de filtrer les sources utilisées dans la réponse.
Un mode qui génère plusieurs réponses candidates et les évalue pour sélectionner la meilleure réponse possible.
Par ailleurs, un safety mode est aussi disponible qui permet de vérifier que le prompt ne chereche pas à manipuler le LLM.
🚀 N’hésiter pas à poser votre première question !
Projet réalisé dans le cadre de l'UV AI31 à l'Université de Technologie de Compiègne (UTC) par César Dénoue, Mathis Lézéan, Pierre-Étienne Dumont-Buisine, Téo Bourgois