
Marat ("MUH-RAH") ist ein Datenanalyse- und Visualisierungsinstrument, das die explorative Datenanalyse von allgemeinen kI-gesteuerten thematischen Erkenntnissen bis hin zu spezifischen Analyse- oder Visualisierungsanforderungen des Benutzers erleichtert.
Aktuelle Datenanalyse -Implementierungen, die die Konversations -KI nutzen, sind in erster Linie fragend, wobei der Benutzer mit einer personifizierten Version der Daten chatten. Dies ist zwar sehr nützlich, aber ich glaube, es maximiert den Nutzen von AI beim Verständnis von Daten nicht. Wir neigen dazu, Erkenntnisse und Informationen nicht zu betrachten, da separate Elemente in einer Dialektik interagiert haben, sondern als ein Verständnisnetzwerk, wobei Erkenntnisse miteinander verbunden sind, um ein vollständiges Verständnis der Datenerkenntnisse zu bilden. Dieses Projekt stellt einen Proof-of-Concept-Versuch dar, diese Ansicht der Analyse besser umzusetzen.
Marat verwendet ein NextJS-Frontend im Flow-Diagramm-Stil, um die Datenanalyse durch Python-basierte Klanggraph-Agenten zu visualisieren und zu koordinieren. Fastapi wird verwendet, um Informationen an die Python -Basis zu senden, wo die Analyse dann durchgeführt und an das nächste J -Frontend zurückgeschickt wird, um sich zu visualisieren und zu organisieren.
Gehen Sie zur Haupt -Dashboard -Seite (localhost: 3000/Dashboard) und laden Sie Ihre CSV -Datendatei hoch, wenn Sie aufgefordert werden. Wenn die Frage auf Eingabeaufforderung angezeigt wird, können Sie entweder eine bestimmte Frage stellen (dh eine lineare Regression zwischen Größe und Kosten) oder eine breite Frage (dh mir alles erzählen, was zu Preisänderungen usw. beiträgt). Um einen Bericht zu generieren, wählen Sie die Knoten aus, die Sie einfügen möchten, und klicken Sie auf "Bericht über ausgewählte Knoten generieren". Der Bericht wird dann als PDF generiert und kann über die Seite /Berichte heruntergeladen werden.
Alle Frontend NextJS -Code befinden sich im Ordner "NextJs". Derzeit ist TypeScript nicht im Skriptmodus festgelegt, aber ich plane, diese zu aktualisieren, sobald alle Typ -Konfigurationen vollständig hinzugefügt werden.
Die Langgraph- und Agentenkonfigurationen finden Sie im Backend-Ordner, wobei die Agentendefinitionen und die Grafikkonfiguration in Backend-> api-> Agenten-> Agents.Py und Backend-> api-> Agent_Graph-> Graph.py enthalten sind. Das Fastapi-Backend-Setup befindet sich in Backend-> api-> test.py, wobei die Koordination der Langgraph-Antworten in Langchain_base-> langchain.py gefunden wird. Modellkonfigurationen finden Sie im Verzeichnis Backend-> Api-> Models. Alle Eingabeaufforderungen befinden sich in Backend-> api-> Eingabeaufforderungen-> forderts.py
Ein Großteil des Schemas und der Implementierung stammt aus diesem Projekt, das auch ein hervorragendes Lernmaterial enthält.
Der einfachste Weg, um zu installieren und zu beginnen, ist über Docker. Sie können entweder das vorgefertigte Bild ziehen oder das Bild lokal erstellen.
Ziehen Sie das Docker -Bild von DockerHub aus
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.0Bauen Sie das Bild lokal auf
git clone https://github.com/nbritt27/marat-agent-data-analysis.git
cd marat-agent-data-analysiscp .env.example .envdocker compose upAngenommen, Sie haben den Knoten installiert (dieses Projekt verwendet Knoten 20.12.0): Das Projekt verwendet ein NextJS-Frontend, wobei die Anweisungen zur Installationsanleitung von NextJs unter https://nextjs.org/docs/getting-started/installation gefunden werden
Bewegen Sie sich in das nächste Js -Verzeichnis
cd nextjsInstallieren Sie alle NextJs und Knotenabhängigkeiten
npm install
# or
pnpm installPIP -Abhängigkeiten installieren
pip install -r ../backend/requirements.txtDas Projekt durchführen
npm run dev
Hinweis: Wenn Sie Windows verwenden und Berichte generieren möchten, müssen Sie das Installationsprogramm für WKHTMLTOPDF https://wkhtmltopdf.org/downloads.html herunterladen und den ausführbaren Pfad in der Env -Datei angeben.
In diesem Projekt wird generierter Python -Code ausgeführt. Es wird empfohlen, das Projekt in einer virtuellen Umgebung oder einem virtuellen Container auszuführen.
Ich würde gerne Unterstützung bei der Arbeit an diesem Projekt lieben. Wenn Sie daran interessiert sind, das Projekt zu unterstützen oder andere Fragen oder Bedenken zu haben, ist der beste Weg, mich zu erreichen, per E -Mail an [email protected]
Dieses Projekt ist unter der MIT -Lizenz lizenziert - Einzelheiten finden Sie in der Lizenzdatei.
Wenn Sie dieses Projekt oder eine Teilmenge davon verwenden, lassen Sie es mich bitte wissen! Ich würde gerne sehen, was Sie schaffen können :)