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

  • @etiennedilocker9729
    @etiennedilocker9729 Жыл бұрын

    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

    @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

    @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

    @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.

  • @officialabdulrehman
    @officialabdulrehman Жыл бұрын

    Doesn't matter what the topic, JS somehow always gets involved lol

  • @Sethjigr8ji

    @Sethjigr8ji

    Жыл бұрын

    True lol😂😂😂

  • @notsojharedtroll23

    @notsojharedtroll23

    Жыл бұрын

    The real marvel of Computer Technology is Javascript at this point.

  • @ashwinalagiri-rajan1180

    @ashwinalagiri-rajan1180

    Жыл бұрын

    This is a webdev project, JS will obviously be involved.

  • @parthsithvi21

    @parthsithvi21

    Жыл бұрын

    That's why it's the GOAT the GOAT 🐐

  • @aaishikdutta290

    @aaishikdutta290

    Жыл бұрын

    Anything that can be done in javascript will eventually be done in javascript.

  • @Kim-by5uy
    @Kim-by5uy Жыл бұрын

    we're definitely not tired of the AI videos. Great as always

  • @paprukas

    @paprukas

    Жыл бұрын

    Looks like made by Fireship

  • @Dev-Siri

    @Dev-Siri

    Жыл бұрын

    I was also going to write that xD

  • @compilererror

    @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

    @crowlsyong

    Жыл бұрын

    Keep em' comin;

  • @upta

    @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.

  • @amandahugankiss4110
    @amandahugankiss41106 ай бұрын

    just fell over backwards watching every thing you said going over my head

  • @DouglasHewitt
    @DouglasHewitt Жыл бұрын

    Your content constantly impresses. As a programmer and an educator myself I'm amazed how you do so much and do it well.

  • @DaveGouda
    @DaveGouda Жыл бұрын

    Would love a video comparing the different vector databases. Why did you choose this one over Pinecone?

  • @AnthonyBurback

    @AnthonyBurback

    Жыл бұрын

    Possibly due to Weaviate having a local docker container setup available (didn't see anything similar for Pinecone)

  • @wlockuz4467

    @wlockuz4467

    Жыл бұрын

    Pinecone is closed-source and paid

  • @beyondfireship

    @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

    @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.

  • @malikkissoum730
    @malikkissoum730 Жыл бұрын

    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

  • @bagboy5098
    @bagboy5098 Жыл бұрын

    just imagine Jeff life without Javascript

  • @xXxDerfoufixXx

    @xXxDerfoufixXx

    Жыл бұрын

    He will be eff

  • @vhaangol4785

    @vhaangol4785

    Жыл бұрын

    @@xXxDerfoufixXx That's some next level programmer dad joke.

  • @notsojharedtroll23

    @notsojharedtroll23

    Жыл бұрын

    ​@@vhaangol4785 there are at least 3 jokes that make this a tor tier joke.

  • @darsh_shukla
    @darsh_shukla Жыл бұрын

    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

    @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

    @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

    @Paarthri

    Жыл бұрын

    @@deep.space.12 opensearch also uses hnsw

  • @deep.space.12

    @deep.space.12

    Жыл бұрын

    @@Paarthri thanks for the info

  • @ko-Daegu

    @ko-Daegu

    Жыл бұрын

    why would he use something worse thou ? (KNN) than a faster more efifcinat and scalable search algo like HSNW

  • @monabbar007
    @monabbar007 Жыл бұрын

    I love the vector data base, how the data is stored in form of coordination with direction

  • @RoyRope
    @RoyRope Жыл бұрын

    Got a kinda good idea for them, hopefully will get some time to play with them on work sometime soon. Good video as always!

  • @anasouardini
    @anasouardini Жыл бұрын

    More of those please.

  • @Dominik-K
    @Dominik-K Жыл бұрын

    This is super cool! Like how easy it is to do those tasks nowadays

  • @BaldyMacbeard
    @BaldyMacbeard Жыл бұрын

    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.

  • @abdulrafiuabdulazeez9924
    @abdulrafiuabdulazeez9924 Жыл бұрын

    There's absolutely nothing for you to apologise for. This is another great video. Please, keep 'em coming as always.

  • @himanshutripathi7441
    @himanshutripathi7441 Жыл бұрын

    Always remember Jeff, you are awesome and really helping Devs by introducing concepts. Stay classy cheers.🎉

  • @MMH919
    @MMH919 Жыл бұрын

    Love this kind of video. It gave me a lot of ideas

  • @AliciaSykes
    @AliciaSykes Жыл бұрын

    Made it look so simple, I'm definitely trying this out this evening, thanks Jeff!

  • @notalanjoseph

    @notalanjoseph

    Жыл бұрын

    2:26 how to “run that command”? What command is he talking about?? Somebody please help

  • @AliciaSykes

    @AliciaSykes

    Жыл бұрын

    @@notalanjoseph - It's `docker-compose up` 😉

  • @bestactionclips9920

    @bestactionclips9920

    3 ай бұрын

    am getting an error that Meme class already exists while running the code. Buddy will you please help.

  • @ogredev
    @ogredev Жыл бұрын

    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

    @lance3301

    Жыл бұрын

    You son of a bitch, I'm in!!!

  • @Yashss4617

    @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

    @deep.space.12

    Жыл бұрын

    @@Yashss4617 r/whoosh

  • @poulticegeist
    @poulticegeist Жыл бұрын

    Not tired of AI content at all. This is amazing. Thank you!

  • @quarkleptons1036
    @quarkleptons1036 Жыл бұрын

    Amazing work.

  • @-boiadeiro-
    @-boiadeiro- Жыл бұрын

    It's actually a good topic, storing and processing data is still most important thing

  • @brad1785
    @brad1785 Жыл бұрын

    I appreciate the slightly slower pace of this video.

  • @walkieer
    @walkieer Жыл бұрын

    After seeing the video on vector databases on the main channel, I just knew this was what was next.

  • @thuonglengoc6875
    @thuonglengoc6875 Жыл бұрын

    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?

  • @wwc4168
    @wwc4168 Жыл бұрын

    This is amazing. Thanks.

  • @rj27thug78
    @rj27thug78 Жыл бұрын

    Really appreciated mention of not sponsored*

  • @thechoephix
    @thechoephix Жыл бұрын

    I like that the gif in the end was in Yellow stone. No reason.

  • @bluelightning2k
    @bluelightning2k Жыл бұрын

    Please do a version of this for text similarity search

  • @miquelvazquez4544
    @miquelvazquez4544 Жыл бұрын

    awesome tutorial !!!!!!

  • @cedricschacht9445
    @cedricschacht9445 Жыл бұрын

    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

    @crowlsyong

    Жыл бұрын

    lol

  • @vmbgify

    @vmbgify

    Жыл бұрын

    I love how you used the buzzwords "ai", "driven", "js", "framework" and "edge" to mispell "disaster"

  • @LaughingMan44

    @LaughingMan44

    Жыл бұрын

    ​@@vmbgifyput down the vodka

  • @Darth_Bateman

    @Darth_Bateman

    Жыл бұрын

    Or the Singularity. . . ?

  • @FasutonemuMyoji

    @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.

  • @lawrencemidwinter9416
    @lawrencemidwinter9416 Жыл бұрын

    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.

  • @SIMULATAN
    @SIMULATAN Жыл бұрын

    Yay, finally some docker on fireship 🎉

  • @arpitgarg6459
    @arpitgarg6459 Жыл бұрын

    Stop blowing my mind dude!! Too much power in our hands

  • @nimitsavant3127
    @nimitsavant3127 Жыл бұрын

    loved it!

  • @0906WEST
    @0906WEST Жыл бұрын

    Man i friggin love fireship

  • @004307ec
    @004307ec Жыл бұрын

    😊nice video, I got an idea for my next project.

  • @johannjohannes7214
    @johannjohannes7214 Жыл бұрын

    Soon the own image boorus are going to be fantastic

  • @ThysRoes
    @ThysRoes Жыл бұрын

    Can you train this on all my footage that I shot that I need indexed?

  • @mkhphp
    @mkhphp Жыл бұрын

    Can you do an episode about Medusa, the open source e-commerce js framework?

  • @mgara514
    @mgara514 Жыл бұрын

    Loved this video, the the test image got me ROFL

  • @alibahrami6810
    @alibahrami6810 Жыл бұрын

    Nice one!

  • @amigos786
    @amigos786 Жыл бұрын

    Thank God! Next videos will be on JS

  • @MegaSuperCritic
    @MegaSuperCritic Жыл бұрын

    Damn, I had started to really rely on Fireship for my AI news!

  • @danielivanescobar6656
    @danielivanescobar6656 Жыл бұрын

    i was building a meme search engine for fun and this killed it, i might apply this implementation

  • @Dark_Peace
    @Dark_Peace Жыл бұрын

    You should've used Rektor for your database. I already invested in it. It's the next big thing.

  • @DougKulak

    @DougKulak

    Жыл бұрын

    Rektor? I hardly even knew her.

  • @canboraciner2256
    @canboraciner2256 Жыл бұрын

    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...

  • @PlasmaUI
    @PlasmaUI Жыл бұрын

    hey fireship what font do you use for your videos? it looks pretty clean

  • @0oEo0
    @0oEo0 Жыл бұрын

    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.

  • @GeorgeObregon
    @GeorgeObregon Жыл бұрын

    thank you

  • @meikyeon
    @meikyeon Жыл бұрын

    Very helpful and straightforward 。⁠◕⁠‿⁠◕⁠。

  • @laptopuser5198
    @laptopuser5198 Жыл бұрын

    Top tier content found here.

  • @gokudomatic
    @gokudomatic Жыл бұрын

    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.

  • @GavHern
    @GavHern Жыл бұрын

    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)

  • @lulzmachineify
    @lulzmachineify Жыл бұрын

    Could this be used to build a "hotdog or not hotdog" matcher?

  • @CharmCaster
    @CharmCaster Жыл бұрын

    i um... kind of a beginner but never had trouble understanding your vids... this one was way beyond my lvl lol

  • @beinyourguard
    @beinyourguard Жыл бұрын

    if the ai videos help us make our jobs easier, then keep'em coming

  • @pontv9005
    @pontv9005 Жыл бұрын

    Considering storage resources, will that scale if you convert the image to a base64 string?

  • @LibertyRecordsFree
    @LibertyRecordsFree Жыл бұрын

    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 👌

  • @kebman
    @kebman Жыл бұрын

    Oooooh can I also use this to find similar images on my own computer despite resolution differences?

  • @sage_gamers
    @sage_gamers Жыл бұрын

    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

    @heroe1486

    Жыл бұрын

    Read the docs

  • @FaisalAfroz

    @FaisalAfroz

    Жыл бұрын

    @@heroe1486 That is old school , now you just feed the doc and generate summary using AI.

  • @lance3301

    @lance3301

    Жыл бұрын

    @@FaisalAfroz Yes, this is the way.

  • @rumfordc

    @rumfordc

    Жыл бұрын

    when you get really popular, people approach you and tell you neat things in hopes you will make a video for them.

  • @zeldaplayergl11
    @zeldaplayergl11 Жыл бұрын

    Seems Valid.

  • @Optable
    @Optable Жыл бұрын

    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

  • @mlnima
    @mlnima Жыл бұрын

    Please make a tutorial for vector DB and do the same with mongoDB at the same time

  • @palmer1877
    @palmer1877 Жыл бұрын

    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

    @beyondfireship

    Жыл бұрын

    Weaviate is open-source and can be self-hosted

  • @tandyn
    @tandyn Жыл бұрын

    How do I make those visualisations that show the embedding stored on weaviate

  • @user-pm5wi1xg9i
    @user-pm5wi1xg9i9 ай бұрын

    Thanks man! My company just changed my job role from a 'RoR developer' to an 'AI Engineer' and you have everything I need

  • @neofox2526
    @neofox2526 Жыл бұрын

    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?

  • @8koi245
    @8koi245 Жыл бұрын

    Gotta love how he reads comments e

  • @vaibhavverma4335
    @vaibhavverma4335 Жыл бұрын

    man i wanna do it

  • @user-dg4ws2hy8r
    @user-dg4ws2hy8r Жыл бұрын

    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!

  • @carlt.8266
    @carlt.8266 Жыл бұрын

    Damn, where is that animation from at t=30s :O I need to know because I am little data visualization nerd myself, uknow

  • @codemaniadev
    @codemaniadev Жыл бұрын

    Nice video I was wondering when js started supporting top level await 😢

  • @yowaimo890
    @yowaimo890 Жыл бұрын

    woah i never knew weaviate has its usefulness , i contributed in it for my gsoc but later switched to another org

  • @Batselot
    @Batselot Жыл бұрын

    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

    @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.

  • @avgvstvs96
    @avgvstvs96 Жыл бұрын

    how do i build a chatbot based on recursively scraped documentation websites with embeddings and vector databases?

  • @pepperpeterpiperpickled9805
    @pepperpeterpiperpickled9805 Жыл бұрын

    MORE AI videos, mate! Your videos are always the most informative AND entertaining on the subject

  • @JovenAlbarida
    @JovenAlbarida Жыл бұрын

    you have sample repo for this? :) thanks

  • @empireempire3545
    @empireempire3545 Жыл бұрын

    mind BLOWN

  • @content_ai_
    @content_ai_ Жыл бұрын

    Why didn't you use elastic search?

  • @AnthonyBurback
    @AnthonyBurback Жыл бұрын

    Not even a little bit tired of the AI videos - if anything I'd love to see more tutorials

  • @ansgkffx
    @ansgkffx Жыл бұрын

    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?

  • @abdul_samad_malik
    @abdul_samad_malik Жыл бұрын

    Does some notice that Jeff's voice sound different when the scene is switched in the video?

  • @as-qh1qq
    @as-qh1qq Жыл бұрын

    Yes, I did pause to view and read each meme

  • @blacklistnr1
    @blacklistnr1 Жыл бұрын

    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.

  • @davidcmpeterson
    @davidcmpeterson Жыл бұрын

    With the super AI we have these days it would be quite an easy step to implement just removing watermarks!

  • @MistrzuShifu
    @MistrzuShifu Жыл бұрын

    My man, you just did Web 3.0 dirty. Blockchain is epic and I hope to see some videos about it too! 💪

  • @kaushikiyer558
    @kaushikiyer558 Жыл бұрын

    I'm always just getting the same input image back as the result. What could be wrong?

  • @orion10x10
    @orion10x10 Жыл бұрын

    This is so cool, oh my god

  • @thesanjithkumar
    @thesanjithkumar Жыл бұрын

    Can u make a video on pnpm

  • @132_priyankrai5
    @132_priyankrai5 Жыл бұрын

    Nextjs thinking video

  • @Dr.Cosmar
    @Dr.Cosmar Жыл бұрын

    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.

  • @yogpanjarale
    @yogpanjarale Жыл бұрын

    Where to host it?

  • @kardashevr
    @kardashevr Жыл бұрын

    JS churn -> AI churn -> panic attacks -> depression -> nirvana

  • @GSBarlev
    @GSBarlev Жыл бұрын

    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.

  • @viswa9848
    @viswa9848 Жыл бұрын

    is this cost to run locally or in deployment is there any cost to run

  • @DanielHernandez-bb9sj
    @DanielHernandez-bb9sj Жыл бұрын

    I'm not tired of the AI videos. Maybe a new channel: Fireship AI

  • @itsSujeetMahto
    @itsSujeetMahto Жыл бұрын

    So we can use await keyword at root of the file too?

  • @ScorgeRudess
    @ScorgeRudess Жыл бұрын

    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.

  • @superastral1
    @superastral1 Жыл бұрын

    Can you make an ai that can watch videos and pictures and describe them etc?