Vector Search RAG Tutorial - Combine Your Data with LLMs with Advanced Search

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 128

  • @beau
    @beau 11 місяців тому +37

    What kinds of projects do you plan to make with Vector Search?

    • @x-mishl
      @x-mishl 11 місяців тому +5

      Currently making a discord chatbot with long term memory

    • @sameergaikwad222
      @sameergaikwad222 11 місяців тому +6

      Currently making Product Recommendation Project for My Organisation for which I'm working [Ecommerce Platform]

    • @MrKB_SSJ2
      @MrKB_SSJ2 11 місяців тому +1

      THIS COURSE IS AMAZING!!!!!!!!!!!!!!!

    • @ishaquenizamani9800
      @ishaquenizamani9800 11 місяців тому +1

      For Right now I am going try to create RAG project using google makersuit LLM which is free.
      if i am able to create it am I allow to share the github repo's link?

    • @milmanal
      @milmanal 11 місяців тому

      I want to create a marketplace to match job posts with applicants. i would like both the job creators and the job seekers to be able to submit their requirements via a chatbot (chatgpt e.g) as well as a structured form. So ideally i'd like the llm to push the postings into the db, and also call an api function to pull the potential matches from the postings to the applicant requirements.
      Do you think this solution could work?

  • @psikosen
    @psikosen 11 місяців тому +22

    Woah you're teaching this is the first time I've ever seen one from you

  • @JeremyJanzen
    @JeremyJanzen 11 місяців тому +66

    I understand MongoDB sponsored this but I’d really have appreciated WHY someone should choose MongoDB vs other options. Same with embedding model. WHY use the hugging face model vs OpenAI Ada. There are so many different options for vector store and model, so a tutorial that deep dives into this decision is super important.

    • @Nick-tv5pu
      @Nick-tv5pu 11 місяців тому +34

      It was touched on:
      - Mongo DB allows you to store the vectors alongside the original data (i.e. in the same document). this means you can filter out documents that you don't want to use in your vector search before you run a vector query
      - Huggingface is free when starting out, Open AI's API costs money

    • @goldenfishes3695
      @goldenfishes3695 11 місяців тому

      The thing with openai, Claude and so on and so forth is that you are at the mercy of the suppliers. The most obvious concern would be that if for any reason openai Claude and the likes had downtime and or their servers are not responsive, your businesses will absolutely be affected.
      Take Openai as example, Openai lib gets updated super frequently, also they provide API instead of model. So you are absolutely at the mercy of Openai when they decide to change endpoints, decommission old models and etc. You are also at the mercy of their pricing. There's nothing wrong with just using openai's API just that you have to position your business well. If you're just an integrator then all's good but if you're an ai consultancy firm then it makes sense for you to have ur own model that is tuned specifically for specific task. E.g. Mistral mixture of experts. It is also cheaper if you make a leaner model and host it urself.
      Why is mongodb chosen? Because they are the sponsor. Obviously right. It doesn't really matter for now what db you are using because it's just a tutorial. However if you're really going into production then it is perfectly ok to have specific dbs for specific tasks.
      Lastly it's all about use case, no one has infinite money to burn. There's only small or big budget to use. If your wallet is deep then use openai for everything. If your wallet is shallow then you should provision resources correctly.

    • @jroamindia1754
      @jroamindia1754 7 місяців тому +5

      OpenAI is paid

    • @shadmansudipto7287
      @shadmansudipto7287 6 місяців тому +1

      Well this is freecodecamp. The place to get started.

    • @Snarfz0orz
      @Snarfz0orz 5 місяців тому

      SingleStore would have been a better choice imo

  • @voloUA
    @voloUA 9 місяців тому +3

    Hi, thanks for video!
    What about a follow-up questions in RAG?
    Example
    Q: Suggest some movie with Johny Depp
    A:
    Q: What year was it filmed?
    A: ...

    • @ruibinzhang
      @ruibinzhang 2 місяці тому

      how can I subscribe this question, so I can know the answer if someone replies it one day.

  • @Pure_Science_and_Technology
    @Pure_Science_and_Technology 9 місяців тому +1

    There’s a lot missing. I get this is basic, but the metadata is crucial.. and 90% of people will be using cosine similarly, especially in RAG systems. Great video by the way. It’s awesome that you take time out to help others…

  • @andyhenrie2482
    @andyhenrie2482 11 місяців тому +4

    It would really help everyone if you followed the best practices of using your tokens/logins safely. The old practice what you preach. Many of your viewers might not really know how to do that. They NEED to do it. I appreciate it makes your video less expository and is a burden in terms of prep.

  • @umeshkumarasamy6608
    @umeshkumarasamy6608 6 місяців тому +4

    அண்ணனுக்கு வணக்கம்🙏! சிறப்பா செஞ்சிருக்கீங்க ரொம்ப நல்லா இருந்துச்சு! 😄

  • @YouTubeUserA-w4f9c
    @YouTubeUserA-w4f9c 10 днів тому

    Loved this whole training, especially the handson examples. Really help people like me who are new to Python and coming traditioanlly from non-Open Source toolsets.
    One pet-peeve though - Please list all the example and code files in your github library. For example 2, I am really stuck following your example, since I dont have the exact sample_files. Also, the github link you mentioned only has javascript code and not the Python ones (Unless I am missed it :) ) Would really appreciate it you can upload all these files for our reference!
    Thanks!

  • @peterfaretra
    @peterfaretra 6 місяців тому +1

    This is brilliant. Thanks so much from a grateful student at the School Of Code

  • @vinitsunita
    @vinitsunita 6 місяців тому +1

    You can generate vector embeddings by calling rest api exposed by Vendors like HuggingFace, OpenAI etc. One thing to note that, these vendors employ rate limiting at their ending basically throttling the no of request that you can make to theirs apis within second. You need to buy subscription accordingly depending on your requirement

  • @MrStargazer777
    @MrStargazer777 5 місяців тому

    You @beau are a much better teacher, I wish you created most of the tutorials! .. but then I don't want you to burn out! take care of yourself Sir.

  • @muttdev
    @muttdev 6 місяців тому +1

    Thanks for the video tutorial. Helped me to understand the core ideas used in this technology!

  • @mohamedhassan8260
    @mohamedhassan8260 8 місяців тому +3

    شكرا لك علي الشرح الرائع

  • @real23lions
    @real23lions 9 місяців тому +3

    That was awesome. I learnt a lot 🎉

  • @AmaanDevelops
    @AmaanDevelops 2 місяці тому +1

    This was really helpful thank you!

  • @actionpoint-ai
    @actionpoint-ai 2 місяці тому

    We are using this. Thank you!

  • @andymutale368
    @andymutale368 11 місяців тому +1

    Thats why he's the goat

  • @ugoceruti8556
    @ugoceruti8556 11 місяців тому +25

    Where code for project two is available ? in github repository it is different, thanks

  • @WavePlayz
    @WavePlayz 4 місяці тому

    आपका बहुत-बहुत आभार

  • @MingJunLee-c3w
    @MingJunLee-c3w 8 місяців тому +11

    The files for project two in the Github repository do not match this video. Could you kindly verify the files please? Thanks

  • @carl-w5927
    @carl-w5927 8 місяців тому +2

    Fantastic source of information! Learnt a lot 🤓

  • @niedland16
    @niedland16 5 місяців тому

    Great video! I really enjoyed your introduction to Rag. Your explanation was clear and informative. I noticed you broke the text into segments instead of using the whole text. Could you explain the reasoning behind this approach? Thank you in advance!

  • @adhammagdy730
    @adhammagdy730 11 місяців тому +1

    best video of the year ❤

  • @out-of-sight
    @out-of-sight 11 місяців тому +14

    Guys please make a video with opensource llms API, like palm or hugging face. Please..

    • @muhannadobeidat
      @muhannadobeidat 8 місяців тому

      Agreed. Nice video but calling openAI APIs is not practical for most folks trying to learn anything.

  • @Ignalvarez
    @Ignalvarez 11 місяців тому +2

    Great content!

  • @SlashIceman
    @SlashIceman 9 місяців тому +1

    dude.. you are a bomb!!

  • @lawful_neutral
    @lawful_neutral 11 місяців тому +20

    Where is the sample_data used in project 2? Doesn't seem to be in the repository that is linked

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

    Hi, I loved this session. I wanted to have my own Embedding Server. Can you please make a video on this. I want to have it based on Opensource LLM Model. Please Guide. 🙏🙏🙏🙏

  • @Enjoyablewalks
    @Enjoyablewalks 11 місяців тому +1

    Awesome 🎉

  • @SubinKrishnaKT
    @SubinKrishnaKT Місяць тому

    The default index configuration is
    {
    "mappings": {
    "dynamic": true
    }
    }
    but where did you get??
    {
    "mappings": {
    "dynamic": true,
    "fields": {
    "plot_embedding_hf": {
    "dimensions": 384,
    "similarity": "dotProduct",
    "type": "knnVector"
    }
    }
    }
    }

  • @MrKB_SSJ2
    @MrKB_SSJ2 11 місяців тому +1

    AMAZING!!!!!!!!!!!!!!!!!!!

  • @mtalamona
    @mtalamona 8 місяців тому +6

    Hi. Could you be so kind to add the three TXT files mentioned in project#2?. The are mandatory for completing the example... thanks.

  • @vadirajabhat3879
    @vadirajabhat3879 9 місяців тому +4

    Can you please upload these 3 files in the git repo? aerodynamics.txt, chat_conversation.txt and log_example.txt.

  • @clone45a6
    @clone45a6 9 місяців тому +1

    Would you be able to point me to some tutorials that achieves the same thing as Project 2, but without using langchain? The query_data function from that tutorial is pretty mysterious, and I'd love to learn what's happening behind the scenes.

  • @gangs0846
    @gangs0846 11 місяців тому +1

    Wow great Video thank you!
    How does this compares to just using chatgpt api for semantic search within our data?

  • @pcgaming1586
    @pcgaming1586 4 місяці тому

    genial gracias

  • @ChristopherBruns-o7o
    @ChristopherBruns-o7o 4 місяці тому

    I think for bpe models should have their tokens masked for problem/common character while sentencepiece need high quality repetitive data sets to leverage them correctly. Don't fix what ain't broken, right?

  • @SkeggiaTheBest
    @SkeggiaTheBest 9 місяців тому +1

    Is the accuracy of the documents retrieved influenced by the user's query? For instance, you mentioned using "imaginary characters from outer space at war" as a user query at 25:14. Would employing a more detailed query, such as "Please, I need to find all the imaginary characters from outer space at war in the collected data, could you do that for me, please?" result in better or worse outcomes?

    • @jehnzcode
      @jehnzcode 5 місяців тому

      yeah that's why we have "prompt engineering"

  • @vadirajabhat3879
    @vadirajabhat3879 9 місяців тому +3

    Please commit the latest code to git, the .txt files are missing

  • @reginatoronto
    @reginatoronto Місяць тому +2

    There is no project code for project 2 and 3 in the github. can you please check

  • @spadron04
    @spadron04 3 місяці тому +1

    Hi, I have the following error "ValueError: Request failed with status code 400: {"error":["Input should be a valid dictionary or instance of SentenceSimilarityInputsCheck: received `freeCodeCamp is awesome` in `parameters`"]}"

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

    How did you choose the dimension while creating the vector search index?

  • @Techonsapevole
    @Techonsapevole 11 місяців тому +1

    Which is a selfhosted opensource alternative to Mongodb cloud ?

    • @newgenico
      @newgenico 11 місяців тому +1

      Selfhosted mongoDB 🙂

  • @dark_starr
    @dark_starr 6 місяців тому

    How do we make the conversation with the ChatOpenAi model context aware(not limited to the freeCodeCamp documentation in this case but the question asked too), like if i asked 1st question "How to create a PR" then 2nd question like "Who reviews it?"
    How will it know in the 2nd question that I am talking about PRs?

  • @z.ishraq
    @z.ishraq 9 місяців тому

    What are the prerequisites for this tutorial?

  • @sriramananthakrishnan138
    @sriramananthakrishnan138 11 місяців тому +1

    How does this compare to Qdrant and weaviate ?

  • @Babu_bha1
    @Babu_bha1 11 місяців тому

    Let's go

  • @abdel-rahmanhusam5522
    @abdel-rahmanhusam5522 21 день тому

    Where are the text files talked about in project 2? I couldn't find them in the repo..

  • @mapo-e5r
    @mapo-e5r 7 місяців тому

    @beau -The github repo doesnt match the contents of the video for Project two atleast.

  • @Saltvik0
    @Saltvik0 11 місяців тому

    Recently getting in Data Science/ML do you guys recommend any resources to learn more about vectors for programming?

  • @allen_d99
    @allen_d99 11 місяців тому

    Is there some kind of a limit on how much data I can provide? If I have documents with 1,000,000 words in total, will the RAG be able to retrieve the most relevant documents? And if most of the documents are relevant, will the LLM be able to take all of those as an input?
    Sorry, I just noticed I've asked quite a few questions 😂

  • @menghongpor2667
    @menghongpor2667 7 місяців тому

    I could not find the same endpoint for the embedding model using in the video for the first project. Could you tell me where to get it for this specific model?

  • @milmanal
    @milmanal 11 місяців тому

    Thanks that was really helpful!
    I want to create a marketplace to match job posts with applicants. i would like both the job creators and the job seekers to be able to submit their requirements via a chatbot (chatgpt e.g) as well as a structured form. So ideally i'd like the llm to push the postings into the db, and also call an api function to pull the potential matches from the postings to the applicant requirements.
    Do you think this solution could work with the vector search / RAG approach youve shown here?

  • @debgandharghosh3981
    @debgandharghosh3981 6 місяців тому

    In project 1 how did you get the embedding_url ?

  • @chiaragambone7680
    @chiaragambone7680 10 місяців тому +3

    I cannot for the life of me find the .py and .txt files for project number two and three?

  • @LLMTECHSTORIES
    @LLMTECHSTORIES 7 місяців тому

    is there a way to use any other model other than openai , for doing these operations ? something like open source models ?

  • @VillotaRJ
    @VillotaRJ 6 місяців тому

    May i ask, where did you get the hugging face embedding_url?

  • @SaiEeshwar-r1k
    @SaiEeshwar-r1k Місяць тому

    Can we load multiple vector databases to the same model ?

  • @ntramu4186
    @ntramu4186 6 місяців тому

    Is there a way to use vector db or vector search with a laravel back-end project, please help

  • @sofiavaleriatorochambi4234
    @sofiavaleriatorochambi4234 11 місяців тому

    Thank you for the course! I have a question, how can I search between data in multiple languages? I'd have to create embeddings for every language (though being the same data, ie "house" in English and "casa" in Spanish, which have the same meaning but I want to be able to search in any language)

  • @hoangng16
    @hoangng16 7 місяців тому

    Can we create a new search index using code instead of using the MongoDB UI? Using the UI is not practical when making a real-world project. It's fine for fun project.

    • @kukuster
      @kukuster 6 місяців тому

      just self-host your own MongoDB. You would have to change the URL to your db in your code to something like "localhost:27017". You would do everything in code then

  • @fcss-hf5rr
    @fcss-hf5rr 7 місяців тому

    In 22:29, How to get Index Json on right the side? Thanks

  • @peterfaretra
    @peterfaretra 6 місяців тому

    Its a shame the files arent there for the final two. I followed along with the second one but the third might be a push. anyone find the files elsewhere ?

  • @Comlami
    @Comlami 8 місяців тому

    Where dis you get the hf model’s embedding url from?

  • @gangs0846
    @gangs0846 11 місяців тому

    May I ask why you did not use spacy to create vectors but llm models instead?

  • @JavierTorres-st7gt
    @JavierTorres-st7gt 5 місяців тому

    How to protect a company's information with technology ?

  • @Ricocase
    @Ricocase 11 місяців тому +1

    Can it be down privately? May one question local .pdfs? At 30:00, why Euclidean? Thought it was 4 images vs. Test (cosign similarity).

  • @Walker-64812
    @Walker-64812 5 місяців тому

    Is there any way to do this with pdfs or to convert pdfs to something that can be used like the one with chatbot?

  • @tommy2117
    @tommy2117 7 місяців тому

    when i log the vectorSearch api, why does it always return [] even if the data in mongodb correct?

  • @Bulldog01234
    @Bulldog01234 11 місяців тому

    Is there any video in this channel for math? For AI u need linear algebra and all

    • @freecodecamp
      @freecodecamp  11 місяців тому

      We have quite a few math courses. Here is a linear algebra course: ua-cam.com/video/JnTa9XtvmfI/v-deo.html

  • @slord0001
    @slord0001 3 місяці тому

    Where are the correct source for project 2 and 3. It is hard to actually implement these projects without the .txt files. I am surprised that git hasn't been updated yet.

  • @aymanjaber2585
    @aymanjaber2585 7 місяців тому

    The github files are completely different from the tutorial, at least for the second project.

  • @kamilrajewski4422
    @kamilrajewski4422 11 місяців тому

    Author did not provide a lot of details, e.g. how did he got the reponse structure, embedding url.

  • @rupalpatle6575
    @rupalpatle6575 6 місяців тому

    why is throwing an error in generate_embedding function?

  • @mohsenghafari7652
    @mohsenghafari7652 8 місяців тому

    hi. please help me. how to create custom model from many pdfs in Persian language? tank you.

  • @iftyislam6761
    @iftyislam6761 7 місяців тому

    Only for searching, is embeding method efficient? can any expert enliten me?

  • @brianscarborough5720
    @brianscarborough5720 11 місяців тому

    Is the embedding_url still valid? When I run the code at 15:09, it just returns "None". I tried pasting the url in a browser and it returns a 404.

  • @amityadav-or2ys
    @amityadav-or2ys 7 місяців тому

    How to get the embedding_url

  • @jroamindia1754
    @jroamindia1754 7 місяців тому

    I tried your 1st project it throws an error if i pass {"inputs":text}. Doc says we need to pass like this "inputs": {
    "source_sentence": "",
    "sentences": ["That is a happy person",],
    } but then I'm able generate 1 dimensionlity data e.g [0.111111145]

    • @Tehguuui
      @Tehguuui 4 місяці тому

      did you manage to resolve this?

  • @tharuntejreddythodimi2142
    @tharuntejreddythodimi2142 11 місяців тому

    Hello,
    I am getting following error can you please help me by sharing your thoughts
    OperationFailure: Unrecognized pipeline stage name: $vectorSearch, full error: {'ok': 0.0, 'errmsg': 'Unrecognized pipeline stage name: $vectorSearch', 'code': 40324, 'codeName': 'UnrecognizedCommand'}
    Thanks in advance !

  • @Call21-h2d
    @Call21-h2d 11 місяців тому

    Can I put this course in the cv

  • @FavorFemi
    @FavorFemi 11 місяців тому

    Hi 👋 I'm new here

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

    😍

  • @anyicleanup
    @anyicleanup 8 місяців тому

    to bypass the HuggingFace rate limit, could I just download the model, and do the embedding on my laptop?

    • @thetagang6854
      @thetagang6854 7 місяців тому

      was this a good work around? I'm facing the same issue, even though I have pro

    • @ShaheenGhiassy
      @ShaheenGhiassy 7 місяців тому

      I got it working locally, but the embedding were slightly different after the 6th level of precision in the floating point number

  • @AlexanderPetkov-fi9ow
    @AlexanderPetkov-fi9ow 7 місяців тому +1

    🎯 Key Takeaways for quick navigation:
    00:00 *🕵️ Vector search allows searching based on meaning, transforming data into high-dimensional vectors.*
    01:10 *🚀 Vector search enhances large language models, offering knowledge beyond keywords, useful in various contexts like natural language processing and recommendations.*
    02:03 *💡 Benefits of vector search include semantic understanding, scalability for large datasets, and flexibility across different data types.*
    03:11 *🔗 Storing vectors with data in MongoDB simplifies architecture, avoiding data sync issues and ensuring consistency.*
    04:06 *📈 MongoDB Atlas supports vector storage and search, scaling for demanding workloads with efficiency.*
    05:02 *🔄 Setting up MongoDB Atlas trigger and OpenAI API integration for embedding vectors in documents upon insertion.*
    06:38 *🔑 Safely storing API keys in MongoDB Atlas using secrets for secure integration with external services.*
    08:56 *📄 Functions triggered on document insertion/update generate embeddings using OpenAI API and update MongoDB documents.*
    10:33 *🧩 Indexing data with vector embeddings in MongoDB Atlas enables efficient querying for similar content.*
    11:15 *📡 Using Node.js to query MongoDB Atlas with vector embeddings, transforming queries into embeddings for similarity search.*
    Made with HARPA AI

  • @arielgarciahuante8720
    @arielgarciahuante8720 11 місяців тому

    Hi, thanks for the video, very good content, I have a question: how can I specify a "prompt" or how can I specify limits in the answers, for example, I ask the question: "from your knowledge base of what topics could you answer questions?" in my database I only have information of my company but the program adds general topics (movies, books, music, etc), the only way to limit the answers is in the .md files I must explicitly specify the topics or I must write the "prompt" in the file? thanks for your help

  • @vongimbelgroup
    @vongimbelgroup 11 місяців тому

    Why do you have to ask for "imaginary characters" from space? Its a movie search. Aren't most characters in movies "imaginary"?
    Why couldn't you just ask for "aliens"?

  • @aryanmalhotra8414
    @aryanmalhotra8414 9 місяців тому +3

    you're speed running through the code and your project while it takes mongoDB atlas search as the vector store, you are not able to even briefly explain how integrations with other vector stores might happen. please explain in more detail next time

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

    4:36

  • @bhanuchirutha
    @bhanuchirutha 4 місяці тому

    a diagram initially would have been more helpful

  • @jacqueokatch9907
    @jacqueokatch9907 11 місяців тому +1

    First

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

    Thats why he's the goat

  • @hamzaomari7052
    @hamzaomari7052 6 місяців тому

    In the privided link for the repos on github, the project two is missing!

  • @andymutale368
    @andymutale368 11 місяців тому +1

    Thats why he's the goat

  • @andymutale368
    @andymutale368 11 місяців тому

    Thats why he's the goat