00:00:00
in this video I'll give you a complete
00:00:02
guide to AI specifically for python
00:00:04
developers you can treat this as a road
00:00:06
map of topics and modules you may want
00:00:08
to learn or simply a quick refresher
00:00:10
that will keep you up to speed with
00:00:12
everything going on in the AI world with
00:00:15
that said let's dive in let's begin with
00:00:17
machine learning algorithms now these
00:00:19
are computational methods that allow
00:00:21
computers to learn from and make
00:00:23
decisions or predictions Based on data
00:00:26
they do this by identifying patterns and
00:00:28
relationships in large data sets during
00:00:30
a process known as training now during
00:00:32
training an algorithm will adjust its
00:00:34
parameters in order to minimize errors
00:00:37
once training is finished then this
00:00:39
algorithm can make predictions usually
00:00:41
with a high accuracy if it's been
00:00:42
trained correctly on new data that it's
00:00:44
never seen before this means that your
00:00:47
program has actually learned something
00:00:49
and without explicit programming it's
00:00:50
able to take in some new data and make
00:00:53
hopefully an accurate prediction about
00:00:55
it there's all kinds of different
00:00:56
machine learning algorithms but these
00:00:58
are really at the core of AR icial
00:01:00
intelligence and you should learn them
00:01:01
first before moving on to anything more
00:01:04
complicated now I have a list of machine
00:01:05
learning algorithms that I recommend
00:01:07
that you learn so let me read them out
00:01:09
number one is linear regression followed
00:01:12
by decision trees random forests K means
00:01:15
K nearest neighbors and support Vector
00:01:17
machines there are a ton of other ones
00:01:19
that you can look at but these are some
00:01:20
of the more popular ones and they'll
00:01:22
give you a good foundation of machine
00:01:24
learning algorithms and how they
00:01:25
actually work now in order to build
00:01:27
these out yourself or make them on your
00:01:29
own you you can use various different
00:01:31
python modules for example you can use S
00:01:33
kit learn you can use numpy pandas map
00:01:36
plot lib and Seaborn now these are all
00:01:38
used for different tasks within actually
00:01:40
implementing these types of algorithms
00:01:42
but they're good to know and really
00:01:43
where you should start if you want to be
00:01:45
a python AI developer now obviously as a
00:01:48
developer we can build out AI features
00:01:50
on our own but often times it's a lot
00:01:53
more helpful and much faster to work
00:01:55
with pre-existing tools now that's where
00:01:57
the sponsor of this video squid AI comes
00:02:00
in Squid AI is a flexible unopinionated
00:02:03
backend as a service that lets you
00:02:05
connect and secure any database or API
00:02:07
in minutes whether you're working with
00:02:09
no SQL SQL graphql or HTTP squid makes
00:02:13
it super easy to integrate with your
00:02:15
data sources through their developer
00:02:17
friendly sdks now one of the coolest
00:02:19
features is how Squid's AI allows you to
00:02:22
take action on both unstructured and
00:02:24
structured data making it easy to build
00:02:26
interactive fully featured AI Solutions
00:02:29
imagine just being able to focus on your
00:02:31
app's functionality and allowing squid
00:02:33
to take care of all the backend
00:02:34
complexities for you squid also offers
00:02:37
powerful security functions seamless
00:02:39
integration with typescript libraries
00:02:41
and the ability to embed AI agents
00:02:43
directly in your application this means
00:02:46
you can have intelligent agents that
00:02:47
interact with their environment gather
00:02:49
data and perform tasks autonomously and
00:02:52
the best part of this is that you can
00:02:53
get started completely for free by
00:02:55
clicking the link in the description or
00:02:57
watching my full tutorial where I walk
00:02:59
through building an entire AI
00:03:01
application with squid in just one hour
00:03:04
moving on we have neural networks neural
00:03:06
networks are a specific type of machine
00:03:08
learning algorithm whose architecture is
00:03:10
inspired by the function of the human
00:03:12
brain neural networks are comprised of
00:03:14
layers of nodes or neurons which are
00:03:17
interconnected and can transmit
00:03:18
information between them now each of
00:03:21
these connections between the neurons
00:03:23
has something known as a weight this
00:03:25
weight is adjusted during the training
00:03:27
process to minimize errors and give a
00:03:29
better accur for the network or the
00:03:31
machine learning model now unlike
00:03:33
traditional or more simple machine
00:03:34
learning algorithms which typically rely
00:03:36
on manually crafted features neural
00:03:39
networks can automatically extract and
00:03:41
learn more complex features of raw data
00:03:44
this allows them to do more complex
00:03:46
tasks and to come up with
00:03:47
representations or find patterns and
00:03:49
relationships that simple machine
00:03:51
learning algorithms just can't do this
00:03:53
also means that neural networks are a
00:03:55
little bit more of a mystery after
00:03:57
you've trained a neural network you're
00:03:58
not quite exactly sure what it's using
00:04:01
to come up with the correct answer but
00:04:03
you know that it's adjusted the weights
00:04:04
and different parameters within the
00:04:06
network so that it's fine tune to the
00:04:08
specific data that you've trained it on
00:04:10
now this is a complex topic and not
00:04:12
something we need to get into a ton but
00:04:14
there are a few features you may want to
00:04:15
consider learning about neural networks
00:04:17
obviously the architecture so things
00:04:19
like an input layer your hidden layers
00:04:21
your output layer you want to learn
00:04:23
about things like activation functions
00:04:25
weights and biases and how data is
00:04:27
propagated through the network then then
00:04:29
there are two main terms you'll be
00:04:31
interested in in terms of how a network
00:04:33
is actually trained the first is back
00:04:35
propagation this refers to actually
00:04:37
going from the end result and going back
00:04:40
through the network and adjusting all of
00:04:42
the weights and biases to learn from
00:04:44
mistakes or to move closer towards the
00:04:46
correct answer or the correct features
00:04:48
within the neural network the next is
00:04:51
gradient descent gradient descent is
00:04:53
something that refers to finding the
00:04:54
local minimum or maximum in kind of
00:04:56
three-dimensional or multi-dimensional
00:04:58
space and this is something that's used
00:05:00
to kind of guide the model in the right
00:05:02
direction again I'm not an expert in
00:05:04
this field and I don't want to confuse
00:05:05
you in just a few minutes here but these
00:05:07
are really cool things to learn about
00:05:08
and those are some of the main topics
00:05:10
you may want to focus on now in order to
00:05:12
build and work with neural networks you
00:05:13
can look at modules like P torch
00:05:15
tensorflow and caras and you can also
00:05:18
check out things like neat neuro
00:05:20
evolution of augmented topologies which
00:05:22
is a little bit more advanced but uses a
00:05:24
neural network as its backbone moving on
00:05:26
we have computer vision now computer
00:05:29
vision refers to doing image and video
00:05:31
analysis and typically things like
00:05:33
object detection and tracking facial
00:05:35
recognition image segmentation so
00:05:38
picking out specific parts of images and
00:05:40
can do all kinds of other amazing things
00:05:42
for example I was just watching the
00:05:44
Olympics and that's a great example
00:05:45
where they have a ton of computer vision
00:05:47
and they're doing things like tracking
00:05:49
all of the places different athletes hit
00:05:50
the ball or where they serve the ball on
00:05:52
like a pingpong table really interesting
00:05:54
applications and typically this can use
00:05:57
basic machine learning algorithms or
00:05:58
more advanced things things like
00:06:00
convolutional neural networks now what I
00:06:02
mean by that is we'll take an actual
00:06:04
image and we'll analyze that image using
00:06:06
machine learning algorithms those could
00:06:08
be basic machine learning algorithms
00:06:10
like some of the ones that we talked
00:06:11
about before that are more specified for
00:06:13
images or things like convolutional
00:06:15
neural networks which are specific types
00:06:18
of neural networks in terms of their
00:06:19
architecture that analyze images and
00:06:22
videos specifically again there's a lot
00:06:24
of topics to get into within computer
00:06:25
vision but if you want a few modules to
00:06:28
check out that can help you do this the
00:06:29
first that I definitely recommend is
00:06:31
open CV this has a lot of built-in uh
00:06:34
kind of models and features in it that
00:06:36
allow you to really easily do computer
00:06:38
vision tasks and then we have things
00:06:40
like scikit image and pillow or pill p l
00:06:44
check those out computer vision to me is
00:06:45
one of the coolest Fields with in Ai and
00:06:48
with python you can get started pretty
00:06:49
quickly without having to be an expert
00:06:51
now after computer vision we have large
00:06:53
language models or llms which in my
00:06:56
opinion are one of the most
00:06:57
misunderstood forms of AI in terms of
00:07:00
what they actually do and how you can
00:07:02
use them large language models are
00:07:04
designed to be able to understand and
00:07:06
generate human text in a broad sense
00:07:09
they're trained on tons of different
00:07:11
textual data from things like books
00:07:13
movies articles the internet doesn't
00:07:16
matter they're trained on so much
00:07:17
different text and this allows them to
00:07:19
broadly be pretty good at a lot of
00:07:21
different tasks they can answer
00:07:23
questions they can generate essays for
00:07:25
you they can write code they can do a
00:07:27
lot of things decently well in so many
00:07:29
different context because of the amount
00:07:31
of information that they've been trained
00:07:33
on that said most llms with the
00:07:35
exception of things like chat GPT that
00:07:37
have other features built into them
00:07:38
don't have access to realtime
00:07:40
information and sometimes they can
00:07:42
hallucinate and give you responses that
00:07:43
don't actually make sense even though it
00:07:46
sounds like they do because their
00:07:47
English is quite good this means if you
00:07:49
want an llm to be really good for your
00:07:51
specific task you should find tune it
00:07:54
fine-tuning is the process of passing
00:07:56
this specific data related to exactly
00:07:58
what you want this llm to do for example
00:08:01
medical diagnosis you could pass it a
00:08:03
ton of past diagnosises and it can learn
00:08:05
quickly and use that in combination with
00:08:07
its natural language processing ability
00:08:10
to really answer something quite well
00:08:12
and to achieve higher performance now
00:08:14
when we talk about llms there's two main
00:08:16
types you want to be aware of the first
00:08:18
is GPT or generative pre-trained
00:08:21
Transformer now this process is text
00:08:23
unidirectionally meaning going from left
00:08:25
to right and is generally very good at
00:08:28
generating new content now the next is
00:08:30
Bert b t and I'm just going to read this
00:08:33
so I don't get the name wrong this is
00:08:35
bidirectional encoder representations
00:08:37
from Transformers now this understand
00:08:40
text and processes it from left to right
00:08:43
and from right to left which allows it
00:08:45
to be really good at comprehension and
00:08:47
answering questions about information or
00:08:50
textual data it's not quite as good as
00:08:52
actually generating new content or text
00:08:54
so generally speaking if you want to
00:08:56
generate something new that doesn't
00:08:58
already exist use GPT and if you want to
00:09:01
understand something more deeply and
00:09:02
have better comprehension you can use a
00:09:04
Bert model now if you want to work with
00:09:06
various llms in Python then I recommend
00:09:09
looking at hugging face hugging face is
00:09:11
a place that has pre-built Transformers
00:09:13
for you that you can f- tune and bring
00:09:16
into your python programs now moving on
00:09:18
we get into the natural Next Step which
00:09:20
is rag or retrieval augmented generation
00:09:23
now this is a technique that you can use
00:09:25
with llms to get better responses and
00:09:28
use them for more context specific
00:09:30
applications as I said before llms
00:09:32
typically don't have access to realtime
00:09:34
information or even if they do they
00:09:36
might not have access the information
00:09:38
you need them to have let's say you're a
00:09:40
restaurant you have some reservations
00:09:42
you have different menus you have a
00:09:44
bunch of information that's constantly
00:09:46
changing and maybe stored in some kind
00:09:47
of database well you may want an llm
00:09:50
internally or some kind of chatbot that
00:09:52
you can really quickly ask questions too
00:09:54
so you don't need to go and query all of
00:09:55
that information on your own well if you
00:09:58
just have a base LM it doesn't have
00:10:00
access to all of that information so
00:10:02
instead we use a technique called rag
00:10:04
now rag involves your llm querying a
00:10:07
specific type of database grabbing
00:10:09
information that's relevant to what it
00:10:11
needs to answer and then giving you a
00:10:13
context specific response what I mean by
00:10:16
that is you may ask the llm hey what's
00:10:18
the menu tonight and what it will do is
00:10:20
go to something known as a vector search
00:10:22
database at least this is typically what
00:10:24
you'll use it can very quickly find
00:10:26
information relevant to the menu pull
00:10:28
that Direct IR L into the llm read
00:10:31
through it understand it and then use it
00:10:33
to generate a response that makes sense
00:10:35
so what you're doing is you're taking
00:10:37
the data that you want this model to
00:10:38
have access to storing it in a really
00:10:41
fast database to look up stuff from
00:10:42
again typically called a vector search
00:10:44
or vector store database the llm will
00:10:46
then use that database by providing some
00:10:48
kind of prompt it will get relevant
00:10:50
results back it will read and understand
00:10:52
that and then generate something that's
00:10:54
context specific this is actually not
00:10:56
that difficult to implement I've made
00:10:57
all kinds of videos on it on my channel
00:11:00
and this is a way that you can really
00:11:01
enhance llms and use that base level
00:11:04
natural language processing and
00:11:06
understanding ability to really enhance
00:11:08
your own applications now if you want to
00:11:10
build rag apps in Python you can do this
00:11:12
using things like Lang chain olama llama
00:11:15
index uh those are kind of the main ones
00:11:17
you'll probably want to mess with moving
00:11:19
on we're talking about AI agents now ai
00:11:22
agents don't just have the ability to
00:11:24
read information from something like a
00:11:26
database but they have the ability to
00:11:28
interact with their environment and use
00:11:30
maybe various different tools that you
00:11:32
give them access to an AI agent could be
00:11:34
something as simple as having the
00:11:36
ability to send an email or it could be
00:11:38
something that has access to a full
00:11:39
Suite of different tools and actually
00:11:42
selects by itself what tool it should
00:11:44
use based on the task you ask it for
00:11:46
example you could make your own AI
00:11:48
virtual assistant and in this case what
00:11:50
it will do is have access to your
00:11:52
calendar it can read that information it
00:11:54
could create new events it could send
00:11:55
emails on your behalf it could delete
00:11:58
things it could clean up your desktop
00:11:59
for you it can do whatever you want it
00:12:01
to do if you give it access to those
00:12:03
specific tools AI agents interact with
00:12:06
the environment they have access to a
00:12:08
set of tools and they can do things like
00:12:10
determine the tasks they need to do or
00:12:12
multiple tasks that they need to do
00:12:14
collect data and then obviously as I
00:12:15
said many times interact with the
00:12:17
environment which is the key Point here
00:12:19
to build out these type of AI agents you
00:12:21
can use the same Frameworks I talked
00:12:23
about before like Lang chain and llama
00:12:25
index and they are super cool and
00:12:27
something you should definitely mess
00:12:29
with with that said guys that's going to
00:12:30
wrap up this video wanted to give you a
00:12:32
quick comprehensive guide to all of the
00:12:34
AI stuff as a python developer you
00:12:36
should know if you found this helpful
00:12:38
make sure you leave a like subscribe and
00:12:40
I will see you in the next one
00:12:44
[Music]