summaryrefslogtreecommitdiffstats
path: root/2023/talks/matplotllm.md
blob: 4117374bcdb38c9da92f80f74218fd29b8a476e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[[!meta title="MatplotLLM, iterative natural language data visualization in org-babel"]]
[[!meta copyright="Copyright © 2023 Abhinav Tushar"]]
[[!inline pages="internal(2023/info/matplotllm-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# MatplotLLM, iterative natural language data visualization in org-babel
Abhinav Tushar (he/him) - abhinav@lepisma.xyz, https://lepisma.xyz, @lepisma@mathstodon.xyz, <mailto:abhinav@lepisma.xyz>

[[!inline pages="internal(2023/info/matplotllm-before)" raw="yes"]]

Large Language Models (LLMs) have improved in capabilities to an extent
where a lot of manual workflows can be automated by just providing
natural language instructions.

On such manual work is to create custom visualizations. I have found the
process to be really tedious if you want to make something non-standard
with common tools like matplotlib or d3. These frameworks provide low
level abstractions that you can then use to make your own
visualizations.

Earlier to make a new custom visualization, I would open two windows in
Emacs, one for code, other for the generated image. In this talk, I will
show how a powerful LLM could lead to a much more natural interface
where I only need to work with text instructions and feedback on the
currently generated plot. The system isn't perfect, but it shows us how
the future or such work could look like.

The package is called MatplotLLM and lives here
<https://github.com/lepisma/matplotllm>

About the speaker:

I am a Programmer and Machine Learning Engineer who has been in love
with Emacs' extendability from the moment I pressed M-x. Since then, I
have been doing as many things inside Emacs as I can. In this talk, I
will cover a recent attempt at automating one of my workflows inside
Emacs.

# Discussion

## Questions and answers

-   Q: What is the license of <https://github.com/lepisma/matplotllm>
    project ? Sjo
    -   A: GPLv3 or later. Sorry, I didn't put this in the repository,
        You can refer to
        <https://github.com/lepisma/matplotllm/blob/main/matplotllm.el#L18C12-L29>
        though.
-   Q: Sometimes LLMs hallucinate. Can we trust the graph that it
    produces?
    -   A: Not always, but the chances of hallucinations impacting
        'generated code' that causes a harmful but not identifiable
        hallucinations are a little lower. Usually hallucination in code
        show up as very visible bug so you can always do a retry. But I
        haven't done a thorough analysis here yet.
- Q: What are your thoughts on the carbon footprint of LLM useage?
  - (not the speaker): to add a bit more to power usage of LLMs, it is not inherent that the models must take many megawatts to train and run. work is happening and seems promising to decrease power usage
## Notes

-   Repository link <https://github.com/lepisma/matplotllm> . A
    connected blog post here
    <https://lepisma.xyz/2023/08/20/matplotllm:-an-llm-assisted-data-visualization-framework/index.html>



[[!inline pages="internal(2023/info/matplotllm-after)" raw="yes"]]

[[!inline pages="internal(2023/info/matplotllm-nav)" raw="yes"]]