MatplotLLM は、データを視覚化するための Matplotlib 上の自然言語レイヤーです。主な目的は、matplotlib などのツールの内部に干渉することなく、データ ポイントを視覚化する特定の方法の構築を加速することです。現時点では、これは Emacs/Org システム内から使用されるシステムです。動機は、私が AI 共同プログラミングに関するブログに書いた内容から来ています。
MatplotLLM に関する私のブログ投稿にも興味があるかもしれません。
提供する必要がある説明が 2 つあり、どちらも自然言語で行います。データソースを説明するもの。 2 番目はプロット方法を説明します。 1 つ目は静的なテキストの説明で、もちろん呼び出しの間に必要に応じて変更できます。
2 番目に、会話インターフェイスのように反復的な説明を提供できます。最初のパスの説明から始めて、フィードバックとしてさらに仕様を追加し続けることができます。
これらは、以下の例に示すように、言語名がmatplotllm
の org-babel ソース ブロックで使用できます。データの説明とプロットの説明を分離するために使用される組織モード ディバイダー-----
あります。現在の設計では、この区別は役に立たないように見えるかもしれませんが、後で役立つかもしれません。プロットの説明に空の行を追加して、反復的なフィードバックを提供します。再描画のたびに現在のコードが LLM に表示され、フィードバックが提供され、新しいコードが要求されます。
これを使用するには、最初に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 Mon] 68 WPM、acc 89% | 65 WPM、acc 90% | 71 WPM、acc 93% |デフォルトとしての Colemak-DH。
+ [2023-05-14 Sun] 65 WPM、acc 92% | 62 WPM、acc 87% | 65 WPM、acc 91% | 70 WPM、acc 90%
各行は 1 日分であり、1 日に複数回試行した WPM と精度のエントリが含まれています。一部の行には構造が正しくないテキストが含まれている場合がありますが、無視してかまいません。
-----
WPM を日付に対してプロットした最小散布図をプロットします。散布図の色として精度値を使用します。濃い (青紫) ほど正確です。
軸を明確にして、かすかなグリッド線のみを表示し、目盛りに月が書かれている日付をあまり混雑させずに表示します。
最初と最後のポイントに実際の WPM 値の注釈を付けます。
いくつかの開発メモ:
LLM 支援型データ視覚化システム
著作権 (c) 2023 Abhinav Tushar および寄稿者
このプログラムはフリー ソフトウェアです。Free Software Foundation が発行する GNU General Public License の条件 (ライセンスのバージョン 3、または (ユーザーの選択による) 以降のバージョン) に基づいて再配布したり、変更したりすることができます。
このプログラムは役立つことを期待して配布されていますが、いかなる保証もありません。商品性や特定目的への適合性についての暗黙の保証もありません。詳細については、GNU 一般公衆利用許諾書を参照してください。
このプログラムと一緒に GNU 一般公衆利用許諾書のコピーも受け取っているはずです。そうでない場合は、https://www.gnu.org/licenses/ を参照してください。