
Marat ("MUH-Rah") est un outil d'analyse et de visualisation des données qui facilite l'analyse exploratoire des données, des informations thématiques générales axées sur l'IA à des demandes d'analyse ou de visualisation spécifiques par l'utilisateur.
Les implémentations actuelles de l'analyse des données tirant parti de l'IA conversationnelle sont principalement interrogatives, l'utilisateur discutant avec une version personnifiée des données. Bien que cela soit très utile, je pense que cela ne maximise pas les avantages de l'IA dans la compréhension des données. Nous avons tendance à ne pas voir les informations et les informations comme des éléments séparés interagissaient dans une dialectique, mais plutôt comme un réseau de compréhension, avec des informations reliant ensemble pour former une compréhension complète des informations sur les données. Ce projet représente une tentative de preuve de concept pour mieux mettre en œuvre cette vision de l'analyse.
Marat utilise un frontend de style Organigramme NextJS pour visualiser et coordonner l'analyse des données via des agents Python-Basedlanggraph. FastAPI est utilisé pour envoyer des informations à la base Python, où l'analyse est ensuite effectuée et renvoyée au frontend NextJS pour être visualisée et organisée.
Accédez à la page de tableau de bord principale (localhost: 3000 / tableau de bord) et téléchargez votre fichier de données CSV lorsque vous y êtes invité. Lorsque l'invite de question apparaît, vous pouvez soit poser une question spécifique (c'est-à-dire générer une régression linéaire entre la taille et le coût) ou une question large (c'est-à-dire que tout me disent, ce qui contribue aux changements de prix, etc.). Pour générer un rapport, sélectionnez les nœuds que vous souhaitez inclure et cliquez sur "Générer un rapport à partir des nœuds sélectionnés". Le rapport sera ensuite généré sous forme de PDF et peut être téléchargé via la page / Reports.
Tout le code Frontend NextJS est situé dans le dossier 'NextJS'. Actuellement, TypeScript n'est pas défini en mode script, mais je prévois de mettre à jour cela une fois que toutes les configurations de type sont entièrement ajoutées.
Les configurations Langgraph et Agent peuvent être trouvées dans le dossier Backend, avec les définitions d'agent et la configuration du graphique trouvées dans Backend-> API-> Agents-> Agents.py et Backend-> API-> Agent_Graph-> Graph.py respectivement. La configuration du backend fastapi est dans le backend-> api-> test.py, avec la coordination des réponses Langgraph trouvées dans Langchain_base-> Langchain.py. Les configurations du modèle peuvent être trouvées dans le répertoire Backend-> Api-> Modèles. Toutes les invites sont situées dans backend-> api-> invites-> inside.py
Une grande partie du schéma et de la mise en œuvre provient de ce projet, qui présente également un excellent matériel d'apprentissage.
La façon la plus simple d'installer et de commencer est via Docker. Vous pouvez soit tirer l'image prédéfinie ou construire l'image localement.
Tirez l'image Docker de DockerHub
docker pull nbritt27/marat-agent-data-analysis:frontendv1.0
docker pull nbritt27/marat-agent-data-analysis:backendv1.0docker run -p 3000:3000 --name marat-frontend -d marat-agent-data-analysis:frontenddocker run -p 8000:8000 --name marat-agent-data-analysis-backend -d
-e OPENAI_API_KEY=your_api_key
marat-agent-data-analysis-backend:v1.0Construisez l'image localement
git clone https://github.com/nbritt27/marat-agent-data-analysis.git
cd marat-agent-data-analysiscp .env.example .envdocker compose upEn supposant que vous avez un nœud installé (ce projet utilise le nœud 20.12.0): Le projet utilise un frontend NextJS, avec des instructions d'installation NextJS trouvées sur https://nextjs.org/docs/getting-started/installation
Déplacez-vous dans le répertoire NextJS
cd nextjsInstallez toutes les dépendances NextJS et Node
npm install
# or
pnpm installInstallez les dépendances PIP
pip install -r ../backend/requirements.txtPour exécuter le projet
npm run dev
Remarque: Si vous utilisez Windows et que vous souhaitez générer des rapports, vous devrez télécharger l'installateur pour wkhtmltopdf https://wkhtmltopdf.org/downloads.html, et spécifiez le chemin exécutable dans le fichier Env.
Ce projet exécute le code Python généré. L'exécution du projet à l'intérieur d'un environnement virtuel ou d'un conteneur est recommandé.
J'adorerais l'aide pour travailler sur ce projet. Si vous êtes intéressé à aider au projet ou à avoir d'autres questions ou préoccupations, la meilleure façon de me joindre est par e-mail à [email protected]
Ce projet est autorisé en vertu de la licence MIT - voir le fichier de licence pour plus de détails.
Si vous utilisez ce projet ou tout sous-ensemble, veuillez me le faire savoir! J'adorerais voir ce que vous pouvez créer :)