[MUSIC]
>> Welcome, my name is Michael Jolley
and I'm the bald, bearded builder.
I'm glad to be here, hope you're glad to be here.
We're gonna write some code later,
we're gonna do some ML.
What we're gonna do is we've got some Azure functions
that are grabbing all of the extensions
out of VS code marketplace that have themes
and saving the data about those into Cosmos.
Then we have another process an Azure function that runs
and pulls out any of those extensions
that we haven't processed yet,
or each of those that function
fires up an Azure Container Instance.
That container instance fires up a Docker container,
it installs VS code, installs the extension
and then for every theme in that extension
it records the colors data about that theme to Cosmos
and takes a picture of VS code using that theme
and saves it to Azure file storage.
Yeah, so without further ado.
Let's go do the work you want to?
Okay, this is where I'm at I've got it up right now.
Let me show you what I got.
We've got some Cosmos data over here.
This is all of the extensions we've cataloged.
So if we go look over here,
here are all the themes we've cataloged
and when it's cataloging it,
it's cataloging the name, what extension it came in.
So in our machine learning, we've got some datasets.
This writing's dataset is actually
coming out of that Cosmos DB for writings,
it's got the user ID, the theme ID and the writing.
We split the data coming out of writings
it's failing here and I don't know why.
So let's go look at the error message and see
unexpected number of columns in the dataset training data.
The dataset hasn't changed.
None of these things have changed.
I wanted the fied to just skip past all that
and use like a cash version of it.
Here's the problem with this.
It ran and it completed and it says it did it great.
I don't know what that means
I've never done any of this before.
I mean, I like it when things go green and not red
but I don't even know what that is.
Oh, the heck if I know, I'm just gonna save that.
Okay, so the Web Service Input
requestingUserId I don't know, heck if I know.
The output, let's say theme again, I have no idea.
What I mean by I have none is I have zero.
It looks fancy though,
I'm gonna give him credit, it looks pretty.
So that works, what about publish?
I just create new,
I don't know if that's a good name,
go, publish let's see what happens.
Oh, I did that fast, okay.
I thought I was gonna have a minute
to like drink some coffee, I did not.
Unsupported API version.
Oh good, I'd hate to think it worked.
They said this is the REST endpoint,
but I don't know what that is.
That is not started,
there it is submit, what is this,
do you want me to submit it?
Use a clear description,
I don't know 'cause I don't.
I like to think that somebody actually reads these.
Is it doing anything?
Status is completed.
We're gonna have to go look at the documentation.
Oh, selecting points.
Okay, where was I, didn't I not use like a real time one?
There is the training did,
I don't wanna pass in the theme
I want you to tell me a theme.
I wanna pass in a user ID
and then tell me a theme ID that it thinks I would like.
I think we just set up our,
that thing into designer, I think we set that up wrong.
Let's see we have failed with click on Save.
It ran a long time to fail.
Oh, so it didn't allow duplicates and preserve order.
I said, no, we'll bring that up here I guess.
Get rid of this, that's going to go at the bottom of them.
I feel like I needed to change careers,
is this what ML engineers do all day?
Deployment completed, okay, so let's go get this data.
I really wanna see that it has no extension ID
that's how I know I got it right.
What if we hit that endpoint ourselves,
and say control in.
Okay, so we've get the dataset.
Let's go back to the designer.
Here we go again,
finalizing, completed! Perfect! Perfect!
Now, it should start scoring that,
oh, please score well, please do well.
We were playing with the wide
and deep recommender yesterday on stream,
but like I said, I'm brand new to this
and I didn't understand the different inputs and outputs.
The more I play with it, the more it goes wrong.
Honestly, the more I click
and read and go read the documentation
about that property and what I should be passing in
and I can start massaging the data.
But it feels at times like,
I'm getting the hang of it, but I'm not
I realized I'm like, I'm a noob,
but I'm a happy noob, but does that count?
Am I having a noob, it did it.
I don't know if it's worth anything, but it did something.
Okay, so I published it.
So I've got a pipeline.
What a beautiful, beautiful pipeline.
Oh, the endpoint, oh, can I go back to the end point?
Endpoint, I've got an endpoint now.
There I do click on that, how did I create this one?
I don't even remember.
See, we just did this a minute ago
and I've already forgotten it.
The none duplicate users goes there.
Oh my gosh!
Am I figuring it out?
Our little developer's screwing up, look at him!
Wait, I don't wanna evaluate it,
just do it right, just do it right.
Are we really doing machine learning
to find the VS code thing?
Yup, yeah, we are.
It completed, it worked.
So we should be able to deploy this, right?
Did it create?
Maybe I need to refresh,
it's probably broken its connection now.
So we're waiting on it to come up
that it's spinning up an Azure Container Instance.
I've got an instance of VS code on a different window.
I'm gonna go try and hit this endpoint
and see if I can get a score.
I'm gonna test over here.
Wait, localhost 5,001 score.
Well, that doesn't seem right, does it?
That's the endpoint, oh, here let's do this, copy that.
You'll look at the resource group.
And see if that works.
That's a hard nope ghost writer, that's a hard nope.
Then let's open up Azure,
go over to the database, we'll go to...
It highly recommends this theme for me, what is it?
Let's go see.
I got to tell you I did this theme, honestly.
Yeah, I would at least try this theme out.
This is all subjective.
So it's hard to like say it's perfectly right
or as perfectly wrong.
It thinks I'm gonna hate this theme
more than I hated that light theme.
It's not doing terrible.
Feel really good about the recommendation stuff.
The recommendation engine,
the machine learning that we did in Azure today
I feel like it's working like a champ.
There are a lot of things to do on this project,
this is not gonna be done for a long time.
It's gonna be a lot of fun
to see what all we can add into it
and how we can play with it.
A lot of possibilities.
And so far it's doing a heck of a job.
We'll see how it does with more data,
I think more data is just gonna make it better.
It's gonna make it more better, that's just science.
Anyway, let's head over there, let's head over there.
We copy and pasted the heck out of this project
and it worked out okay.
But we've learned a lot in this project.
We've done so much with Azure Container Instances
and functions and storage and we have been after it.
Thanks for hanging out with me I really appreciate it,
until next time, peace!