I built an image search engine

Поділитися
Вставка
  • Опубліковано 7 кві 2023
  • 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...

КОМЕНТАРІ • 356

  • @etiennedilocker9729
    @etiennedilocker9729 Рік тому +328

    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 Рік тому +22

      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 Рік тому +3

      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 Рік тому +2

      @@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 Рік тому +176

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

    • @ayushseth6950
      @ayushseth6950 Рік тому +6

      True lol😂😂😂

    • @notsojharedtroll23
      @notsojharedtroll23 Рік тому +12

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

    • @ashwinalagiri-rajan1180
      @ashwinalagiri-rajan1180 Рік тому +4

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

    • @parthsithvi21
      @parthsithvi21 Рік тому +3

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

    • @aaishikdutta290
      @aaishikdutta290 11 місяців тому +3

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

  • @Kim-by5uy
    @Kim-by5uy Рік тому +760

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

    • @SeeWhatIs
      @SeeWhatIs Рік тому +2

      Looks like made by Fireship

    • @Dev-Siri
      @Dev-Siri Рік тому +1

      I was also going to write that xD

    • @compilererror
      @compilererror Рік тому +28

      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 Рік тому +2

      Keep em' comin;

    • @upta
      @upta Рік тому +1

      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.

  • @DaveGouda
    @DaveGouda Рік тому +87

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

    • @AnthonyBurback
      @AnthonyBurback Рік тому +16

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

    • @wlockuz4467
      @wlockuz4467 Рік тому +9

      Pinecone is closed-source and paid

    • @beyondfireship
      @beyondfireship  Рік тому +82

      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 Рік тому +6

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

  • @bagboy5098
    @bagboy5098 Рік тому +31

    just imagine Jeff life without Javascript

    • @xXxDerfoufixXx
      @xXxDerfoufixXx Рік тому +10

      He will be eff

    • @vhaangol4785
      @vhaangol4785 Рік тому +2

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

  • @DouglasHewitt
    @DouglasHewitt Рік тому +7

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

  • @malikkissoum730
    @malikkissoum730 Рік тому +4

    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

  • @amandahugankiss4110
    @amandahugankiss4110 5 місяців тому +2

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

  • @darsh_shukla
    @darsh_shukla Рік тому +55

    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 Рік тому +4

      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 Рік тому +2

      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 Рік тому +4

      @@deep.space.12 opensearch also uses hnsw

    • @deep.space.12
      @deep.space.12 Рік тому +1

      @@Paarthri thanks for the info

    • @ko-Daegu
      @ko-Daegu Рік тому +1

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

  • @BaldyMacbeard
    @BaldyMacbeard Рік тому +6

    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.

  • @monabbar007
    @monabbar007 Рік тому

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

  • @ogredev
    @ogredev Рік тому +20

    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 Рік тому +1

      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 Рік тому +4

      @@Yashss4617 r/whoosh

  • @AliciaSykes
    @AliciaSykes Рік тому +10

    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 2 місяці тому

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

  • @anasouardini
    @anasouardini Рік тому +4

    More of those please.

  • @poulticegeist
    @poulticegeist Рік тому +96

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

  • @himanshutripathi7441
    @himanshutripathi7441 Рік тому

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

  • @Dominik-K
    @Dominik-K Рік тому +1

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

  • @MMH919
    @MMH919 Рік тому

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

  • @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!

  • @abdulrafiuabdulazeez9924
    @abdulrafiuabdulazeez9924 Рік тому +1

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

  • @-boiadeiro-
    @-boiadeiro- Рік тому +2

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

  • @quarkleptons1036
    @quarkleptons1036 Рік тому

    Amazing work.

  • @brad1785
    @brad1785 Рік тому +1

    I appreciate the slightly slower pace of this video.

  • @walkieer
    @walkieer Рік тому +1

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

  • @cedricschacht9445
    @cedricschacht9445 Рік тому +312

    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 Рік тому +3

      lol

    • @vmbgify
      @vmbgify Рік тому +6

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

    • @MudHut67
      @MudHut67 Рік тому +2

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

  • @rj27thug78
    @rj27thug78 Рік тому

    Really appreciated mention of not sponsored*

  • @0906WEST
    @0906WEST Рік тому

    Man i friggin love fireship

  • @wwc4168
    @wwc4168 Рік тому

    This is amazing. Thanks.

  • @MegaSuperCritic
    @MegaSuperCritic Рік тому +5

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

  • @SIMULATAN
    @SIMULATAN Рік тому

    Yay, finally some docker on fireship 🎉

  • @thuonglengoc6875
    @thuonglengoc6875 Рік тому +1

    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?

  • @johannjohannes7214
    @johannjohannes7214 Рік тому

    Soon the own image boorus are going to be fantastic

  • @miquelvazquez4544
    @miquelvazquez4544 Рік тому

    awesome tutorial !!!!!!

  • @Dark_Peace
    @Dark_Peace Рік тому +15

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

    • @DougKulak
      @DougKulak Рік тому +6

      Rektor? I hardly even knew her.

  • @arpitgarg6459
    @arpitgarg6459 Рік тому

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

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

  • @amigos786
    @amigos786 Рік тому

    Thank God! Next videos will be on JS

  • @004307ec
    @004307ec Рік тому

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

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

  • @mgara514
    @mgara514 Рік тому

    Loved this video, the the test image got me ROFL

  • @GeorgeObregon
    @GeorgeObregon Рік тому

    thank you

  • @zeldaplayergl11
    @zeldaplayergl11 Рік тому

    Seems Valid.

  • @alibahrami6810
    @alibahrami6810 Рік тому

    Nice one!

  • @0oEo0
    @0oEo0 Рік тому +34

    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.

  • @mkhphp
    @mkhphp Рік тому +1

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

  • @nimitsavant3127
    @nimitsavant3127 Рік тому +1

    loved it!

  • @meikyeon
    @meikyeon Рік тому

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

  • @canboraciner2256
    @canboraciner2256 Рік тому +3

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

  • @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 👌

  • @beinyourguard
    @beinyourguard Рік тому +11

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

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

  • @laptopuser5198
    @laptopuser5198 Рік тому

    Top tier content found here.

  • @sage_gamers
    @sage_gamers Рік тому +7

    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 Рік тому +4

      Read the docs

    • @FaisalAfroz
      @FaisalAfroz Рік тому +6

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

    • @lance3301
      @lance3301 Рік тому +4

      @@FaisalAfroz Yes, this is the way.

    • @rumfordc
      @rumfordc Рік тому +3

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

  • @danielivanescobar6656
    @danielivanescobar6656 Рік тому

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

  • @empireempire3545
    @empireempire3545 Рік тому

    mind BLOWN

  • @mlnima
    @mlnima Рік тому

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

  • @pepperpeterpiperpickled9805
    @pepperpeterpiperpickled9805 Рік тому +61

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

  • @gokudomatic
    @gokudomatic Рік тому +1

    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.

  • @CharmCaster
    @CharmCaster Рік тому

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

  • @ThysRoes
    @ThysRoes Рік тому

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

  • @codemaniadev
    @codemaniadev Рік тому

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

  • @PlasmaUI
    @PlasmaUI Рік тому

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

  • @yowaimo890
    @yowaimo890 Рік тому

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

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

  • @as-qh1qq
    @as-qh1qq Рік тому +3

    Yes, I did pause to view and read each meme

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

  • @davidcmpeterson
    @davidcmpeterson Рік тому

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

  • @GavHern
    @GavHern Рік тому +1

    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)

  • @8koi245
    @8koi245 Рік тому

    Gotta love how he reads comments e

  • @kebman
    @kebman Рік тому

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

  • @MistrzuShifu
    @MistrzuShifu Рік тому

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

  • @kardashevr
    @kardashevr Рік тому

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

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

  • @lulzmachineify
    @lulzmachineify Рік тому +1

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

  • @orion10x10
    @orion10x10 Рік тому

    This is so cool, oh my god

  • @pontv9005
    @pontv9005 Рік тому

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

  • @palmer1877
    @palmer1877 Рік тому +2

    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  Рік тому +8

      Weaviate is open-source and can be self-hosted

  • @AnthonyBurback
    @AnthonyBurback Рік тому +12

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

  • @AVX512
    @AVX512 Рік тому

    Then use CLIP to generate descriptions of the images you have and you've just generated your own map of your images without manual labour

  • @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?

  • @earth9651
    @earth9651 Рік тому +32

    Don't stop the AI vids.
    Your last video introduced me to vector databases which I used to easily solve a big, hairy, ugly business problem for my employer.
    Now they can make a lot more money and I get a pat on the back.

  • @user-pm5wi1xg9i
    @user-pm5wi1xg9i 8 місяців тому

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

  • @vaibhavverma4335
    @vaibhavverma4335 Рік тому

    man i wanna do it

  • @user-db4dd4ze3n
    @user-db4dd4ze3n Рік тому

    It fells like a normal neural network with extra memory usage

  • @user-dg4ws2hy8r
    @user-dg4ws2hy8r Рік тому +1

    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!

  • @vectoralphaAI
    @vectoralphaAI Рік тому +11

    Not tired of AI. AI is the future. Please make more AI videos.

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

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

  • @content_ai_
    @content_ai_ Рік тому

    Why didn't you use elastic search?

  • @abdul_samad_malik
    @abdul_samad_malik Рік тому

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

  • @tandyn
    @tandyn Рік тому

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

  • @pepperpeterpiperpickled9805
    @pepperpeterpiperpickled9805 Рік тому +1

    00:29 does Leo have David Duke as a profile pic? lol

  • @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?

  • @avgvstvs96
    @avgvstvs96 Рік тому

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

  • @MePeterNicholls
    @MePeterNicholls Рік тому

    Hmmm. Im gonna try a duplicates detector

  • @DanielHernandez-bb9sj
    @DanielHernandez-bb9sj Рік тому +1

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

  • @fahnub
    @fahnub 9 місяців тому

    Yo this is cool

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