[00:00] (0.00s)
You need to use NAN right now.
[00:02] (2.46s)
It's the most powerful automation
tool I've ever seen. On top of that,
[00:05] (5.76s)
it's open source, local,
private, and free.
[00:09] (9.39s)
It makes Zapier and I-F-T-T-T
crop the holdup. I'm warning you,
[00:13] (13.38s)
NAN is addicting because you can
automate everything right here from this
[00:18] (18.24s)
beautiful gooey. We can start with
something simple, aggregating your news,
[00:21] (21.24s)
YouTube subreddits, hacker News, a
nice daily digest sent to your inbox.
[00:24] (24.99s)
Maybe sprinkle in a little
bit of AI summarization.
[00:27] (27.39s)
Let's get crazier and automate your
home lab, run commands on a schedule.
[00:30] (30.42s)
Create an AI agent that will troubleshoot
your home lab before you even know
[00:33] (33.48s)
there's an issue. You can even talk
with your home lab. Think about that.
[00:37] (37.38s)
If you're an IT in any capacity,
you need to run eight N.
[00:40] (40.41s)
They have connections to every
service you use, and if they don't,
[00:42] (42.81s)
you can make your own and
I'm not sure you heard me.
[00:44] (44.79s)
You can automate everything, your email
inbox, social media, post your toilet,
[00:49] (49.08s)
it can do anything. Honestly, the hardest
part is figuring out what to do first.
[00:53] (53.22s)
Let me help you with that. In this video,
[00:54] (54.63s)
I'm going to walk you through every step
of setting up N eight N in your lab,
[00:57] (57.78s)
teaching you the basics of N eight N and
walking you through a few of your very
[01:01] (61.08s)
first automation projects,
[01:02] (62.49s)
which I think you're going to
love to get you coffee ready?
[01:05] (65.01s)
Let's automate now real quick, have
you hacked the YouTube algorithm?
[01:08] (68.04s)
Let's make sure you do. If
that like button subscribe,
[01:09] (69.78s)
comment notification bell. You got to
hack YouTube today ethically, of course.
[01:13] (73.17s)
Now I'm going to show you
two ways you can install NAN.
[01:15] (75.57s)
I encourage you to take a glance at both
paths so you can kind of get a feel for
[01:18] (78.54s)
what's best for you. The first way is
on-prem and your home lab and your house.
[01:22] (82.32s)
This option will be a bit more complex,
but that just makes it more fun.
[01:25] (85.62s)
The good news is that NAN is
light. You'll need some Linux,
[01:28] (88.26s)
so think a server or a desktop
computer, but it doesn't have to be big.
[01:31] (91.38s)
It can be as small as a raspberry
pie. In fact, it can be much smaller.
[01:34] (94.17s)
What's funny is their
official documentations like,
eh, you don't need much.
[01:37] (97.86s)
It's not CPU intensive and no
matter what hardware you choose,
[01:40] (100.65s)
we will be installing this
with Docker, which is amazing.
[01:43] (103.02s)
If you don't know what that is, that's
fine. I'm going to walk you through it.
[01:45] (105.15s)
The second option is my favorite and
recommended path, the cloud for this.
[01:48] (108.72s)
You've got options. I'm going to walk you
through setting it up on hosting your,
[01:51] (111.48s)
they're the sponsor of this video and
where I host a lot of my home lab now.
[01:54] (114.90s)
the reason I like this option is because
N eight N connects to a ton of things
[01:58] (118.89s)
and it has a ton of things. Connect to it.
[02:00] (120.90s)
The cloud option is less complex and
you'll be up and running in a few sips of
[02:04] (124.02s)
coffee. One more to go. The first thing
you'll do is set up your cloud account.
[02:07] (127.41s)
We're going to do it on hosting your
head out to hosting your.com/n CNAN. Now,
[02:12] (132.18s)
real quick, check this out. If
I go to services and go to VPS,
[02:15] (135.12s)
which is a virtual private
server, it's what we're doing.
[02:17] (137.13s)
You can jump right into
N-A-N-V-P-S hosting. It's
like they knew we were coming.
[02:21] (141.42s)
Click on that. Choose your plan.
KVM two is perfect with all of this.
[02:25] (145.74s)
You can have an entire home lab, not
just NAN, run a website, run open web ey.
[02:30] (150.18s)
A lot of the projects I talk about on
this channel can be run with this one
[02:33] (153.24s)
virtual machine in the cloud and don't
forget to put in coupon code network,
[02:36] (156.39s)
Chuck. Some magic stuff will happen. Now,
if you chose that special NAN option,
[02:40] (160.08s)
you're pretty much done. If however,
[02:42] (162.06s)
you already had a hosting or server
maybe running Ubuntu or something or any
[02:46] (166.26s)
other type of VPS, continue on
to the on-prem installation.
[02:49] (169.86s)
It's going to be pretty much the same.
Hey, network shut from the future.
[02:52] (172.71s)
Here I decided to pop out the section
for the on-prem install into its own
[02:56] (176.25s)
video, which you can see right here. Why?
[02:59] (179.02s)
Because I did not want you to
wait to see how powerful a n is,
[03:02] (182.41s)
which I'm about to show you right now.
[03:04] (184.69s)
Once it finishes setting up and
you're at the server console,
[03:06] (186.82s)
just click on manage app and it takes
you right to the NAN signup page for your
[03:11] (191.20s)
own hosted NAN. Anyways, let's
get logged in or signed up.
[03:15] (195.07s)
I don't want to receive any updates. Next,
[03:17] (197.44s)
we don't have to fill any of that out
and you actually do want this free
[03:20] (200.71s)
activation key, so go ahead and have
it, send that to you, check your email.
[03:24] (204.49s)
I just received my key,
[03:25] (205.51s)
so I'll go to the usage and plan area
to enter my activation key. Again,
[03:29] (209.77s)
this is all free and done, so
now here we are at the overview.
[03:33] (213.25s)
NAN is installed. Now what?
[03:36] (216.61s)
Let's set up your first automation
and what NAN calls an automation is a
[03:39] (219.91s)
workflow. We'll start right up
here. Click on Create Workflow.
[03:43] (223.60s)
Now you're about to have a whole
world open up to you. This is so fun.
[03:46] (226.63s)
Now for me, I always feel like I'm behind.
[03:49] (229.69s)
It's so hard for me to keep up
with all the tech news coming out,
[03:52] (232.33s)
checking bleeping, computer
hacker, news, subreddits, YouTube.
[03:56] (236.47s)
It's all so much. I need a
better solution. We're going
to make that right now.
[04:00] (240.22s)
Now we're going to start small,
[04:01] (241.60s)
something very simple and then we're
going to slowly get more insane.
[04:05] (245.47s)
It's like a skinny dude just getting
into the gym. We're starting slim.
[04:08] (248.62s)
By the end, we're going to be yoked
and insane. Alright, NAN basics.
[04:12] (252.37s)
Here we stink and go click on the
square to add our first step. Boom,
[04:16] (256.63s)
what's happening here? We're
adding our first trigger.
[04:19] (259.30s)
What's going to make our workflows flow?
[04:21] (261.97s)
Do its thing 99% of the time you're going
to start with trigger manually right
[04:26] (266.17s)
here. Your workflows can always have
this trigger along with other triggers.
[04:30] (270.22s)
We'll cover that here in a
second. Actually, you know what?
[04:32] (272.05s)
Let's add another trigger right now.
[04:33] (273.31s)
So at the top right you'll
see we have our plus icon.
[04:36] (276.34s)
Let's add another one plus, and then
down here we have add another trigger.
[04:40] (280.09s)
This time we'll do on a schedule
and we'll say every one day at
[04:45] (285.07s)
Yeah, midnight's actually. Great,
done. So now we have two triggers,
[04:48] (288.94s)
both ready to do some things.
[04:50] (290.59s)
Let's click on that first plus
icon to add our next node.
[04:53] (293.26s)
Now here you have a billion
options. We have a fun AI section,
[04:57] (297.46s)
which we'll cover a little
bit here in a moment.
[04:59] (299.41s)
You can do something in an app and they
have a bajillion connections to whatever
[05:03] (303.25s)
service you can think of.
[05:04] (304.66s)
Just know we have a bunch of
nodes and they help us do things.
[05:07] (307.06s)
The first thing I want
to do is search for RSS.
[05:10] (310.03s)
We're going to do an RSS read trigger
and notice it immediately threw us into
[05:14] (314.38s)
the node. We can click out of it
just by clicking some blank space.
[05:18] (318.16s)
It's sitting right here.
[05:19] (319.12s)
It's got a little angry thing
because we haven't configured it yet,
[05:21] (321.79s)
but notice how it connects.
[05:23] (323.02s)
We can also take our schedule trigger
and connect it here too. Boom,
[05:26] (326.35s)
just like that. Or we can delete it. Boom,
[05:28] (328.54s)
and we're going to
start with one RSS feed.
[05:30] (330.34s)
That's going to be from bleeping computer.
Put it in there, get out of there.
[05:33] (333.40s)
Let's save our config. You want to save
often, like everything in it. Top right,
[05:37] (337.57s)
click on save. We're saved and now let's
test our RSS Read. Let's jump in there.
[05:42] (342.07s)
Just double click your icon,
[05:43] (343.36s)
your node and click on execute
step right here at the top go.
[05:47] (347.95s)
Did you see all that? It just
went out and pulled all the stuff,
[05:51] (351.19s)
all the articles from Bleeping computer
and those are field of the creator.
[05:55] (355.24s)
The title Unified CM has a hard
coded root SSH grill. That's bad.
[06:00] (360.20s)
Anyways,
[06:00] (360.98s)
we have a whole bunch of fields even
has the entire content and notice a few
[06:04] (364.64s)
things. Here we actually
have our number of items.
[06:06] (366.86s)
It pulled 13 articles from the
feed. We don't control that.
[06:09] (369.80s)
That's just how many were available in
the R ss feed and also notice over here
[06:13] (373.49s)
we can change how we view this data.
[06:15] (375.56s)
Now you're about to become an
expert in JSON because NAN is
[06:20] (380.33s)
very js O heavy. We can view it in
JSO or JSON or we can view the schema,
[06:24] (384.83s)
all the available fields. If we click out,
[06:27] (387.35s)
notice that we have on our
little timeline connector here.
[06:31] (391.28s)
The trigger was like one item,
which is just go the RSS read.
[06:35] (395.96s)
When it read the RSS feed.
[06:37] (397.82s)
It pulled in 13 items and that's what
it's going to hand off to the next step.
[06:42] (402.32s)
Alright, cool. We pulled in 13
articles from Bleeding Computer.
[06:45] (405.29s)
Let's send it somewhere.
Let's say Discord,
[06:47] (407.30s)
so I'm going to add another node right
here. Boom. I'll search for Discord.
[06:51] (411.38s)
They do have a built-in Discord
node and look at all these options.
[06:54] (414.92s)
You can do so many things for
me. I'm going to send a message.
[06:59] (419.90s)
Yes, that's what I'm doing. Now,
[07:01] (421.10s)
immediately we're thrust into
this and we have a lot of options.
[07:04] (424.88s)
The first is our connection type.
[07:06] (426.17s)
Now keep in mind every node's going
to have their own configuration. Now,
[07:09] (429.38s)
for our connection type,
[07:10] (430.55s)
I want to do a simple web hook because
all I want to do is send a message to one
[07:14] (434.36s)
particular channel, but in order
to do that, I'll need a credential,
[07:17] (437.60s)
something to connect to this service.
Now, you'll see this a lot with N eight N.
[07:21] (441.56s)
You can connect all kinds of
things like your Gmail account,
[07:23] (443.69s)
your Gmail calendar notion, open
ai, gr andro, a lot of connections,
[07:28] (448.22s)
a lot of credentials. Let's go
and add one right now for Discord.
[07:31] (451.25s)
Now for this particular use case, it
will only be a webhook URL. Very simple.
[07:35] (455.36s)
Feel free to follow along. It's
free to set up a Discord server.
[07:38] (458.15s)
I just did it just now as we're talking,
I'm going to create a new channel,
[07:41] (461.75s)
suite, suite news, creating it,
[07:45] (465.74s)
and then I'll go into my server settings,
[07:48] (468.53s)
go to integrations and
create a quick web hook,
[07:50] (470.96s)
which we'll post to Sweet Sweet News.
I'll copy that. URL, paste it here,
[07:55] (475.22s)
click save,
[07:56] (476.30s)
and we have our first credential created
and notice how we have a dropdown
[07:59] (479.51s)
because we can have multiple discord
credentials, but we just have the one.
[08:02] (482.30s)
Now we're going to send a message
and we're going to say something.
[08:05] (485.48s)
Now first I'm just going to test it. I'm
going to say hi and execute. Excellent.
[08:09] (489.89s)
We got a success true. Now, is
that true? Let's go check. Oh gosh,
[08:14] (494.66s)
it just said hi a
million times in general.
[08:16] (496.82s)
I hadn't saved it for the other
thing yet. Now, real quick,
[08:20] (500.03s)
why do you think it said hi 13 times?
Watch, I'll do it again. By the way,
[08:24] (504.35s)
isn't this like playing
with the video game?
[08:26] (506.24s)
Why do people even play the video games
when you can do stuff like this in your
[08:28] (508.79s)
home lab? Are you kidding me?
[08:30] (510.17s)
Let's say I bet you there will be 13 of
[08:34] (514.91s)
these. Go done. Look back in
Discord, we have 13 messages.
[08:39] (519.89s)
Why? That's how NAN handles things.
[08:42] (522.53s)
Notice that we're handing
off 13 articles or items
[08:47] (527.36s)
from our RSS read node.
[08:49] (529.19s)
The discord node is going to go through
each one of those 13 items and perform
[08:53] (533.21s)
13 individual actions. Now,
[08:55] (535.05s)
the reason I only said like hi or that
dumb sentence I had is because I didn't
[08:59] (539.28s)
put anything specific to
those articles in the message.
[09:02] (542.40s)
Let's change that right now.
So let's start with, hey,
[09:05] (545.34s)
here is your news for the day and
here's where things get very fun.
[09:09] (549.30s)
Let's hit enter a few times,
[09:10] (550.44s)
give us some space and let's start
adding some of the content from these
[09:13] (553.89s)
articles. Let's add the creator. I'm
just going to grab this right here.
[09:17] (557.85s)
See this? Notice how
my mouse highlights it.
[09:19] (559.89s)
I'm going to drag it over
right there. Look at that.
[09:22] (562.26s)
Notice it's going to be JSON Creator.
[09:24] (564.03s)
It's pulling from this JSON information
and this notation right here is actually
[09:27] (567.21s)
JavaScript. Don't get scared.
[09:29] (569.70s)
You won't have to know JavaScript
to move forward with N eight N.
[09:33] (573.42s)
You're going to get better at JavaScript
because it does rely on that quite a
[09:36] (576.45s)
bit, but we've got Chacha, BT,
[09:38] (578.07s)
and Claude to help us figure out
some other things. But for now,
[09:40] (580.77s)
you won't have to know that.
Just notice what I did there.
[09:42] (582.60s)
I dragged and it created that. So
put the creator, let's put the title,
[09:46] (586.44s)
we'll put the link and the
published date. How about that?
[09:50] (590.79s)
I notice how below us we're
seeing the result, the example,
[09:53] (593.64s)
what those variables are forming into.
Now let's test that out, execute step.
[09:57] (597.75s)
Let's go see what happened.
Look at that actual news.
[10:02] (602.34s)
Notice that sent out 13 messages,
but also notice it's said, Hey,
[10:06] (606.33s)
here's your news for the day. 13 times
that one for each article. Now ideal,
[10:10] (610.23s)
we'll definitely fix that, but so
far we've done something pretty cool.
[10:13] (613.47s)
I'm going to click save one more time.
[10:14] (614.64s)
We set up a node to pull information
from an RSS feed and then we're sending
[10:17] (617.49s)
that information to a Discord
channel, but honestly, 13 is too much.
[10:21] (621.69s)
I don't want to see 13 things.
Let's limit that information.
[10:24] (624.48s)
Let's write here between the
discord node and the RSS read node.
[10:27] (627.75s)
I'm going to add something called limit
which will restrict the number of items.
[10:31] (631.77s)
I'm going to say I only
want to see five things.
[10:33] (633.84s)
Now I could execute it from here.
I don't have to. I can jump out.
[10:36] (636.66s)
Hit the play button right here. Boom.
And now we're only sending five items.
[10:40] (640.32s)
Now do you want to see something really
cool? This has nothing to do with news,
[10:42] (642.81s)
but I can't, can't wait to show,
oh, I almost want the coffee.
[10:45] (645.33s)
That's how excited I am.
[10:46] (646.44s)
I can't wait to show you this now we
don't have to click on anything to add a
[10:48] (648.96s)
new node.
[10:49] (649.38s)
We can just go up here to the plus sign
or even just hit tab and open up the
[10:53] (653.70s)
node selector. I'm going
to search for command line.
[10:57] (657.96s)
We can execute commands on the host,
so I'm going to click out of it.
[11:02] (662.40s)
Look at that. That's pretty
sick. I'm going to have this.
[11:04] (664.65s)
Click the execute button, make
that go off too. Now look at that.
[11:07] (667.65s)
I can actually make both of
these Go off another branch.
[11:10] (670.77s)
Now let's have it do something.
[11:11] (671.52s)
So let's jump into our node and this will
be a command that we're actually doing
[11:14] (674.97s)
executing on our docker host. I'm
going to say ping 1.1, 0.1 0.1,
[11:19] (679.32s)
and we'll do that for account. So
dash C of three. Let's try it out.
[11:23] (683.49s)
Look at that. We are able to run
commands. Now, I don't know about you,
[11:28] (688.05s)
but when I see that I'm like, oh
my gosh, I'm starting to get this.
[11:32] (692.16s)
I have a billion ideas. Now,
[11:35] (695.01s)
let's say that we're doing a test for our
internet and we know that when we ping
[11:39] (699.39s)
1.1 0.1 and we give responses back,
[11:41] (701.52s)
we know it's working and maybe we want
to have that sent to us in our discord
[11:45] (705.00s)
message. Let's do that right now.
[11:46] (706.17s)
So I'm actually going to delete this
connection between discord and the limit
[11:49] (709.38s)
node. I'm teaching you a little bit
about how we manipulate data inside NAN.
[11:53] (713.86s)
I'm going to add a new node
right here called the merge node.
[11:57] (717.43s)
We can merge sets of data.
[11:59] (719.35s)
Notice how it has two inputs
limits going into one.
[12:02] (722.77s)
Let's add our command output
into the other. For merge,
[12:05] (725.17s)
we have a few options or more than a few.
We have a lot, but a pending is great,
[12:09] (729.19s)
so it's going to append
one input to another.
[12:11] (731.89s)
I'll show you what that
looks like here in a second,
[12:13] (733.12s)
but notice something kind of weird.
[12:14] (734.53s)
Notice how our command output
shows one item going out,
[12:17] (737.77s)
but our RSS feed or read and
our limit is outputting nothing.
[12:22] (742.06s)
It kind of reset, didn't it?
[12:23] (743.20s)
So now we have to go back in there
and run them again to pull fresh data.
[12:26] (746.17s)
So I'll jump into RSS, read,
[12:28] (748.18s)
execute the step again and notice
how our command output is now gone.
[12:31] (751.60s)
It kind of resets as you're
going through. That's annoying,
[12:34] (754.30s)
especially as you get to later steps.
[12:35] (755.83s)
There's a way to get beyond
that when you're testing.
[12:38] (758.14s)
I can jump into this RSS read notice that
we have our results here on the right
[12:41] (761.65s)
and I have a little thumbtack. I can
pin that data, say keep that data there.
[12:45] (765.97s)
Don't ever remove it.
Same thing goes for limit.
[12:47] (767.89s)
When I execute limit I can say boom pin
that there. So no matter what happens,
[12:52] (772.27s)
that stays there. I'll do the
same thing for command pin,
[12:55] (775.27s)
that sucker unless we have a pin on
each of the nodes when we do that,
[12:58] (778.63s)
and then we'll execute our merge
and I'll show you what it does here.
[13:01] (781.30s)
So it actually just did our five articles
we're pushing over and then at the
[13:06] (786.01s)
end we have a bunch of weird fields,
[13:08] (788.83s)
but at the end it added
in our ping results,
[13:11] (791.35s)
which is standard out
a new column that has,
[13:13] (793.60s)
I notice we're outputting six items.
[13:15] (795.67s)
Now let's connect that back to Discord
and let's jump into the discord node and
[13:19] (799.24s)
mess with a few things. Actually,
[13:20] (800.68s)
I'm just going to add one
more new piece of data.
[13:22] (802.60s)
We're going to add our standard out here.
[13:23] (803.92s)
So notice the ping results are down
here with standard out or St. Doubt,
[13:27] (807.91s)
no doubt. Now let's run it. True, true,
true, true, true, true. A lot of stuff.
[13:31] (811.36s)
We check discord, there's all our articles
and at the end is our ping result.
[13:35] (815.86s)
Now sidebar,
[13:37] (817.15s)
beyond just doing the command
execute command on the Docker host,
[13:41] (821.35s)
we can also add an SSH node that
will log into any computer or
[13:45] (825.97s)
server with SSH, access and execute
any command you want, network,
[13:50] (830.05s)
switch router, anything. I
know your gears are turning.
[13:54] (834.49s)
Stop it. You can't do that right
now. You're going to get distracted.
[13:57] (837.16s)
We got to learn the basics before you
move on. Sorry, that was my fault. Now,
[14:00] (840.34s)
one of the killer things that I have not
shown you yet with NAN is the power of
[14:04] (844.96s)
ai. Now,
[14:06] (846.10s)
already a n is cool because you can do
all of this and we haven't even touched
[14:10] (850.03s)
ai. Let's add AI to it. Let's say
we've got all these articles coming in,
[14:15] (855.04s)
these five items from bleeping
computer, but who has time to read that?
[14:18] (858.31s)
Let's have AI summarize that for us.
[14:20] (860.17s)
So right here between the limit and
the merge, I'm going to add a new node.
[14:25] (865.12s)
I'll choose ai and we
have a bunch of options.
[14:28] (868.60s)
The most common one is right
here, the basic LLM chain.
[14:31] (871.72s)
We'll select that and we'll jump out of
it real quick so you can see it nice and
[14:34] (874.84s)
clean here. Let's make some room for
our new family member. Our new friend.
[14:39] (879.10s)
Notice our LLM chain.
[14:40] (880.24s)
He's a bigger node and he has this
weird thing jutting out of him.
[14:43] (883.93s)
And this is for our AI model.
[14:46] (886.09s)
We can choose whatever AI model we want
to connect to this and be the brains.
[14:49] (889.90s)
Let's do that right now. Look on plus
and we have some options. Anthropic,
[14:54] (894.77s)
Azure, deep seek, open ai,
or even llama a local model.
[14:59] (899.12s)
So here I'll select Llama, why
not? We will need a credential.
[15:02] (902.93s)
I'll create one right now and it's
just going to be connecting to a host.
[15:05] (905.96s)
Now my local host is not
running my Alama server.
[15:08] (908.54s)
It's going to be Terry here in my data
center. They might be wondering, Chuck,
[15:11] (911.99s)
how are you doing this? You're
right now connected to hosting her,
[15:14] (914.99s)
but you're somehow accessing your
stuff and that magic is with Twin Gate.
[15:19] (919.43s)
They're not sponsoring this video,
[15:20] (920.69s)
but I use them all the
time for stuff like this.
[15:22] (922.49s)
It's insanely secure and awesome.
If you want to learn more,
[15:24] (924.86s)
I've got a video about it here. So
anyways, let's see if this works.
[15:28] (928.04s)
Click on save, it's going to test the
connection. Okay, I think it worked.
[15:30] (930.74s)
And then now I can select all of my
local models. I'll run LAMA 3.2. Why not?
[15:35] (935.12s)
So now with the LLM chain,
I've got my model connected.
[15:37] (937.46s)
Now let's have it do something. So
I'll double click the LLM chain node.
[15:40] (940.64s)
So it's hoping you have a
chat trigger connected to it.
[15:42] (942.71s)
Instead of that we're going to define our
own a message, a prompt, and I'll say,
[15:47] (947.03s)
your job is to summarize
this article in two
[15:52] (952.01s)
sentences, go and then
I'll add in the content.
[15:54] (954.74s)
Now the content is very much abbreviated
and how is Lama going to summarize
[15:58] (958.55s)
what's not there? So let's try this.
[16:00] (960.50s)
I'm going to change my RSS feed
from bleeping computer to Krebs,
[16:04] (964.61s)
another security based
blog, Krebs on security,
[16:07] (967.73s)
and I believe when I do that
I should get the entire blog
[16:12] (972.71s)
and the content. Yeah, it's like
every bit of it. That's awesome.
[16:16] (976.16s)
I'm going to pin that. Jump into my
limit. Execute again. Unin and test.
[16:21] (981.05s)
There it is. I'll pin that now.
So now when I jump into my LLM,
[16:24] (984.95s)
I'll add the content ENC coded
and that should be everything.
[16:28] (988.58s)
Let's take a look by expanding
the box every bit of it.
[16:31] (991.66s)
Now let's execute the step and
see how Llama handles this.
[16:34] (994.52s)
Now I'm worried because that is
a lot of content. As I step out,
[16:37] (997.64s)
you can see it's working, which this is
so cool. Look at this. And there you go.
[16:40] (1000.64s)
Three, four or five items, it
finished up. Let's check it out.
[16:43] (1003.13s)
The output now is okay,
[16:45] (1005.56s)
it didn't quite summarize each article
in two sentences because we're dealing
[16:48] (1008.89s)
with the local model and the context
window of a local model is smaller. Oh,
[16:52] (1012.94s)
llama did. Okay, but if we traded
out for more of a frontier model,
[16:56] (1016.99s)
let's do a Chad j bt, I'll create
a new credential for open ai.
[17:01] (1021.88s)
I'll use four one mini, that's
fine. Let's see how that does.
[17:06] (1026.65s)
Not too bad at all. That's
awesome. Check this out.
[17:10] (1030.16s)
Let's add a LLM chain between our
execute command and the merge.
[17:14] (1034.36s)
Let's do ai.
[17:15] (1035.59s)
We'll do a standard LM chain and
let's do something like this.
[17:19] (1039.49s)
Tell me if the internet is up,
[17:22] (1042.82s)
if you see successful pings
from the output below,
[17:27] (1047.74s)
that means it's good.
Tell me in a funny way,
[17:31] (1051.79s)
impersonating Eddie Murphy. Let's grab
the standard out and put it right there.
[17:37] (1057.16s)
We'll give it open ai.
I'll see how it does.
[17:46] (1066.43s)
That's stupid, but it's powerful.
[17:51] (1071.12s)
You get what I'm kind of
trying to do here, but come on,
[17:54] (1074.03s)
I know what you're thinking.
What else can you do with that?
[17:56] (1076.46s)
So let's expand this a bit
more. I'm going to save this.
[17:59] (1079.13s)
This will be our part one project and
I'll go up to the top left here and see
[18:01] (1081.71s)
where it says my workflow. We're going
to click in there and just name this,
[18:05] (1085.67s)
my first one, and then we're going
to go up here to the top, right,
[18:09] (1089.15s)
click the buttons or the dots here and
say duplicate. I'll say my second one
[18:15] (1095.60s)
and duplicate. Now we
have another workflow.
[18:18] (1098.12s)
If I go back to personal on the side
here, I can see I have my two workflows.
[18:22] (1102.32s)
I can go to credentials. So I have all
my credentials here that I've created.
[18:25] (1105.56s)
I executions. Every time
we've run something,
[18:27] (1107.90s)
you can jump in and analyze
exactly what happened.
[18:32] (1112.64s)
Isn't that amazing? This
thing's too powerful. Let's
get back to our second one.
[18:36] (1116.33s)
Let's add some more fun stuff.
[18:37] (1117.44s)
So what I want to do actually
is finish up this project.
[18:39] (1119.81s)
Let's combine all the information that
we now have from our AI powered stuff.
[18:45] (1125.12s)
And I should have pinned that
information, pinned that,
[18:51] (1131.45s)
and this is where pinning information
is great because you don't want to waste
[18:54] (1134.30s)
tokens on ai. Speaking of tokens, look
at this, I'm going to run it again.
[18:58] (1138.14s)
We got to log here. What's going on?
[18:59] (1139.49s)
It shows you in real time the tokens
being used on the bottom left here.
[19:03] (1143.33s)
Isn't that cool? Alright, now we're
really going to pin that information. Now,
[19:05] (1145.97s)
before we get to merge,
[19:07] (1147.23s)
I want to mess with our data over here
for a second because right now if we look
[19:10] (1150.02s)
at our LLM chain, right? It's
outputting just the summary.
[19:13] (1153.08s)
That's all it's handing out. And these
five items, that's all we're seeing,
[19:17] (1157.43s)
but I also want to include
information from our limit,
[19:20] (1160.07s)
like the creator and
the title and the link.
[19:22] (1162.23s)
So we can do something pretty cool
with a node called the set field node.
[19:26] (1166.01s)
I'm going to add it right here, search
for it set or edit fields there,
[19:29] (1169.13s)
it's so sitting right here,
[19:30] (1170.81s)
what we can do is just take
certain things we want to include.
[19:33] (1173.27s)
So I'm going to go back to previous
steps. I'll go to the limit step.
[19:36] (1176.99s)
So give me the creator, give me the title,
[19:41] (1181.49s)
just dragging stuff over. Give
me the link publication date,
[19:44] (1184.73s)
and then I'll add in the summary that
Chad GT made. So if execute that,
[19:49] (1189.77s)
bam, it created those
fields, just the ones I want.
[19:53] (1193.16s)
And then we'll send them to our discord.
[19:54] (1194.72s)
And actually what I'm going to do now is
remove the merge because it gets messy
[19:58] (1198.23s)
having six items from over here
and only one item from over here.
[20:01] (1201.32s)
I'll remove that and just duplicate
my discord node just like this.
[20:04] (1204.71s)
So now set a field, puts
out all the info, say,
[20:09] (1209.57s)
hey, here is what you need to know today.
[20:17] (1217.64s)
Then over here, here are his,
[20:20] (1220.64s)
how the internet is doing,
[20:26] (1226.22s)
straight it out, let's check our
internet look. Oh, there we go.
[20:30] (1230.57s)
That's so cursed. And then let's execute
our news articles. Let's check it out.
[20:35] (1235.64s)
Now we figure out our link.
Got to have the link in there.
[20:42] (1242.57s)
Much better. Now we're going
to start going faster here,
[20:45] (1245.27s)
but let's add some more news.
Let's say YouTube videos.
[20:47] (1247.59s)
And did you know that every YouTube
channel has their own RSS feed?
[20:50] (1250.74s)
So check this out. I'm going to
add a new node for set fields.
[20:55] (1255.42s)
We're going to assess some information
here and we're going to put this at the
[20:57] (1257.40s)
root of our flow here.
[20:58] (1258.78s)
And we're going to add a
field called channel IDs.
[21:03] (1263.55s)
We're going to make this an array,
[21:05] (1265.59s)
which will be a list of items and it's
going to be a list of YouTube channel
[21:09] (1269.01s)
IDs. We'll grab a few, let's go grab mine,
[21:11] (1271.41s)
which you can find a channel
ID from going to more and
[21:16] (1276.87s)
going to share channel and
copy channel id. But there,
[21:21] (1281.10s)
let's go find David Bumble
[21:25] (1285.51s)
and Tyler Ramsey, all great friends.
[21:29] (1289.47s)
This way you're not reliant on the
stupid YouTube notification system.
[21:32] (1292.53s)
An our array will look like this.
Want to execute this boom clean list.
[21:36] (1296.79s)
Now here's what I'm going to do.
I'm going to add just after this,
[21:39] (1299.22s)
an RSS read to find an r RSS S
feed for any YouTube channel,
[21:42] (1302.61s)
it's going to be like
this, blah, blah, blah.
[21:45] (1305.46s)
Channel ID equals and we're just going
to add in at the end of that the channel
[21:52] (1312.99s)
So notice it filled it in the
variable over here. Oh wait,
[21:55] (1315.96s)
do you see what's happening? Oh no.
[21:57] (1317.67s)
It's taking it as one object and putting
it all in there at the same time.
[22:01] (1321.15s)
I've got to fix for that.
[22:02] (1322.17s)
You're learning some serious
data manipulation here in
NAN. What we have to do,
[22:06] (1326.31s)
notice spitting out one
item, one item right here.
[22:09] (1329.10s)
We need to have that spit out as
many items as YouTube channel IDs.
[22:12] (1332.49s)
So we're going to add another note in
between called split out, not Splunk.
[22:16] (1336.81s)
And yes, you can do Splunk stuff split
out based on channel IDs. Execute boom,
[22:21] (1341.64s)
three items kicked out. Perfect,
now it's working. Awesome.
[22:25] (1345.72s)
So if we execute the step
for the RSS read one,
[22:28] (1348.09s)
we'll change that to YouTube channels.
[22:29] (1349.83s)
It's going to go grab some YouTube videos
and their links and we got 45 videos
[22:33] (1353.46s)
to watch. We don't need that many.
What do you say? We filter it.
[22:36] (1356.76s)
Let's filter by the ISO date.
[22:38] (1358.68s)
So this will be essentially when the
video is published. Let's grab that,
[22:41] (1361.77s)
put it in there.
[22:43] (1363.06s)
Now notice it's like the time as well and
we don't really need to filter off the
[22:46] (1366.96s)
time. All I care about is the day,
[22:48] (1368.76s)
so I'm going to use some fancy expression
like this that'll just grab the year,
[22:53] (1373.50s)
month date. Now again, I'm no wizard
with this. This is just chat GT. Hey,
[22:57] (1377.55s)
how do I do this really
quickly? And I'll say,
[22:59] (1379.35s)
is the published date after or equal to?
[23:02] (1382.83s)
And we'll put in three days from
now again with some AI magic. Cool.
[23:08] (1388.11s)
Notice how it's changing to July
1st for that particular date,
[23:10] (1390.99s)
and then June 29th. Let's see how many
videos are within the last three days?
[23:15] (1395.82s)
Eight. Cool, so we've filtered it
down to eight. Our output looks okay,
[23:20] (1400.35s)
and then let's add another discord
node and edit what data we want to see.
[23:31] (1411.48s)
Perfect. Let's try it out.
[23:33] (1413.61s)
Now we have videos being delivered
to our inbox or to discord.
[23:37] (1417.33s)
Now we're going to have to stop here
because this video could probably go on
[23:40] (1420.63s)
forever. I could sit here and do
this with you for a long time.
[23:43] (1423.54s)
I'm going to save my stuff.
[23:45] (1425.38s)
I'm going to zoom out for a second and
I just want to point out a few things.
[23:48] (1428.56s)
First, what we did here was not crazy
complicated, but it is powerful.
[23:53] (1433.33s)
And what I wanted to hit home was
the building blocks of n innate N.
[23:56] (1436.75s)
My goal was to get you going. Oh,
I can do that with the AI agent.
[24:01] (1441.46s)
I can execute these commands.
Oh, I could do this and that.
[24:04] (1444.13s)
I want you to be just brimming with
ideas and I want to see those in the
[24:07] (1447.04s)
comments.
[24:08] (1448.06s)
Think about this food for thought because
this is what I'm going to build based
[24:11] (1451.60s)
on this. Instead of just
spitting out articles,
[24:14] (1454.81s)
maybe you have an AI rate the articles
based on your personal preference and
[24:19] (1459.58s)
rank them and maybe the
AI will tell you, Hey,
[24:21] (1461.89s)
you should definitely read this article.
Or don't waste your time with this.
[24:25] (1465.22s)
Maybe it can go through YouTube
videos, look at the comments,
[24:28] (1468.70s)
read the transcript,
[24:29] (1469.84s)
summarize when you really don't need to
watch the entire video or have it tell
[24:34] (1474.25s)
you this video is a must. You
have to watch the entire thing,
[24:37] (1477.19s)
like that kind of thing.
[24:38] (1478.36s)
Having this crazy automated news
aggregator is totally possible with this
[24:43] (1483.25s)
tool. And that's just
one idea. And by the way,
[24:45] (1485.95s)
I did kind of build this already. I
wanted to show this to you in the video,
[24:49] (1489.19s)
in this video, but I just didn't
have any time. But in the next video,
[24:52] (1492.94s)
because there is something
I want to cover beyond this,
[24:55] (1495.07s)
I want to show you something
I teased in the beginning.
[24:57] (1497.77s)
It's more around this workflow here,
[24:59] (1499.93s)
executing commands and having AI analyze
your commands because NAN has one
[25:04] (1504.58s)
powerful thing I haven't
shown you yet. It's with ai.
[25:07] (1507.76s)
I'm going to add one more AI
thing here into the AI agent.
[25:11] (1511.00s)
I'm just going to put him out in the
middle here. Let's zoom in on him.
[25:13] (1513.46s)
Notice he's like the LLM block, but
he has a few more things going on.
[25:17] (1517.30s)
He's got memory and tools. What
does that mean? Check this out.
[25:21] (1521.83s)
I'm going to add for the chat model,
just open ai. Cool. Then for the tool,
[25:27] (1527.32s)
I'm going to add command line and
the command will be ping network
[25:32] (1532.00s)
chuck.com For four
pings, I'll describe it.
[25:37] (1537.70s)
This is how you check.
[25:40] (1540.19s)
If the website is up, add another tool.
[25:45] (1545.05s)
Let's do another command
and say Ping 10.7,
[25:49] (1549.43s)
seven point 14 point 30 for three pings.
[25:55] (1555.22s)
This is how you see If Terry is up
[26:00] (1560.14s)
and now I want to add a trigger for
this AI agent, it'll be a chat trigger.
[26:03] (1563.50s)
I'll connect it right here.
Now I'm going to open the chat.
[26:06] (1566.50s)
Now I'm going to say, Hey,
is the internet up it? Its
[26:12] (1572.38s)
it's using chat GBT. It's that
they're going to use one of our tools.
[26:16] (1576.31s)
It's using both for some reason.
Look at that. So that's pretty cool.
[26:20] (1580.36s)
I can say things like, Hey, is Terry
up? It's only going to one thing. Terry,
[26:26] (1586.00s)
are you seeing this?
This is a simple example.
[26:28] (1588.64s)
We can connect this whole thing to our
whole home lab. That's the next video.
[26:32] (1592.33s)
That's all I got. I'll
catch you guys next time.