I built an image search engine
Learn how to use a vector database to build an image search engine powered by a deep neural network from scratch.
Full Image Search Engine Tutorial fireship.io/lessons/image-sea...
Weaviate weaviate.io
What is a Vector Database? • Vector databases are s...
Пікірлер: 357
Weaviate Co-Founder here. Thank you for featuring Weaviate and creating this awesome video. It covers a lot in just 6min and I think it's a really cool intro to the topic and really shows the power of Weaviate. Also really like that you hinted at more traditional db features such as filtering/sorting/etc. It's those that make Weaviate super powerful for real-life applications. Appreciate the blutness about not being a fan of the builder pattern in the JS/TS client. Would love to hear some more feedback from you and tap into the collective JS/TS experience of your followers to help us design a better , more TS-native API on the Weaviate client. The clients are versioned separately from the server, and we're totally cool with releasing a new major version of the client if it can help improve the DX for anyone that uses JS/TS in their daily work.
@user-gd4iu5uc2r
Жыл бұрын
A problem I commonly face with the builder pattern is that it's unclear to me which parameters are mandatory and which are optional, so I may end up forgetting to set a mandatory parameter and run into nullpointer exceptions at runtime.
@asdfbeau
Жыл бұрын
There's a small army of us all racing toward the same goal now (AI all the things), but for most of us it's a new world; having the 'traditional' features as a frame of reference is what we need to bridge the gap-thank you.
@davidf760
Жыл бұрын
@@user-gd4iu5uc2r agree. if it was a step builder this would not be a problem. You are only allowed to build after all mandatory params functions have been called.
Doesn't matter what the topic, JS somehow always gets involved lol
@Sethjigr8ji
Жыл бұрын
True lol😂😂😂
@notsojharedtroll23
Жыл бұрын
The real marvel of Computer Technology is Javascript at this point.
@ashwinalagiri-rajan1180
Жыл бұрын
This is a webdev project, JS will obviously be involved.
@parthsithvi21
Жыл бұрын
That's why it's the GOAT the GOAT 🐐
@aaishikdutta290
Жыл бұрын
Anything that can be done in javascript will eventually be done in javascript.
we're definitely not tired of the AI videos. Great as always
@paprukas
Жыл бұрын
Looks like made by Fireship
@Dev-Siri
Жыл бұрын
I was also going to write that xD
@compilererror
Жыл бұрын
I find them boring, but Jeff can do whatever he wants -- and he will always have my undivided attention because he is the electronic prophet we have all been waiting for
@crowlsyong
Жыл бұрын
Keep em' comin;
@upta
Жыл бұрын
I mean, I'm tired of hearing about AI in general, but Jeff can make basically anything fun and interesting so I don't mind regardless of what he makes his videos about.
just fell over backwards watching every thing you said going over my head
Your content constantly impresses. As a programmer and an educator myself I'm amazed how you do so much and do it well.
Would love a video comparing the different vector databases. Why did you choose this one over Pinecone?
@AnthonyBurback
Жыл бұрын
Possibly due to Weaviate having a local docker container setup available (didn't see anything similar for Pinecone)
@wlockuz4467
Жыл бұрын
Pinecone is closed-source and paid
@beyondfireship
Жыл бұрын
1. Open-source and self-hosting 2. AFAIK pinecone requires you to vectorize your own data. For most that means paying for something like the OpenAI embeddings API. But with Weaviate we just ran our own ResNet locally.
@omarjimenezromero3463
Жыл бұрын
@@beyondfireship just what i expected, people running locally their own AI for their own purposes, i see more this common than pay for a bigger and better AI suscription where one can not manipulate or use for all.
This is by far, one of the best videos you ever made. Keep us updated !! You channel could become the new tech news reporter in video format. Thanks for the good work
just imagine Jeff life without Javascript
@xXxDerfoufixXx
Жыл бұрын
He will be eff
@vhaangol4785
Жыл бұрын
@@xXxDerfoufixXx That's some next level programmer dad joke.
@notsojharedtroll23
Жыл бұрын
@@vhaangol4785 there are at least 3 jokes that make this a tor tier joke.
This can be also done, using CLIP model. And indexing vectors with KNN type in opensearch and using cosine similarity to find similar images. With the CLIP model you can search images by text and image both as input.
@sudiproy4413
Жыл бұрын
Can you tell me what's the difference? Also pros and cons of both? You seem to know about these things and I'm new in AI
@deep.space.12
Жыл бұрын
I think the main difference is that, if you do naïve cosine similarity you probably have to compare it with all images in the DB, hence O(n). In HNSW it becomes O(log(n)) since the embeddings data is "somewhat sorted".
@Paarthri
Жыл бұрын
@@deep.space.12 opensearch also uses hnsw
@deep.space.12
Жыл бұрын
@@Paarthri thanks for the info
@ko-Daegu
Жыл бұрын
why would he use something worse thou ? (KNN) than a faster more efifcinat and scalable search algo like HSNW
I love the vector data base, how the data is stored in form of coordination with direction
Got a kinda good idea for them, hopefully will get some time to play with them on work sometime soon. Good video as always!
More of those please.
This is super cool! Like how easy it is to do those tasks nowadays
Yeah, vector databases have been around for quite a while, but the availability of open source vectorizer models made vector search more of a viable use case, so we're seeing more and more proper databases with easy to handle clients and all. Unfortunately, the biggest issue with vector search is not the database side of things. They're mostly all the same, relying on the same compression and distance computation algorithms. The big issue is vectorization. For some use cases like text or image similarity you can use huggingface models as-is. But for more business specific things, you'd have to train your own model and that is tough AF.
There's absolutely nothing for you to apologise for. This is another great video. Please, keep 'em coming as always.
Always remember Jeff, you are awesome and really helping Devs by introducing concepts. Stay classy cheers.🎉
Love this kind of video. It gave me a lot of ideas
Made it look so simple, I'm definitely trying this out this evening, thanks Jeff!
@notalanjoseph
Жыл бұрын
2:26 how to “run that command”? What command is he talking about?? Somebody please help
@AliciaSykes
Жыл бұрын
@@notalanjoseph - It's `docker-compose up` 😉
@bestactionclips9920
3 ай бұрын
am getting an error that Meme class already exists while running the code. Buddy will you please help.
Vectors are so 2022 Q4. Ive come up with trillion dollar concept. Text File Data. You will store all of your data in a single file where where each col will be separated by something like a tab code or comma and a row will be separated by a new line. Beta names are Tabbed Text Files or Comma Text Files. Reply if you’re ready to invest.
@lance3301
Жыл бұрын
You son of a bitch, I'm in!!!
@Yashss4617
Жыл бұрын
i think that`s what people call csv files, python even has extension to manage these type of files. they can also be opened in ms excel
@deep.space.12
Жыл бұрын
@@Yashss4617 r/whoosh
Not tired of AI content at all. This is amazing. Thank you!
Amazing work.
It's actually a good topic, storing and processing data is still most important thing
I appreciate the slightly slower pace of this video.
After seeing the video on vector databases on the main channel, I just knew this was what was next.
Great video! Could you make a video about how we can crawl data on a knowledge base, transfer to vector databas and search with it?
This is amazing. Thanks.
Really appreciated mention of not sponsored*
I like that the gif in the end was in Yellow stone. No reason.
Please do a version of this for text similarity search
awesome tutorial !!!!!!
It's time for a ai driven Javascript framework that runs on the edge😂 And be sure not to mix stuff up, a js driven ai Framework, would essentially be the apocalypse
@crowlsyong
Жыл бұрын
lol
@vmbgify
Жыл бұрын
I love how you used the buzzwords "ai", "driven", "js", "framework" and "edge" to mispell "disaster"
@LaughingMan44
Жыл бұрын
@@vmbgifyput down the vodka
@Darth_Bateman
Жыл бұрын
Or the Singularity. . . ?
@FasutonemuMyoji
Жыл бұрын
I miss the good ol' days when the most stupid overused buzzword was "the cloud", like we all pretended nobody before 2007 had seen the word WAN on literally any network topography chart from the previous 30 years on it and instead insisted they were super original and clever and came up with something totally new.
That was a cool video. I am new to this game and while watching this I get a feeling iofwow that is really cool thing you have shown and I have no idea what he is doing but would luv to see more.
Yay, finally some docker on fireship 🎉
Stop blowing my mind dude!! Too much power in our hands
loved it!
Man i friggin love fireship
😊nice video, I got an idea for my next project.
Soon the own image boorus are going to be fantastic
Can you train this on all my footage that I shot that I need indexed?
Can you do an episode about Medusa, the open source e-commerce js framework?
Loved this video, the the test image got me ROFL
Nice one!
Thank God! Next videos will be on JS
Damn, I had started to really rely on Fireship for my AI news!
i was building a meme search engine for fun and this killed it, i might apply this implementation
You should've used Rektor for your database. I already invested in it. It's the next big thing.
@DougKulak
Жыл бұрын
Rektor? I hardly even knew her.
Did you just b64'd different formats of images without converting them to a certain file format and then send them to the vector db? Congratz you just uploaded Spanish, English and French sentences to your db and queried if the English sentence will be the nearest match with the English sentence...
hey fireship what font do you use for your videos? it looks pretty clean
Please keep making these videos. They are non-stop, but so is the pace of AI right now, so they're the only thing helping me feel like I'm staying current.
thank you
Very helpful and straightforward 。◕‿◕。
Top tier content found here.
I find that personally very interesting. Next step I'm looking for would be to automatically tag images. About AI, I'm happy that Fireship recon that he's talking a hecka lot about AI. But he's right. It's the new trend and it's not going to leave anytime soon. I'd just hope we can talk about it in a more neutral way than an AIpocalypse or an AIrmageddon.
what if you took a text input and ran it through something like dalle to make it use a text input (which gets turned into an image under the hood)
Could this be used to build a "hotdog or not hotdog" matcher?
i um... kind of a beginner but never had trouble understanding your vids... this one was way beyond my lvl lol
if the ai videos help us make our jobs easier, then keep'em coming
Considering storage resources, will that scale if you convert the image to a base64 string?
Could you do a similar tutorial for a full beginner in programing (a bit slower, a bit more steps to explain each concepts), to create this image search database, to retrieve only copyright free image / cc0? Nice tuto thought 👌
Oooooh can I also use this to find similar images on my own computer despite resolution differences?
Man how did you learn all that? I mean how did you start your journey. Please make a video about your journey it would be very inspirational for many.
@heroe1486
Жыл бұрын
Read the docs
@FaisalAfroz
Жыл бұрын
@@heroe1486 That is old school , now you just feed the doc and generate summary using AI.
@lance3301
Жыл бұрын
@@FaisalAfroz Yes, this is the way.
@rumfordc
Жыл бұрын
when you get really popular, people approach you and tell you neat things in hopes you will make a video for them.
Seems Valid.
How can I reach you to discuss an app ive been building at pre dev stage with some of this in mind? I'm utilizing Gans with scikit learn and image on cloud to train the part of my app that will use ai for some valuable specific purposes, but this exact content here is what i needed for my leg heavy work to compile and filter all the exact images I need around defined search. I'd love to get your help, even if general on this for putting my pieces together. Your expertise on all the tools, systems, and use cases are such a great resource Ive had the pleasure of finding. Thanks
Please make a tutorial for vector DB and do the same with mongoDB at the same time
I'm trying to pick a vector database at the moment. Does anyone have any reason why you would pick, say, Pinecone over Weviate, or vice-versa?
@beyondfireship
Жыл бұрын
Weaviate is open-source and can be self-hosted
How do I make those visualisations that show the embedding stored on weaviate
Thanks man! My company just changed my job role from a 'RoR developer' to an 'AI Engineer' and you have everything I need
how can i make the search more accurate? Its not even using alot of processing power, is there a way to just set everything to high so it can use all my processing power to make sure the result is accurate?
Gotta love how he reads comments e
man i wanna do it
We have to update the class name again and again in index.js otherwise it is giving me error that you have already used this class name can any one help me to get rid of this problem!
Damn, where is that animation from at t=30s :O I need to know because I am little data visualization nerd myself, uknow
Nice video I was wondering when js started supporting top level await 😢
woah i never knew weaviate has its usefulness , i contributed in it for my gsoc but later switched to another org
I wonder what kind of image similiarity algorithms can we use? And I assume this is completely free to use locally? I don't see any restrictions anywhere right now or I have missed it.
@rumfordc
Жыл бұрын
there are countless ways to measure image similarity depending on what aspects of images you care about. if you're given an image of black cat, is that more similar to a black bear or a grey cat? depends on the goals of your app.
how do i build a chatbot based on recursively scraped documentation websites with embeddings and vector databases?
MORE AI videos, mate! Your videos are always the most informative AND entertaining on the subject
you have sample repo for this? :) thanks
mind BLOWN
Why didn't you use elastic search?
Not even a little bit tired of the AI videos - if anything I'd love to see more tutorials
Hello, i have veen interested in the thing that you don't love the builder pattern in many of your videos, can you explain why it is bad in your opinion, please?
Does some notice that Jeff's voice sound different when the scene is switched in the video?
Yes, I did pause to view and read each meme
I thought "in the next 5 minutes" is a joke relating to the complexity of a search engine. Yet here I am 5 minutes layer knowing all the steps. Wild times.
With the super AI we have these days it would be quite an easy step to implement just removing watermarks!
My man, you just did Web 3.0 dirty. Blockchain is epic and I hope to see some videos about it too! 💪
I'm always just getting the same input image back as the result. What could be wrong?
This is so cool, oh my god
Can u make a video on pnpm
Nextjs thinking video
Oof... I can follow this, but ill have no odea what I'm actually doing. Still, this was a very good way to get your point across.
Where to host it?
JS churn -> AI churn -> panic attacks -> depression -> nirvana
Realizing you could use this to reverse Stable Diffusion. You feed it a prompt, it generates an image, and then your reverse image search returns the images it --stole-- "learned from" the most to create its output.
is this cost to run locally or in deployment is there any cost to run
I'm not tired of the AI videos. Maybe a new channel: Fireship AI
So we can use await keyword at root of the file too?
this guy knows what he is talking about. Its like GPT but for images instead of tokenized letters, or words, or phrases, but is not generative. and does not have transforms xD but.. you get the point.
Can you make an ai that can watch videos and pictures and describe them etc?