MatplotLLM adalah lapisan bahasa alami di atas Matplotlib untuk memvisualisasikan data. Tujuan utamanya adalah untuk mempercepat pembuatan cara tertentu Anda memvisualisasikan titik data tanpa mengganggu bagian dalam alat seperti matplotlib. Saat ini, ini adalah sistem yang digunakan dari dalam sistem Emacs/Org. Motivasinya datang dari sesuatu yang saya tulis di blog tentang pemrograman bersama AI di sini.
Anda mungkin tertarik membaca postingan blog saya di MatplotLLM juga.
Ada dua deskripsi yang perlu Anda berikan, keduanya dalam bahasa alami. Salah satu yang menjelaskan sumber data. Kedua yang menjelaskan cara membuat plot. Yang pertama adalah deskripsi teks statis, yang tentu saja dapat Anda ubah sesuai kebutuhan di antara panggilan.
Kedua, Anda dapat memberikan deskripsi berulang seperti di antarmuka percakapan. Anda dapat memulai dengan deskripsi lintasan pertama dan kemudian terus menambahkan spesifikasi lainnya sebagai masukan.
Anda dapat menggunakannya di blok sumber org-babel dengan nama bahasa matplotllm
seperti yang ditunjukkan pada contoh di bawah ini. Ada pembagi mode organisasi -----
digunakan untuk memisahkan deskripsi data dan deskripsi plot. Dalam desain saat ini, perbedaan ini mungkin terlihat tidak berguna, namun mungkin berguna di kemudian hari. Dalam deskripsi plot, Anda menambahkan baris kosong untuk memberikan umpan balik berulang. Setiap pengundian ulang menunjukkan kode saat ini ke LLM, memberikan umpan balik, dan meminta kode baru.
Anda harus menetapkan nilai matplotllm-openai-key
untuk menggunakan ini terlebih dahulu. Kami menyebut GPT4
sebagai LLM pendukung saat ini.
Contoh di bawah ini mencoba mereproduksi—saya belum melakukan keadilan terhadapnya—plot dalam postingan blog saya tentang Belajar Colemak-DH.
File data yang akan dibaca diberi nama `log.txt`. Berikut tampilannya:
+ [20-07-2023 Kam] 97 WPM, hitung 98%
Menghentikan pelacakan harian
+ [2023-05-16 Sel] 66 WPM, acc 91% | 66 WPM, akun 87%
+ [2023-05-15 Sen] 68 WPM, ACC 89% | 65 WPM, akun 90% | 71 WPM, akun 93% | Colemak-DH sebagai default.
+ [2023-05-14 Min] 65 WPM, cc 92% | 62 WPM, akun 87% | 65 WPM, akun 91% | 70 WPM, akun 90%
Setiap baris untuk satu hari memiliki WPM dan entri akurasi dari beberapa percobaan dalam sehari. Beberapa baris mungkin memiliki teks tidak terstruktur yang dapat Anda abaikan.
-----
Plot plot sebar minimal yang menunjukkan WPM diplot berdasarkan tanggal. Gunakan nilai akurasi sebagai warna plot sebar, lebih gelap (biru ungu) lebih akurat.
Kosongkan sumbu dan hanya tampilkan garis kisi yang samar, dan tampilkan tanggal di mana tanda centang memiliki tulisan bulan tanpa terlalu memadatinya.
Beri anotasi pada poin pertama dan terakhir dengan nilai WPM sebenarnya.
Beberapa catatan pengembangan:
Sistem visualisasi data berbantuan LLM
Hak Cipta (c) 2023 Abhinav Tushar dan kontributor
Program ini adalah perangkat lunak bebas: Anda dapat mendistribusikan ulang dan/atau memodifikasinya berdasarkan ketentuan Lisensi Publik Umum GNU sebagaimana diterbitkan oleh Free Software Foundation, baik versi 3 dari Lisensi tersebut, atau (sesuai pilihan Anda) versi yang lebih baru.
Program ini disebarluaskan dengan harapan dapat bermanfaat, namun TANPA JAMINAN APA PUN; bahkan tanpa jaminan tersirat mengenai KELAYAKAN UNTUK DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya.
Anda seharusnya sudah menerima salinan Lisensi Publik Umum GNU bersama dengan program ini. Jika tidak, lihat https://www.gnu.org/licenses/.