
Marat ("Muh-Rah") adalah alat analisis dan visualisasi data yang memfasilitasi analisis data eksplorasi, dari wawasan tematik yang digerakkan oleh AI hingga analisis spesifik atau permintaan visualisasi oleh pengguna.
Implementasi analisis data saat ini memanfaatkan AI percakapan terutama diinterogatif, dengan pengguna mengobrol dengan versi data yang dipersonifikasikan. Meskipun ini cukup berguna, saya percaya itu tidak memaksimalkan manfaat AI dalam memahami data. Kami cenderung tidak melihat wawasan dan informasi sebagai elemen terpisah yang berinteraksi dengan dalam dialektika, tetapi sebagai jaringan pemahaman, dengan wawasan yang terhubung bersama untuk membentuk pemahaman lengkap tentang wawasan data. Proyek ini merupakan upaya pembuktian konsep untuk mengimplementasikan pandangan analisis ini dengan lebih baik.
MARAT menggunakan frontend all-style NextJS untuk memvisualisasikan dan mengoordinasikan analisis data melalui agen yang berbasis Python. Fastapi digunakan untuk mengirim informasi ke pangkalan Python, di mana analisis kemudian dilakukan dan dikirim kembali ke frontend NextJS untuk divisualisasikan dan diorganisir.
Buka halaman dasbor utama (LocalHost: 3000/Dashboard) dan unggah file data CSV Anda saat diminta. Ketika pertanyaan pertanyaan muncul, Anda dapat mengajukan pertanyaan tertentu (yaitu menghasilkan regresi linier antara ukuran dan biaya) atau pertanyaan luas (yaitu memberi tahu saya segalanya, apa yang berkontribusi terhadap perubahan harga, dll.). Untuk menghasilkan laporan, pilih node yang ingin Anda sertakan dan klik "Hasilkan Laporan dari Node yang Dipilih". Laporan kemudian akan dihasilkan sebagai PDF dan dapat diunduh melalui halaman /Laporan.
All Frontend NextJS Code terletak di folder 'NextJS'. Saat ini, TypeScript tidak diatur dalam mode skrip, tetapi saya berencana memperbarui ini setelah semua jenis konfigurasi ditambahkan sepenuhnya.
Konfigurasi langgraph dan agen dapat ditemukan di folder backend, dengan definisi agen dan konfigurasi grafik yang ditemukan di backend-> api-> agents-> agents.py dan backend-> api-> agent_graph-> graph.py masing-masing. Pengaturan backend Fastapi ada di backend-> api-> test.py, dengan koordinasi respons langgraph ditemukan di langchain_base-> langchain.py. Konfigurasi model dapat ditemukan di Direktori Backend-> Api-> Model. Semua prompt terletak di backend-> api-> prompts-> prompts.py
Sebagian besar skema dan implementasi berasal dari proyek ini, yang juga menampilkan beberapa materi pembelajaran yang sangat baik.
Cara termudah untuk menginstal dan memulai adalah melalui Docker. Anda dapat menarik gambar yang sudah dibangun atau membangun gambar secara lokal.
Tarik gambar Docker dari 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.0Bangun gambar secara lokal
git clone https://github.com/nbritt27/marat-agent-data-analysis.git
cd marat-agent-data-analysiscp .env.example .envdocker compose upDengan asumsi Anda memiliki simpul yang diinstal (proyek ini menggunakan simpul 20.12.0): Proyek ini menggunakan frontend NextJS, dengan instruksi instalasi NextJS ditemukan di https://nextjs.org/docs/getting-started/installation
Pindah ke direktori NextJS
cd nextjsInstal semua dependensi NextJs dan Node
npm install
# or
pnpm installPasang dependensi PIP
pip install -r ../backend/requirements.txtUntuk menjalankan proyek
npm run dev
Catatan: Jika Anda menggunakan Windows, dan ingin menghasilkan laporan, Anda harus mengunduh penginstal untuk wkhtmltopdf https://wkhtmltopdf.org/downloads.html, dan tentukan jalur yang dapat dieksekusi dalam file env.
Proyek ini memang mengeksekusi kode Python yang dihasilkan. Direkomendasikan menjalankan proyek di dalam lingkungan virtual atau wadah.
Saya ingin bantuan dalam mengerjakan proyek ini. Jika Anda tertarik untuk membantu proyek, atau memiliki pertanyaan atau masalah lain, cara terbaik untuk menghubungi saya adalah melalui email di [email protected]
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.
Jika Anda menggunakan proyek ini atau subsetnya, beri tahu saya! Saya ingin melihat apa yang dapat Anda buat :)