WEBVTT

00:00.080 --> 00:02.960
Would you believe it's already day five of week four?

00:03.000 --> 00:06.760
Here we are completing our sidekick project.

00:06.760 --> 00:07.800
I'm so happy!

00:07.800 --> 00:11.440
I love this project and I'm now such a fan of Landgraf.

00:11.480 --> 00:16.400
Over the course of the week, uh, we're going to be talking today about tools, tools and more tools

00:16.400 --> 00:21.240
we're going to be building in, uh, the same tool that we know and love already about searching the

00:21.240 --> 00:27.600
web, not navigating a browser, but doing the web search, uh, using the Serp API that we've used

00:27.600 --> 00:28.080
before.

00:28.200 --> 00:30.400
We're going to send push notifications because why not?

00:30.440 --> 00:31.400
We know how to do that.

00:31.400 --> 00:36.640
We're also going to add a tool to use the file system to be able to write files, so that we can have

00:36.800 --> 00:43.040
our operator agent that we're building our, our coworker that we have with our sidekick be able to

00:43.080 --> 00:45.720
read and write files from the file system.

00:45.720 --> 00:49.840
We're going to have it have access to Wikipedia so that it can look things up.

00:50.040 --> 00:54.000
And we're even going to give it the ability to run Python code itself.

00:54.000 --> 00:56.320
Not not in a Docker container like we did before.

00:56.360 --> 00:59.480
This time it's just going to have the ability to execute some Python.

00:59.640 --> 01:06.840
And so we're really giving it unfettered access to do things on our machine while we watch and while

01:06.840 --> 01:07.790
we monitor.

01:08.350 --> 01:09.990
And that leads me to a big point.

01:10.190 --> 01:14.870
Uh, the sidekick app that we're about to build is an experimental app.

01:14.910 --> 01:21.310
It's something for you to work with and to monitor and watch and use it for your own purposes.

01:21.310 --> 01:27.390
This is this is an app for commercial purposes for you, for you to be able to get more and do more

01:27.430 --> 01:29.670
with an AI agent at your side.

01:29.830 --> 01:32.670
But in doing so, it doesn't have guardrails.

01:32.670 --> 01:36.310
It's something which is, uh, open to the wild.

01:36.310 --> 01:39.630
And as such, it needs to be treated with some caution.

01:39.630 --> 01:41.390
And that's the first thing I want to say.

01:41.590 --> 01:44.230
Use sidekick at your own risk.

01:44.230 --> 01:49.270
If you're not comfortable with this, if you're not sure about the technologies behind it and so on,

01:49.310 --> 01:53.310
then please do remove the Python Repl tool that we'll we'll add.

01:53.310 --> 01:59.910
You should remove it and even remove the online navigation tools until you're, you're comfortable with

01:59.910 --> 02:00.390
what's going on.

02:00.390 --> 02:01.470
And you can watch it.

02:01.470 --> 02:05.230
This is an agent that we are allowing to roam free.

02:05.270 --> 02:10.510
Now of course when it's using the browser it's using it's using chromium, the open source version of

02:10.510 --> 02:10.870
Chrome.

02:10.870 --> 02:16.970
And it doesn't have access to any of our cookies or any of our passwords in a password manager or something

02:16.970 --> 02:17.450
like that.

02:17.450 --> 02:22.970
So it's not able to do anything like log in or it doesn't have access to credit cards and so on.

02:22.970 --> 02:27.770
And the file manager is is within a certain directory, so it can't roam free on your computer.

02:27.810 --> 02:30.170
The Python wrapper is that's pretty open.

02:30.170 --> 02:34.770
It can run any Python it wants, which would allow it potentially to write something that could that

02:34.770 --> 02:36.810
could do uh, do some damage.

02:36.970 --> 02:39.210
Uh, so you could remove that if you're, if you're concerned.

02:39.210 --> 02:41.450
But it does seem extremely unlikely.

02:41.450 --> 02:43.450
But nonetheless you need to be comfortable with it.

02:43.450 --> 02:46.330
You need to do it at your own risk please.

02:46.890 --> 02:50.890
The the other thing I want to say is that the sidekick app is a starting point.

02:50.930 --> 02:52.370
See it as a canvas.

02:52.490 --> 02:57.810
I've built something up with some prompts and some tools, and I've discovered that I can make it do

02:57.810 --> 02:58.650
great things for me.

02:58.690 --> 03:04.810
It actually did some work for me, some real work, some commercial work that I needed to do, and it

03:04.810 --> 03:08.730
did it for me and produced a report and it was something that I used.

03:08.730 --> 03:09.170
So.

03:09.170 --> 03:10.250
So it works.

03:10.530 --> 03:11.490
It really works.

03:11.490 --> 03:17.770
And it can deliver commercial benefit for you and be your own sidekick, let alone building it for other

03:17.770 --> 03:18.290
people.

03:18.610 --> 03:20.330
Uh, so see it that way.

03:20.440 --> 03:22.600
But you need to see it as this canvas.

03:22.600 --> 03:26.320
It's something which you need to to make suitable for yourself.

03:26.320 --> 03:30.240
You need to put in the sorts of tools and give it the kind of prompting you need.

03:30.280 --> 03:35.120
When I use it, I find that it sometimes goes awry, and I need to improve my prompts and make various

03:35.120 --> 03:36.960
changes to it to keep it on track.

03:36.960 --> 03:37.960
And that's what you have to do.

03:38.000 --> 03:42.320
It will require experimentation, and if you do so, it will pay dividends.

03:42.320 --> 03:43.720
And that's my final point.

03:43.720 --> 03:45.560
There's so much opportunity with this.

03:45.560 --> 03:47.840
This really unleashes a gigantic eye.

03:48.120 --> 03:51.400
But this is like it's like you're building your own madness.

03:51.400 --> 03:55.880
If you find if you find agents like, like madness from the Chinese startup that that was able to do

03:55.880 --> 04:02.040
things like hunt for good, rent in apartments and build websites and things, this is like your very

04:02.040 --> 04:07.520
own one that you are building and you are controlling and so you can make it do great things.

04:07.680 --> 04:13.200
Um, but it requires effort put into it to and it will, it will take some investment of your time and

04:13.200 --> 04:14.400
experimentation.

04:14.400 --> 04:17.680
And so I see that see it that way, the good and the bad.

04:17.720 --> 04:19.160
It's a it's a canvas.

04:19.160 --> 04:22.240
It's not a completed product, but there's so much potential.

04:22.560 --> 04:23.560
Well let's get to it.

04:23.560 --> 04:31.100
Here we are in uh, in Cursa, we're looking at, week four, of course, and now we're going to Python

04:31.100 --> 04:35.260
modules, which I know will please some people, but I'm not going to be typing code, but it's going

04:35.260 --> 04:37.660
to be looking at it but going through it carefully.

04:38.180 --> 04:43.060
So sidekick, the application is divided into three Python modules.

04:43.540 --> 04:44.740
There are they are here.

04:44.740 --> 04:47.420
And I'll first give you like a drive by of them.

04:47.420 --> 04:49.540
There is sidekick tools.

04:49.540 --> 04:54.700
And this is the module where we define the different tools that we will use.

04:54.700 --> 05:02.020
So it's nicely packaged up in one place that is going to get us access to a ton of tools, or it's going

05:02.020 --> 05:05.300
to give our agent access to a ton of tools, then sidekick.

05:05.780 --> 05:11.460
Now this is a bit of a long, a long, uh, module here, and maybe this should be broken up a bit.

05:11.700 --> 05:19.620
Um, but it contains a class sidekick, and that has the code that includes our worker, our evaluator,

05:19.620 --> 05:21.140
and the building of the graph.

05:21.140 --> 05:22.580
And we'll come and look through this.

05:22.660 --> 05:30.180
And then thirdly, there is App.py, and that is our Gradio app that manages the user interface side

05:30.180 --> 05:30.620
of it.

05:31.020 --> 05:31.380
Okay.

05:31.420 --> 05:34.260
So with that, let's just spend a couple of minutes on each on each piece.
