MatplotLLM 是 Matplotlib 上的自然語言層,用於視覺化資料。主要目的是加速建構某種視覺化資料點的方式,而無需幹擾 matplotlib 等工具的內部結構。到目前為止,這是一個在 Emacs/Org 系統內使用的系統。動機來自我在關於人工智慧協同編程的部落格中寫的一些內容。
您可能也有興趣閱讀我關於 MatplotLLM 的部落格文章。
您需要提供兩個自然語言的描述。描述資料來源的一個。第二個描述如何繪圖。第一個是靜態文字描述,當然您可以根據需要在呼叫之間進行更改。
其次,您可以提供迭代描述,就像在對話式介面中一樣。您可以從第一遍描述開始,然後不斷添加更多規範作為回饋。
您可以在語言名稱為matplotllm
的 org-babel 原始碼區塊中使用它們,如下例所示。有一個組織模式分隔符號-----
用來分隔資料描述和繪圖描述。在目前的設計中,這種差異可能看起來毫無用處,但以後可能會有所幫助。在繪圖描述中,您會新增空行以提供迭代回饋。每次重畫都會向法學碩士展示當前代碼、提供回饋並要求新代碼。
您必須先設定matplotllm-openai-key
的值才能使用它。我們現在將GPT4
稱為 LLM 的支援。
下面的例子試圖重現——我還沒有公正地對待它——我關於學習 Colemak-DH 的部落格文章中的情節。
要讀取的資料檔名為“log.txt”。它是這樣的:
+ [2023-07-20 星期四] 97 WPM, acc 98%
停止每日追蹤
+ [2023-05-16 星期二] 66 WPM,acc 91% | 66 WPM,acc 87%
+ [2023-05-15 星期一] 68 WPM, acc 89% | 65 WPM,acc 90% | 71 WPM,acc 93% |預設為 Colemak-DH。
+ [2023-05-14 星期日] 65 WPM, acc 92% | 62 WPM,acc 87% | 65 WPM,acc 91% | 70 WPM,acc 90%
每行都是一天的 WPM 和一天內多次嘗試的準確度條目。某些行可能包含結構不良的文本,您可以忽略它們。
-----
繪製最小散佈圖,顯示針對日期繪製的 WPM。使用精確度值作為散佈圖的顏色,顏色越深(藍紫色)越精確。
清除軸並僅顯示微弱的網格線,並顯示刻度中寫有月份的日期,而不會過於擁擠。
用實際 WPM 值註解第一個和最後一個點。
一些開發筆記:
LLM輔助資料視覺化系統
版權所有 (c) 2023 Abhinav Tushar 和貢獻者
該程式是免費軟體:您可以根據自由軟體基金會發布的 GNU 通用公共授權(許可證的第 3 版)或(由您選擇)任何更高版本的條款重新分發和/或修改它。
分發此程序的目的是希望它有用,但不提供任何保證;甚至沒有適銷性或特定用途適用性的默示保證。有關更多詳細信息,請參閱 GNU 通用公共許可證。
您應該隨該程式一起收到 GNU 通用公共授權的副本。如果沒有,請參閱 https://www.gnu.org/licenses/。