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/。