00:00:03
[Music]
00:00:12
hey everybody and welcome to day four
00:00:15
I'm Kevin I lead product at open aai so
00:00:18
yesterday we launched Sora and the
00:00:19
demand has been off the charts uh the
00:00:21
team has been was working late last
00:00:24
night they are in already this morning
00:00:25
we are doing everything we can to get
00:00:27
you access to Sora as soon as possible
00:00:29
and we can't wait to see what you create
00:00:31
today though we're talking about canvas
00:00:33
which is a product that we've had in
00:00:34
beta for plus users for the last couple
00:00:36
months canvas allows you to collaborate
00:00:39
with chat GPT on writing and coding that
00:00:41
goes beyond simple chat so we're
00:00:43
launching three things today first we're
00:00:46
bringing canvas to everybody and
00:00:47
integrating it into our main model so it
00:00:49
just works second we're enabling you to
00:00:52
run python code inside your canvases and
00:00:56
uh so you see the output whether it's
00:00:58
text or graphics and third we're
00:01:00
bringing canvas to custom gpts so you
00:01:03
can imbue all of your custom gpts with
00:01:05
the power of canvas so with that let's
00:01:08
dive in all right thanks Kevin Hey
00:01:10
everybody my name is Lee and I'm an
00:01:12
engineer helping you collaborate with
00:01:14
chbt hey everyone my name is Alexi and
00:01:16
I'm also a product engineer working on
00:01:17
chat GPT so Lee are your kids excited
00:01:20
about Christmas coming up oh boy yes um
00:01:23
you know I thought it'd be fun if we
00:01:24
could maybe make a story for them
00:01:25
Christmas Story and use canvas try it
00:01:27
out yeah let's check it out okay so so
00:01:30
if I go to chat BT you'll notice
00:01:32
starting today there's a new button in
00:01:33
the composer that lets us see all the
00:01:35
tools available one of which is canvas
00:01:37
so I'm going to click that and now
00:01:39
anything that I type here is going to
00:01:40
create a canvas so let's write that
00:01:42
story um help me write a Christmas story
00:01:49
about silly elves for my
00:01:53
kids and I'm going to send that off to
00:01:55
Chach gbt and it's going to get started
00:01:57
right away on making a campus for us so
00:02:01
um there's a handful of things that we
00:02:02
should explain what's going on here the
00:02:04
most significant thing that's different
00:02:06
is you have the side-by-side view where
00:02:08
on the left is the chat as you're used
00:02:10
to it and on the right is canvas and in
00:02:12
canvas right now chat gbt is busy
00:02:14
writing the story for us this is pretty
00:02:17
different from what would happen if you
00:02:18
wrote this kind of prompt before you
00:02:19
know chpt is good at doing this sort of
00:02:21
creative writing work but it would write
00:02:22
it directly in line and chat and
00:02:24
sometimes it's hard to piece out what's
00:02:26
the document and like what's the
00:02:28
Preamble or the what comes after um or
00:02:31
especially if you wanted to make any
00:02:32
changes along the way things tend to get
00:02:33
lost but now you have this side by side
00:02:36
so um let's take a look at what Chachi
00:02:38
PT made for us the silly elves in the
00:02:41
Christmas catastrophe no not a
00:02:43
catastrophe in the snowy Village of
00:02:45
tinsel toown nestled at the edge of the
00:02:46
North Pole lived the silliest group of
00:02:48
elves you ever could imagine all right
00:02:50
this is looking pretty good um you know
00:02:52
I uh I could make some changes I think
00:02:54
this title is a little long so I'm going
00:02:55
to you know maybe take this part out uh
00:03:00
actually otherwise this pretty good so
00:03:01
you can so chat GPT can edit and you can
00:03:04
edit sort of side by side yeah so I can
00:03:07
type in here you know I've been editing
00:03:08
the title I'm kind of making it for my
00:03:10
kids um so this is a collaborative
00:03:12
document and just like you might be used
00:03:14
to in other document editors you can
00:03:16
come in here you can add text you can
00:03:17
bold text you can do lots of things you
00:03:19
can do in other document editors you can
00:03:21
edit chat GPT can edit um I could go
00:03:23
over back to chat and just similar like
00:03:25
I would do in any other um chat GPT
00:03:27
workflow I could give it feedback I
00:03:29
could ask for changes and it's going to
00:03:31
come in and make those changes directly
00:03:33
into the canvas um but rather than show
00:03:35
you that I thought it' be interesting to
00:03:37
show this button in the bottom corner
00:03:39
which has a handful of commonly used
00:03:41
shortcuts that's based on things that we
00:03:43
know people do in chbt suggest edits ask
00:03:46
chat GPT for feedback about what it we
00:03:48
might want to change about this adjust
00:03:50
the length might make this longer or
00:03:51
shorter maybe I want to you know a
00:03:53
shorter bed time story reading level
00:03:55
will change this to make it you know
00:03:57
more sophisticated language or simpler
00:03:59
language in case I wanted to you know
00:04:00
make it easier to read for my uh my
00:04:02
younger kids ad final polish is really
00:04:04
helpful especially when you bring your
00:04:05
own content check for spelling mistakes
00:04:07
grammar things like that and then add
00:04:10
emojis that sounds fun yeah yeah we love
00:04:12
emojis let's try it um so if I click add
00:04:15
emojis you I've got some options about
00:04:17
where I want to put them words sections
00:04:18
list let's try words I click that and
00:04:21
Chachi is going to you know get to town
00:04:24
putting emojis into my doc look at that
00:04:27
so um what you're seeing here is chat BT
00:04:30
now making a revision to the document in
00:04:32
canvas it's starting at the top it's
00:04:33
writing a new version of the doc and
00:04:35
it's sort of streaming in on top of the
00:04:37
previous version just to make it a
00:04:38
little bit easier to see in context
00:04:40
what's changing and alongside this in
00:04:43
the chat you know it's you're seeing
00:04:44
that it's editing and you're noticing
00:04:46
that uh you know we have our
00:04:47
instructions back and forth um but
00:04:49
otherwise it's not getting sort of
00:04:50
cluttered up with the different
00:04:52
revisions that are happening kind of
00:04:53
looks like when my 8-year-old gets a
00:04:54
hold of a phone yeah I think your kids
00:04:56
are going to love this Lee there's
00:04:58
definitely a lot emojis that I put in
00:05:00
here that did a pretty good job um okay
00:05:02
so that's how you get started with
00:05:04
canvas you know canvas will trigger in a
00:05:06
couple different scenarios you can ask
00:05:08
chat gbt to just start collaborating
00:05:10
with you on a piece of content whether
00:05:12
it be writing or code and it will open a
00:05:14
canvas for you automatically or like I
00:05:16
just did here in the interface I'll show
00:05:17
you again is this button in the composer
00:05:19
to view the tools you just click canvas
00:05:21
and that's going to create a new canvas
00:05:23
every time amazing so in addition to
00:05:26
storytelling a lot of people use chat PT
00:05:29
to help with their own writing learning
00:05:31
how to be a good writer is hard and
00:05:32
today we're really excited to Showcase
00:05:34
some new features in canvas to make it
00:05:36
easier to get feedback on your work so
00:05:38
in my spare time I'm a bit of a physics
00:05:40
Enthusiast and so I have an essay here
00:05:42
that I've been working on titled Santa
00:05:44
SLE exploring the role of dark energy in
00:05:46
reindeer propulsion I'm going to copy
00:05:49
this from my from my text editor and
00:05:51
paste it into the prompt area in chat
00:05:53
GPT because I put in a substantial
00:05:55
amount of text we now have a new button
00:05:57
in the upper right that says open and
00:05:59
can
00:06:00
if I click this the content from The
00:06:02
Prompt is put into the canvas and this
00:06:05
is the same editable surface that Lee
00:06:06
was demonstrating so could you like bold
00:06:08
that title maybe yeah so I can go in
00:06:10
here and make a change if I wanted to um
00:06:13
before I send it off to chat gbt so this
00:06:15
hasn't been sent yet so when you made
00:06:17
that bold change what just happened
00:06:18
correct yeah this is all still a draft
00:06:21
document so until I send a message I can
00:06:24
edit it as much as I want um and chpd
00:06:27
hasn't seen it yet and it's attached to
00:06:29
the comp
00:06:30
exactly so I'm going to go in here and
00:06:31
I'm going to ask uh
00:06:35
chbt can you leave some comments on my
00:06:38
essay from the perspective of my physics
00:06:44
Professor nice okay so um maybe it's
00:06:47
going to give you some like technical
00:06:49
tips yeah hopefully we'll see what it
00:06:51
comes back with but previously you know
00:06:53
it would be hard to connect what the
00:06:56
feedback chat TBT is giving you to your
00:06:58
own work because it would all be inine
00:06:59
in the chat but not with canvas chat GPT
00:07:02
is able to select specific portions of
00:07:04
your work and leave comments in line
00:07:06
which makes it really easy to connect
00:07:08
what the suggestions are to your work
00:07:10
yeah I'm looking at these These are
00:07:11
pretty good feedback consider linking
00:07:13
this introduction more explicitly to the
00:07:15
scientific exploration of dark energy to
00:07:17
immediately establish the physics
00:07:19
connection but it didn't just like
00:07:21
respond to that in chat it selected
00:07:22
Santa slay and his flying reindeer have
00:07:25
long fascinated people blending mystery
00:07:26
magic okay so it's like picking out
00:07:28
sentences that it wants to give you
00:07:29
feedback on and then writing the
00:07:31
specific feedback per sentence exactly
00:07:33
and each of these comments I can have an
00:07:36
apply button and so clicking apply would
00:07:37
allow chat GPT to go through and apply
00:07:39
the edit as it sees fit and of course I
00:07:42
could then reject that edit if I wanted
00:07:43
to but since this is my own essay I'm
00:07:45
going to go in here and make changes on
00:07:47
my own so um I like this comment you may
00:07:50
briefly elaborate briefly on why dark
00:07:52
energy is mysterious to provide context
00:07:54
um I'm going to say we
00:07:57
don't know oops
00:08:00
why the universe expands and we don't
00:08:04
know why Santa is so fast in his sleigh
00:08:08
I'm curious about these cool the
00:08:12
mysteries of the universe the mysteries
00:08:13
of the universe I'm going to dismiss
00:08:14
this comment because I feel like I've
00:08:16
addressed it and when I'm ready to take
00:08:17
my sa out of chat GPT I can click this
00:08:19
copy button and send it off to my
00:08:21
professor great I'm sure your professor
00:08:23
is going to love these changes know this
00:08:25
is some Cutting Edge research here but
00:08:28
in addition to writing in chat PT we
00:08:30
know a lot of people also use it for
00:08:32
programming and we've made some really
00:08:34
exciting improvements to programming in
00:08:36
canvas as well let's check it
00:08:38
out so I've also been helping Santa with
00:08:41
some logistics for toy manufacturing and
00:08:43
I've been learning some data science
00:08:45
tools in Python so you're an open AI
00:08:47
engineer you're also a dark energy
00:08:49
researcher and you're helping Santa with
00:08:51
Logistics yeah I mean Santa could be
00:08:53
everywhere as once we really try to as
00:08:55
well here at open a so I have some
00:08:57
example code that I've been working on
00:08:59
locally so this is my local IDE but
00:09:01
something's not working and I want some
00:09:03
help debugging it I'm going to copy that
00:09:05
and then paste it into chat gbt I see
00:09:08
the same open and canvas button I click
00:09:10
that and now I have a canvas open but
00:09:13
this time it's actually a code editor so
00:09:15
chat GPT has recognized that this is
00:09:17
python code I get python syntax
00:09:19
highlighting and even some basic
00:09:21
autocomplete nice um I know this code
00:09:24
isn't working so I'm going to ask chat
00:09:26
gbt can you help me debug this code
00:09:30
what might be going
00:09:32
wrong chbt sees the code looks like it
00:09:35
identifies that plot. Lael does not
00:09:38
exist in map plot lib um it provides an
00:09:40
example corrected code um we could trust
00:09:44
this and and take it back locally but
00:09:47
one of the new features we want to
00:09:48
demonstrate today is the ability to
00:09:49
actually run your python code within
00:09:51
canvas so in the upper right we have
00:09:54
this button titled
00:09:57
run let see if PBT
00:10:01
finishes we'll click run and see what
00:10:03
happens click run and it looks like
00:10:05
right away actually we see that uh label
00:10:08
is not defined so chbt was correct about
00:10:11
that we see the exception and right away
00:10:14
anything in the console is shown to chat
00:10:16
BT so chat BT sees this exception and it
00:10:19
actually leaves a comment on it and it
00:10:21
looks like this corroborates what the
00:10:24
because label is not a valid function
00:10:26
and mat plot lib you might likely use
00:10:28
title instead this is great I feel like
00:10:30
I'm always trying to learn new libraries
00:10:33
and uh this is exactly the kind of errow
00:10:35
I get all the time um just like
00:10:36
forgetting the API for something and um
00:10:39
it's pretty amazing that it just picked
00:10:40
that out right away yeah and just like
00:10:42
comments in the document there's a fixed
00:10:44
bug button to let chat PT fix it for you
00:10:46
so when I click fix bug we show chat PT
00:10:48
the exception and your code and it's
00:10:50
able to edit the canvas to make that
00:10:52
correction that was pretty fast
00:10:55
so maybe we want to see like exactly
00:10:57
what chat PT changed yeah and there's
00:10:59
this great show changes button in the
00:11:01
canvas header clicking that will give
00:11:03
you an inline diff that should be
00:11:04
familiar to people who use git to show
00:11:06
you exactly what changes were made
00:11:08
that's cool um and show changes works
00:11:11
not just for good but for documents as
00:11:12
well exactly yeah Works across both of
00:11:15
the document both of the editors um so
00:11:17
now that we have this fix in place we
00:11:19
can try clicking run to see if it works
00:11:20
now and wow that was fast we really fast
00:11:24
have our line chart now rendering in the
00:11:25
console so can you explain a little bit
00:11:27
about exactly what happened because um
00:11:29
that python execution happen very
00:11:31
quickly yeah so within canvas we
00:11:33
actually load a web assembly python
00:11:35
emulator which allows us to load almost
00:11:37
any python library and run your code
00:11:39
almost instantly so you get immediate
00:11:42
feedback you can collaborate with chat
00:11:44
gbt effortlessly and really have a tight
00:11:46
feedback cycle all within chat gbt
00:11:48
including generating Graphics including
00:11:50
generating Graphics so Santa
00:11:52
particularly is interested in some sanki
00:11:54
flow diagrams to kind of track how toys
00:11:57
are flowing through his s those are the
00:11:58
ones with there's like arrows in and
00:12:00
arrows out honestly I'm not even sure
00:12:02
Santa asked me for this yeah I'm trying
00:12:03
to learn so he's always challenging us
00:12:05
I'm going to ask chbt to add a sanki
00:12:09
flow diagram for
00:12:12
Santa's toys please use appropriate
00:12:16
colors see if we get something uh Santa
00:12:19
themed interesting so chat GPT is going
00:12:22
to go through and edit our code again um
00:12:24
and now it's adding example two a sanki
00:12:26
diagram cool so we got total toys
00:12:29
delivered to Children distributed to
00:12:30
stores defective okay so it's added a
00:12:33
handful of lines of code creating a
00:12:35
sinky um adding data finishing it and
00:12:38
then saying show yeah let's uh try
00:12:40
running
00:12:41
this oh no uh looks like there's been a
00:12:45
problem with the colors um but Chach PT
00:12:49
has an idea of how to fix that um use a
00:12:53
single color per flow let's try it let's
00:12:56
try
00:12:57
it this is kind of Awesome this is
00:12:59
exactly what happens when I'm trying to
00:13:01
learn something new is I will go search
00:13:03
for example code I'll run it it
00:13:05
inevitably won't quite work uh and then
00:13:08
I will try again and then uh go through
00:13:10
this Loop and try to read the
00:13:12
inscrutable python errors and figure it
00:13:14
out for
00:13:15
myself oh there we go all right looks
00:13:18
like maybe Matt plot lip has some bugs
00:13:20
in its sanky layout but we got a graphic
00:13:22
so there there we go we got a graphic
00:13:23
and we can keep refining this with chat
00:13:25
PT even dragging this image into the
00:13:27
prompt air if you want to show chat PT
00:13:28
EX exactly what this image looks like to
00:13:31
help find so those are some of the new
00:13:33
programming features in canvas
00:13:35
amazing all right there's one last thing
00:13:38
that I want to show and that is bringing
00:13:41
canvas into custom gpts so gpts in case
00:13:45
you're not familiar are a way to give
00:13:47
chat gbt custom instructions custom
00:13:49
context and a lot of really distinct and
00:13:51
specific behavior to whatever particular
00:13:53
task that you have at hand and then you
00:13:55
can share them with other people so they
00:13:56
can benefit as well there's a GPT store
00:13:58
full of the things they're really
00:14:00
interesting and uh I decided to make one
00:14:02
for Santa you know Santa gets all these
00:14:04
letters and he has to respond to all of
00:14:05
them and I figure that's got to be a lot
00:14:07
of work and it might be helpful if you
00:14:09
just had you know just like a first
00:14:11
draft something to start with he could
00:14:13
decide if he likes it or didn't like it
00:14:14
you could edit he could go from there
00:14:16
and then send on his uh so you're also a
00:14:18
part of North Pole operations uh I can
00:14:20
neither I can neither confirm nor deny
00:14:22
this all right if Santa comes out with a
00:14:24
Frontier Model I'm going to be very
00:14:26
suspicious so um Alexi I'm to notice
00:14:29
that you wrote your letter to Santa and
00:14:31
left it out on your desk oh I meant to
00:14:33
mail that already I can't believe you
00:14:35
found it yeah um well I snapped a
00:14:37
picture of that and I figure um maybe we
00:14:39
could use that as a a bit of an example
00:14:41
here so
00:14:43
let's bring that if I can figure out how
00:14:45
my mouse
00:14:47
works okay there we go so we've got our
00:14:51
picture into Chachi BT let's open it up
00:14:53
real quick just to get a look a bike a
00:14:56
GPU and some dark matter that tracks
00:15:00
yeah that's right there that looks like
00:15:01
my letter okay um you know I also figure
00:15:04
Santa has some context on you know
00:15:06
whether you've been naughty or nice
00:15:08
that's uh you know one of the things he
00:15:09
keeps track of and in addition to taking
00:15:12
a picture of the letter we probably want
00:15:13
to add that in so I'm going to let Santa
00:15:15
drafter know that Alexi's been nice this
00:15:17
year really appreciate that Lee
00:15:21
yeah okay Alexi has been nice this year
00:15:23
so let's send this off to our custom
00:15:26
GPT and um hopefully will get back a
00:15:31
canvas all right here's our custom GPT
00:15:34
starting to write out our letter nice it
00:15:36
says Dear alexie ho ho ho thank you for
00:15:38
your letter I put a big smile on my rosy
00:15:40
cheek face let's see what do we have
00:15:42
here first off a new bike excellent
00:15:44
choice all right looks like you're
00:15:45
getting that bike great h100 GPU Mrs
00:15:48
Claus tells me it's quite the PowerHouse
00:15:50
running AI models the elves in the tech
00:15:52
Workshop are tinkering away on that one
00:15:54
for you as well so that's promising and
00:15:56
dark matter M he's s admitting that
00:15:59
might even Beyond his capabilities in
00:16:01
the Toy Factory so I sounds like maybe
00:16:04
you shouldn't get your hopes up for that
00:16:06
one yeah I don't know how you put that
00:16:07
one in stocking either
00:16:08
so um but this is a pretty great first
00:16:11
draft and you know Santa could come in
00:16:13
here and you know change this up as much
00:16:14
as he wants make edits um as much as he
00:16:18
wants and then as soon as he's ready you
00:16:20
know write this out and his
00:16:21
characteristic handwriting style and
00:16:23
send this letter back out to you
00:16:24
hopefully this will save Sant some time
00:16:26
and so you know we should talk a little
00:16:28
bit about what's actually happening here
00:16:29
you you might have noticed that I didn't
00:16:31
click the canvas button I didn't mention
00:16:34
to create a canvas it just made a canvas
00:16:37
so this is an example of chat PT
00:16:39
determining that canvas would be the
00:16:40
right thing to do but how did know to do
00:16:42
that yeah well um when I built this
00:16:44
custom GPT I put that in the custom
00:16:47
instructions so um do you guys want to
00:16:49
see how I made this did you show yeah
00:16:50
yeah please so if we go up here into the
00:16:54
GPT excuse me um and hit edit
00:16:59
and that should take us to the
00:17:00
configuration
00:17:02
page so this is how you set up a GPT
00:17:05
it's really pretty straightforward you
00:17:07
can get a picture and a name and a
00:17:08
description so people in the store if
00:17:09
you choose to share it um can see what
00:17:11
it's about the important part here is
00:17:13
the instructions so I wrote here your
00:17:16
tool for Santa to help write first draft
00:17:18
responses in canvas to the letters that
00:17:20
he gets every response be written in
00:17:22
Santa's characteristic style and humor
00:17:24
and your job is to write responses to
00:17:26
the letters using the canvas tool so in
00:17:29
instructions I told it to use the canvas
00:17:31
tool so I'm going to expect that it will
00:17:33
use canvas pretty much to every um every
00:17:36
put thing that I put in there which is
00:17:37
exactly what I want this to do that's
00:17:39
going to be the right tool in addition
00:17:41
to that down here at the bottom is a
00:17:42
list of checkboxes on your capabilities
00:17:45
so this is the set of tools in chat GPT
00:17:47
that are available in gpts and there's
00:17:49
the new one here canvas which is uh you
00:17:51
know starting as we were at today uh
00:17:54
will be on by default for new gpts
00:17:57
existing gpts we're going to leave this
00:17:58
off that way we don't disrupt the
00:17:59
behavior of any existing uh gpts that
00:18:02
people have created um but if you want
00:18:04
to add canvas to your existing GPT very
00:18:07
easy to do that you just go into this
00:18:08
configuration screen you'll see that
00:18:10
check box and you can check it and then
00:18:11
you'll have canvas available in your GPT
00:18:13
amazing amazing yeah so this is canvas
00:18:16
that's the handful of things we wanted
00:18:18
to show you today we've got canvas
00:18:20
rolling out to all web users regardless
00:18:22
of plan as a default experience in 40 so
00:18:24
whether you're on a free plan or a paid
00:18:27
plan you'll have canvas we've got using
00:18:29
your own content in chat GPT or using
00:18:31
your own content in in canvas we've got
00:18:33
code execution and we've got canvas and
00:18:35
custom gpts it's awesome so we're super
00:18:38
excited to see what you do with it like
00:18:40
uh like Lee said we'll be rolling this
00:18:42
out today uh before we go though let's
00:18:45
end with a Christmas joke okay are you
00:18:47
ready yeah we're ready all right how
00:18:49
does Santa take photos all right let's
00:18:51
hear it with a North Polaroid
00:18:59
all right see you tomorrow everybody
00:19:05
[Music]