Tous les projets

Projet personnel, code libre (licence MIT)

Mini Data Science Assistant

Un assistant agentique pour fichiers CSV. On pose sa question en langage courant, à l'écrit ou à l'oral ; un LLM local planifie l'analyse, enchaîne les bons outils et explique le résultat.

Rôle
Créateur. Architecture, code et conception de l'agent
Période
2026
Statut
Fonctionne entièrement en local, code public sur GitHub
Technologies
  • Python
  • Ollama
  • Gemma
  • FastMCP
  • Pandas
  • Matplotlib
  • Whisper
  • Gradio
Comment ça marche
  1. QuestionUn fichier CSV et une question en langage courant, écrite ou dictée (transcrite par Whisper).
  2. AgentUn LLM local (Gemma, servi par Ollama) planifie l'analyse et enchaîne jusqu'à quatre appels d'outils.
  3. Serveur MCPFastMCP expose sept outils d'analyse construits sur Pandas. Les résultats passent d'un outil à l'autre par des identifiants de jeu de données.
  4. RéponseLe modèle explique le résultat en langage clair, sans jamais voir les lignes brutes.

Interface Gradio · fonctionne entièrement sur la machine locale, sans API infonuagique

Le problème

Explorer un nouveau jeu de données, c’est souvent réécrire le même code Pandas avant de pouvoir poser la question qui compte. Je voulais poser cette question directement, à l’écrit ou à l’oral, et obtenir de vraies statistiques, sans envoyer les données à une API infonuagique.

Ce que j’ai construit

  • Une boucle d’agent en plusieurs étapes : un LLM local (Gemma via Ollama) planifie l’analyse, appelle un outil, lit le résultat et décide de l’étape suivante, jusqu’à quatre étapes par question.
  • Un serveur MCP (FastMCP) de sept outils d’analyse : description du jeu de données, statistiques, filtrage, regroupement, valeurs manquantes, valeurs aberrantes et corrélations.
  • Des identifiants de jeu de données propres à la session : les résultats passent d’un outil à l’autre par référence, si bien que le modèle ne voit jamais les lignes brutes.
  • Des questions à voix haute transcrites avec Whisper, des histogrammes avec Matplotlib et une interface Gradio.
  • Tout fonctionne sur la machine locale : aucune API infonuagique, aucune donnée ne quitte l’ordinateur.

Mon rôle

J’ai conçu l’architecture et la boucle d’agent, construit le serveur MCP et ses outils, et réalisé l’interface.