À propos du projet
Ce projet est un Agent intelligent d'analyse financière. L'idée centrale est de laisser un grand modèle de langage (DeepSeek) décider de manière autonome des étapes d'analyse via l'appel d'outils (Function Calling), pour finalement produire un rapport d'analyse financière structuré et étayé.
Sur le plan architectural, la boucle principale se trouve dans app/agent/loop.py : le prompt système et l'ensemble des outils sont envoyés ensemble à l'interface chat(tools) de DeepSeek ; après que le modèle a renvoyé des tool_calls, dispatch exécute l'outil correspondant, le résultat est réinjecté comme message tool, et l'itération se poursuit jusqu'à l'obtention de la réponse.
L'ensemble d'outils comprend quatre catégories de capacités :
- query_db(sql) : exécute des requêtes SQL en lecture seule sur la base financière SQLite ; seuls SELECT / WITH / PRAGMA sont autorisés, toute écriture est interdite.
- calc_financial_model(model, ...) : calcule la marge brute, la marge nette, le ratio de liquidité générale, le ratio de liquidité immédiate, le ratio d'endettement, le ROE, le ROA, les taux de rotation, le WACC, le DCF, l'IRR, la perte de crédit attendue et d'autres indicateurs financiers ; implémentation en Python pur, formules standard et testables unitairement.
- rag_search(q) : recherche légère basée sur TF-IDF, couvrant les normes comptables, l'audit, l'évaluation et les connaissances en machine learning/NLP ; le corpus est stocké dans app/knowledge/corpus.json, sans dépendance à une base de données vectorielle.
- run_python(code) : exécute des scripts de calcul financier en sous-processus, avec délai d'expiration et troncature de la sortie.
La couche de service utilise FastAPI et fournit les interfaces GET / (interface web), POST /api/agent/analyze, GET /api/rag/search, GET /tools, GET /health, etc. web/index.html fournit une interface navigateur : après saisie d'une question, le rapport d'analyse et le processus d'appel tool_trace peuvent être affichés. Le projet comprend également un Dockerfile, un workflow CI GitHub Actions et des tests pytest.
Le démarrage rapide consiste à : installer les dépendances de requirements-dev.txt, copier .env.example en .env et y renseigner la clé API DeepSeek, exécuter le script pour générer une base financière d'exemple, puis démarrer le service avec uvicorn. Le README fournit des exemples curl pour la vérification de santé, la liste des outils, la recherche RAG et les requêtes d'analyse financière.
En matière de normes d'ingénierie, le projet met l'accent sur la lecture seule obligatoire des requêtes de base de données, l'isolation par sous-processus et le délai d'expiration pour l'exécution de code, la journalisation structurée tool_trace enregistrant pour chaque appel d'outil le nom, les paramètres, le résultat et la durée, ainsi que le déploiement conteneurisé et les tests automatisés en CI. Le projet se positionne comme un projet pratique orienté informatisation financière et AI Agent, destiné à une présentation en vue d'une candidature.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.