Over the past year, we can all agree
that AI applications have really captured the imagination of everyone.
This groundbreaking technology has really revolutionized
how we will be computing now and also in the future.
Now, as I took a deep dive to really understand
how what works in the background,
it led me to find our topic for today.
What is a vector database?
Now let's kind of take a stroll down memory lane,
and let's look at some other groundbreaking moments in technology
when it comes to the database area here.
First, we all know about SQL which stores structured data in tables.
Been around for a couple of decades.
I think we're all aware of that and where it's been.
Then came noSQL, which takes unstructured data
in the form of documents.
And this has been great for a lot of real time web applications,
as well as big data - you know that that really came about.
And then the hit of mobile, when we needed to collapse a lot of these, federate APIs,
the graph, which stores data in in nodes,
and that's how it formulates a lot of its relationships.
Which really takes us to where we are now
with the vector data base,
which is naturally all our AI applications.
Very, very useful and supplemental to that.
So now let's get into the characteristics of a vector data base.
And when I started my research, I realized there are two major concepts
that I had to really get down.
The first is what is a vector?
And the second is what is embedding?
And I really going to simplify things now.
Think about a vector as an array of data that gets put into the database.
Now any type of complex object you put in,
whether it's images, text, documents,
they all get represented in some type of numerical value.
So I'm going to say this as an array.
All right.
And then at some point, as data scales up, in order to keep the relationships -
and naturally keep in mind, you're not only going to have the user data that you put in,
but this is really going to be a database for a lot of your large language models
to be able to store it's save points,
it's actual data sets for comparison as we get to the use cases here.
So the embedding is lots of vectors that are saved in a multidimensional -
I'll abbreviate that there -
format what they can then be used as groupings of vectors for data sets
that can really start to grow and go from there.
Now, with this understanding of vectors and embeddings,
now we have the proper context to really discuss the use cases
that really bring this to technology to life.
Now we have our large language models and we've all interacted with a chatbot in the past.
I think everybody - it's the number one way you've interacted, especially if you've actually used ChatGPT.
And the major thing that that uses is a concept called natural language processing.
So let's take this from our chatbots.
It's the number one, I would say, feature that you will see this being used.
And it's going to work a lot by taking the context of understanding the semantics of conversation.
Well, that model will be able to leverage a vector database
to keep its ever growing database to understand,
a car is similar to a engine,
or the relationships between the terms that you have here.
Now also have video and image recognition.
We all use these type of applications to build AI art as they call it.
Well, let's say with the voice recognition,
the ability to take sound waves or audio file
and be able to represent it as a numerical set of data,
and then be able to make comparisons about this equals this particular semantics of speech.
All right.
And then also the last but not least, let's talk about search.
Also very important.
We may have similarity searches, being able to identify certain images.
You've all ..
We've all interacted with the recommendation engines.
All right, so search is another big, one here.
And we'll just say, the similarities.
All right, let's just summarize that there.
Very important thing of understanding when I'm searching for
what is related to that, those relationships can definitely be represented there.
Now let's get into the benefits of doing this,
because naturally, if you did a quick search on the internet,
you'll be able to see the ability for you to represent vector data
into some of these other databases that I discussed earlier.
SQL databases, NoSQL databases, all right.
But you truly get certain great benefits when you use the direct vector databases to do that.
Number one I would say is flexibility.
Now flexibility in the terms to take any type of data,
whether it's docs, images, any type of text, data, speech
- you kind of heard a lot of the things I was discussing,
that all these it doesn't matter what you use and a different type of database,
you may have to prepare your data to go in that.
With a vector database, it's very easy just to throw in or insert a bunch of unstructured data for comparison to see.
Now, once you have data in, be able to ingest any type of data.
The second is the scalability.
All right, being able to scale out to millions and billions of data points
of vectors that you'll be able to have for comparison.
And if you think about this, this is really where
the power of a large language models really comes to shine
with this extensive database that it has for comparison.
And if you wanted to start from scratch with your model,
you often have to throw, give it a bunch of training data
for it to start to grow and maintain some of his expertise to go.
So flexibility, the ability to put data in,
the ability to scale to millions or billions of data points.
And once that data is in, let's not forget the speed and performance of everything here.
Being able to index a lot of these vectors, these embeddings,
being able to query in a low latency mode,
since is all in a numerical format, its very easy to, to run queries.
The large language models to ...
if you are in a chatbot and it's trying to take the conversation and compare it out and do some comparison,
its going to leverage this vector database to put "save points", if I want to call them that or ...
you can probably just say like a cache of data
that it can use to make that operation go, that algorithm work
and whatever the workflow you have, to really perform like it should.
So this has been vector databases.
I'm always an advocate of having your polyglot,
meaning that your architecture can have many different types of technologies,
multiple databases, as a matter of that, you really don't have to always depend on one type of database.
But one thing we can agree, we're all - you're all technologists like myself.
You all are starting to think about how you can infuse AI into your architecture.
Well, I recommend that you take that next step,
look at some of the open source technologies for vector databases
and get off to the races.
Thanks for watching.
In the comments below, let us know: have you used vector databases with your AI projects?
And as always, please remember to like and subscribe.