summaryrefslogtreecommitdiffstats
path: root/2023/info/matplotllm-after.md
blob: d7df6118fb4da2d4cc0d16a808ced63e5b0a712e (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
<!-- Automatically generated by emacsconf-publish-after-page -->


<a name="matplotllm-mainVideo-transcript"></a>
# Transcript

[[!template new="1" text="""Hi, my name is Abhinav and I'm going to talk about""" start="00:00:00.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""this tool that I've been working on called MatplotLLM.""" start="00:00:03.040" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""MatplotLLM is a natural language interface""" start="00:00:06.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""over matplotlib, which is a library I use a lot""" start="00:00:09.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""for making visualizations.""" start="00:00:12.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""It's a pretty common Python library used a lot everywhere""" start="00:00:14.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""where there's need of plotting and graphing.""" start="00:00:18.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I usually use it in reports.""" start="00:00:22.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Whenever I'm writing a report in org mode,""" start="00:00:25.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I tend to write a code block which is in Python.""" start="00:00:27.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And then that code block has usage of matplotlib""" start="00:00:31.560" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""to produce some reports.""" start="00:00:34.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""That works really well.""" start="00:00:36.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But at times what happens is""" start="00:00:38.320" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I have to make a very custom graph, let's say.""" start="00:00:40.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And then while I'm writing a report,""" start="00:00:43.960" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""it's kind of a huge leap of abstraction""" start="00:00:46.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""when I'm working on text""" start="00:00:50.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""versus going into actual low-level matplotlib code""" start="00:00:51.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""to do that graphing.""" start="00:00:54.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So that's something I don't want to do.""" start="00:00:56.240" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Here's an example.""" start="00:00:59.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This is a graph which is... I think it was made""" start="00:01:00.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""like five or six years back.""" start="00:01:04.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And then there are some common things""" start="00:01:05.840" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""like scatter plot here,""" start="00:01:08.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""the dots that you can see here scattered.""" start="00:01:09.960" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Then... But there are a few things which, to do them,""" start="00:01:12.240" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""to make them, you will actually have to go--at least me,""" start="00:01:16.280" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I have to go to the documentation""" start="00:01:19.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and figure out how to do it. Which is fine,""" start="00:01:20.840" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""but I don't want to do this, you know,""" start="00:01:24.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""spend so much time here, when I'm working on""" start="00:01:26.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""a tight deadline for a report.""" start="00:01:29.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""That's the motivation for this tool.""" start="00:01:32.320" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This tool basically allows me""" start="00:01:33.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""to get rid of the complexity of the library""" start="00:01:35.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""by working via an LLM.""" start="00:01:38.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template new="1" text="""So an LLM is a large language model.""" start="00:01:40.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""These are models which are""" start="00:01:43.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""trained to produce text, generate text.""" start="00:01:45.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And just by doing that,""" start="00:01:49.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""they actually end up learning a lot of common patterns.""" start="00:01:51.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""For example, if you ask a question,""" start="00:01:55.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""you can actually get a reasonable response.""" start="00:01:56.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""If you ask to write a code for something,""" start="00:01:58.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""you'll actually get code""" start="00:02:00.760" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""which can also be very reasonable.""" start="00:02:01.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So this tool is basically a wrapper""" start="00:02:04.760" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""that uses an LLM. For the current version,""" start="00:02:06.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""we use GPT-4, which is OpenAI's model.""" start="00:02:11.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""It's not open in the sense of open source.""" start="00:02:13.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So that's a problem that it has.""" start="00:02:17.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But for this version, we are going to use that.""" start="00:02:21.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template new="1" text="""Using this library is pretty simple.""" start="00:02:23.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""You basically require the library""" start="00:02:25.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and then you set up your OpenAI API key here.""" start="00:02:27.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Then you get a code block""" start="00:02:30.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""where you can specify the language as `matplotllm`.""" start="00:02:33.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And then what you can do is,""" start="00:02:35.760" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""you can basically describe what you want""" start="00:02:38.280" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""in natural language.""" start="00:02:40.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I'll take this example of this data set.""" start="00:02:41.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""It's called the Health and Wealth of Nations.""" start="00:02:45.280" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I think that was""" start="00:02:48.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""the name of a visualization where it was used.""" start="00:02:49.640" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This is basically life expectancy,""" start="00:02:51.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""GDP of various countries starting from 1800.""" start="00:02:53.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I think it goes up to 2000 somewhere.""" start="00:02:59.280" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So earlier, I would try to write code which reads this CSV""" start="00:03:02.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and then does a lot of matplotlib stuff""" start="00:03:07.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and then finally produces a graph.""" start="00:03:09.840" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But with this tool, what I'll do is""" start="00:03:11.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I'll just provide instructions in two forms.""" start="00:03:13.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So the first thing I'll do is""" start="00:03:17.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I'll just describe how the data looks like.""" start="00:03:18.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So I'll say data is in a file called `data.csv`,""" start="00:03:21.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""which is this file, by the way, on the right.""" start="00:03:29.040" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""It looks like the following.""" start="00:03:33.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I just pasted a few lines from the top, which is enough.""" start="00:03:39.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Since it's a CSV, there's already a structure to it.""" start="00:03:44.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But let's say if you have a log file""" start="00:03:47.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""where there's more complexities to be parsed and all,""" start="00:03:50.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""that also works out really well.""" start="00:03:53.760" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""You just have to describe how the data looks like""" start="00:03:55.040" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and the system will figure out how to work with this.""" start="00:03:58.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Now, let's do the plotting. So what I can do is...""" start="00:04:01.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Let's start from a very basic plot""" start="00:04:06.405" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""between life expectancy and GDP per capita.""" start="00:04:09.560" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I'll just do this.""" start="00:04:11.621" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""&quot;Can you make a scatter plot""" start="00:04:13.801" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""for life expectancy and GDP per capita?&quot;""" start="00:04:17.281" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Now, you can see there are some typos,""" start="00:04:26.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and probably there will be some grammatical mistakes""" start="00:04:29.640" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""also coming through.""" start="00:04:31.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But that's all OK, because the models are supposed to""" start="00:04:32.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""handle those kinds of situations really well.""" start="00:04:37.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So I send the request to the model.""" start="00:04:40.560" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Since it's a large model--GPT-4 is really large--""" start="00:04:43.240" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""it actually takes a lot of time to get the response back.""" start="00:04:47.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So this specific response took 17 seconds,""" start="00:04:50.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""which is huge.""" start="00:04:53.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""It's not something you would expect""" start="00:04:54.240" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""in a local file running on a computer.""" start="00:04:57.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But I've got what I wanted. Right.""" start="00:04:59.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So there's a scatter plot here, as you can see below,""" start="00:05:01.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""which is plotting what I specified it to do,""" start="00:05:04.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""though it looks a little dense.""" start="00:05:08.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template new="1" text="""What I can do is""" start="00:05:11.701" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I can provide further instructions as feedback.""" start="00:05:12.641" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I try to feed back on this. So I can say,""" start="00:05:16.001" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""&quot;Can you only show points where year is the multiple of 50?&quot;""" start="00:05:18.401" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So since it's starting from 1800, the data points,""" start="00:05:30.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""there are too many years,""" start="00:05:33.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""so I'll just try to thin them down a little.""" start="00:05:34.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Now what's happening in the background""" start="00:05:37.240" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""is that everything below this last instruction""" start="00:05:40.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""is going out as the context to the model""" start="00:05:42.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""along with the code that it wrote till now.""" start="00:05:45.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And then this instruction is added on top of it""" start="00:05:47.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""so that it basically modifies the code to make it work""" start="00:05:50.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""according to this instruction.""" start="00:05:53.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""As you can see now, the data points are much fewer.""" start="00:05:55.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This is what I wanted also.""" start="00:05:58.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Let's also do a few more things.""" start="00:06:01.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I want to see the progression through time.""" start="00:06:02.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So maybe I'll do something like, color more recent years""" start="00:06:05.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""with a darker shade of...""" start="00:06:13.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Let's change the color map also.""" start="00:06:15.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Now, this again goes back to the model.""" start="00:06:21.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Again, everything below before this line""" start="00:06:24.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""is the context along with the current code,""" start="00:06:26.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and then this instruction is going to the model""" start="00:06:29.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""to make the changes. So now this should happen, I guess.""" start="00:06:31.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Once this happens. Yeah. So. OK.""" start="00:06:37.040" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So we have this new color map,""" start="00:06:41.320" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and there's also this change of color.""" start="00:06:44.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And also there's this range of color from 1800 to 2000,""" start="00:06:46.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""which is a nice addition.""" start="00:06:51.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Kind of smart. I didn't expect...""" start="00:06:53.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I didn't exactly ask for it, but it's nice.""" start="00:06:55.840" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So there's a couple more things.""" start="00:06:58.960" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Let's make it more minimal. &quot;Let's make it more minimal.""" start="00:07:00.960" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Can you remove the bounding box?&quot;""" start="00:07:07.760" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Also, let's annotate a few points.""" start="00:07:17.320" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So I want to annotate the point""" start="00:07:21.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""which has the highest GDP per capita.""" start="00:07:23.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""&quot;Also annotate the point with highest GDP per capita""" start="00:07:25.840" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""with the country and year.&quot;""" start="00:07:33.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So again, forget about the grammar.""" start="00:07:37.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""The language model works out well.""" start="00:07:41.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Usually it takes care of""" start="00:07:43.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""all those complexities for you.""" start="00:07:46.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This is what we have got after that.""" start="00:07:47.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""As you can see, there's the annotation, which is here.""" start="00:07:53.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I think it's still overlapping,""" start="00:07:55.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""so probably it could be done better,""" start="00:07:56.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""but the box is removed.""" start="00:07:58.560" video="mainVideo-matplotllm" id="subtitle"]]
[[!template new="1" text="""Now, as you can see, the system is...""" start="00:08:00.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""You will be able to see this""" start="00:08:03.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""that the system is not really robust.""" start="00:08:04.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So the GitHub repository has some examples""" start="00:08:07.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""where it fails miserably,""" start="00:08:10.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and you'll actually have to go into the code""" start="00:08:12.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""to figure out what's happening.""" start="00:08:13.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But we do expect that to improve slowly,""" start="00:08:15.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""because the models are improving greatly in performance.""" start="00:08:17.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This is a very general model.""" start="00:08:21.040" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""This is not even tuned for this use case.""" start="00:08:22.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""The other thing is that""" start="00:08:24.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""while I was trying to provide feedback,""" start="00:08:26.640" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I was still using text here all the time,""" start="00:08:29.640" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""but it can be made more natural.""" start="00:08:32.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So, for example, if I have to annotate""" start="00:08:34.560" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""this particular point,""" start="00:08:36.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I actually can just point my cursor to it.""" start="00:08:37.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Emacs has a way to figure out""" start="00:08:42.240" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""where your mouse pointer is.""" start="00:08:44.520" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And with that, you can actually go back into the code""" start="00:08:45.800" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and then see which primitive""" start="00:08:49.621" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""is being drawn here in Matplotlib.""" start="00:08:51.961" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So that there is a way to do that.""" start="00:08:54.481" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And then, if you do that, then it's really nice to""" start="00:08:55.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""just be able to say""" start="00:08:58.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""put your cursor here and then say something like,""" start="00:09:01.320" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""&quot;Can you make this?""" start="00:09:04.280" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Can you annotate this point?&quot;""" start="00:09:05.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Because text is, you know... There are limitations to text.""" start="00:09:06.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And if you're producing an image,""" start="00:09:10.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""you should be able to do that, too.""" start="00:09:12.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So I do expect that to happen soonish.""" start="00:09:13.960" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""If not, from the model side, the hack that I mentioned""" start="00:09:16.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""could be made to work.""" start="00:09:19.840" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So that will come in in a later version, probably.""" start="00:09:21.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Anyway, so that's the end of my talk.""" start="00:09:24.440" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""You can find more details in the repository link.""" start="00:09:27.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Thank you for listening. Goodbye.""" start="00:09:29.760" video="mainVideo-matplotllm" id="subtitle"]]



Captioner: sachac

Questions or comments? Please e-mail [abhinav@lepisma.xyz](mailto:abhinav@lepisma.xyz?subject=Comment%20for%20EmacsConf%202023%20matplotllm%3A%20MatplotLLM%2C%20iterative%20natural%20language%20data%20visualization%20in%20org-babel)


<!-- End of emacsconf-publish-after-page -->