RAG from Scratch without any Frameworks

Sdílet
Vložit
  • čas přidán 5. 09. 2024

Komentáře • 60

  • @michaelponce5965
    @michaelponce5965 Před 2 měsíci +9

    This is exactly what I've been trying to find for the last couple of days. Simple instructions on how to do this with pure python and local LLM. Thank you!

  • @nmstoker
    @nmstoker Před 2 měsíci +2

    Brilliantly explained with clarity and insight, thank you!
    Also really pleased you point out that RAG emerged from IR ideas and wasn't brand new: when I saw it I was like, haven't people seen Facebook's DrQA from 2017?!? And even that wasn't out the blue, there's a long established history with IR 👍

    • @engineerprompt
      @engineerprompt  Před 2 měsíci +1

      thank you. I agree, in most of the case, we are reinventing the wheel and giving old approaches with new names. Interestingly enough a simple keyword based search (BM-25) will still out perform dense embeddings in most cases!

  • @vitalis
    @vitalis Před 2 měsíci +4

    Problem with RAG solutions is they don’t hold up with bigger amounts of unstructured data. I wish there was a solution that includes long term memory for chat agents so that they get smarter about your context as you chat with them

    • @engineerprompt
      @engineerprompt  Před 2 měsíci +3

      Google released context caching for their long context models. This could be a solution

    • @Kishorekkube
      @Kishorekkube Před 2 měsíci

      ​@@engineerpromptis there a way to save and load the vector store that you made here sir ?

    • @tollington9414
      @tollington9414 Před měsícem +1

      The graph rag solution may work better for large amounts of unstructured data

  • @madbike71
    @madbike71 Před 2 měsíci +1

    Excelent and concise description. Thank you.

  • @RūtenisRaila
    @RūtenisRaila Před 18 hodinami

    great work! very well explained

  • @CreativeEngineering_
    @CreativeEngineering_ Před měsícem

    I just got done implementing an almost identical setup. Used SQLite and fastBart all in C# it’s amazing

    • @austinzobel4613
      @austinzobel4613 Před 2 dny

      Nice I've been wanting to start in C# for RAG... Any tips or guidance for a newbie? I was using KoboldCPP's webui for LLM generation... but have NO idea where to go. None of these videos even hint at anything with C#... let alone Kobold.

  • @nshettys
    @nshettys Před 2 měsíci +1

    Brilliant! Thanks for this one

  • @bastabey2652
    @bastabey2652 Před 2 měsíci +1

    I never liked RAG frameworks .. thanks for the useful content

  • @vaishnokmr
    @vaishnokmr Před 2 měsíci

    yes! i did the same a year ago in research duration.. it works.

  • @gkhan753
    @gkhan753 Před měsícem

    As a newbe im hooked on this channel. Im about to take your RAG course, the issue have is, everytime ive been trying to use Langchain i get crazy errors about upgrades and in compatibilities with Python versions. How do you address this issue? Frustrating to resolve if at all.

    • @engineerprompt
      @engineerprompt  Před měsícem

      My recommendation is to stick to a version of langchain and don't use the latest version. You can fix that in the requirements.txt. you don't need to latest version in most cases. For Python, use 3.10. Hope this helps

  • @MrJekyllDrHyde1
    @MrJekyllDrHyde1 Před 2 měsíci

    Great job. I'd try to make this work with free/opensource AI Models
    I also wants to see if this will work with bigger corpus.

    • @engineerprompt
      @engineerprompt  Před 2 měsíci

      it should work with open models. For bigger corpus, you will need to think about latency in retrieval. You might want to look into Quantized embeddings in that case.

  • @Francotujk
    @Francotujk Před 2 měsíci +1

    Hello!
    I’ve a doubt. The similarities is a way to reduce the number of tokens that is sent to the openAi api? So basically when you make a query to the llm you are not sending the entire text of the wikipedia page?
    I ask it because of tokens cost, to know exactly what openai will charge us.
    Your content is probably the best on youtube! Really appreciate all your videos

    • @luizemanoel2588
      @luizemanoel2588 Před 2 měsíci +1

      Probably. He used a Wiki page but you may have a 1000 pages pdf that will cost a lot to process and maybe most of it is irrelevant to what you want.
      When you break the text, and then get the 'n' most relevant chunks you get what you want faster and cheaper.

    • @luizemanoel2588
      @luizemanoel2588 Před 2 měsíci +1

      And if you use a AI locally, the more info you use the slower it will be. So it can make a not so powerful PC do the job too.

    • @engineerprompt
      @engineerprompt  Před 2 měsíci

      Yes, there are two parts as mentioned by @luizemanoel. First the document can contain a lot of irrelevant info. You only want to provide what is relevant to the query to the LLM. This will improve the responses. And the added benefit is reduced tokens which means less cost as well.

    • @Francotujk
      @Francotujk Před 2 měsíci

      @@engineerprompt @luizemanoel2588 Ok thanks to both!

  • @Connor51440
    @Connor51440 Před 2 měsíci

    Great video, nice style and easy to listen to, subscribed 👍🏼

  • @aryandhakal3158
    @aryandhakal3158 Před 2 měsíci

    could you please make a video on a a chatbot that can interact with pdf files and answer questions with recent tech ? I'm having the most difficulties with outdated tutorials. It would be a great help!

  • @leomeza9396
    @leomeza9396 Před 2 měsíci

    Thank you so much!

  • @LEANSCH96
    @LEANSCH96 Před 2 měsíci +1

    Can this also be implemented with a local model through Ollama?

  • @TheCopernicus1
    @TheCopernicus1 Před 2 měsíci +2

    Legend!

  • @antonioalvarez3246
    @antonioalvarez3246 Před 2 měsíci

    great work! thanks!

  • @ujjwalsrivastava6248
    @ujjwalsrivastava6248 Před 2 měsíci

    Hello sir!
    I want to build a question answering chatbot which gives answer form provided knowledge base in pdf or text format with python language. I'm working on this since last 10 days but failed to do till now! Can you please guide me through this project sir?

  • @nekososu
    @nekososu Před 2 měsíci

    can u also show how to make structured output?

  • @prathameshmandavkar7591
    @prathameshmandavkar7591 Před 2 měsíci

    Great work 👍🏻 Thanks

  • @ignaciopincheira23
    @ignaciopincheira23 Před 2 měsíci

    Hi, could you convert complex PDF documents (with graphics and tables) into an easily readable text format, such as Markdown? The input file would be a PDF and the output file would be a text file (.txt).

    • @engineerprompt
      @engineerprompt  Před 2 měsíci +2

      Yes, checkout this video: czcams.com/video/mdLBr9IMmgI/video.html

  • @MoFields
    @MoFields Před 2 měsíci

    What are the best ways of importing documents into the RAG system From corporate systems, such as Google Docs or Confluence or Notion without asking your IT?
    I have actually done a few things manually, but they are very labour-intensive and manual for example using scraping tools and chrome extensions but is there something that is a bit more streamlined?

    • @MoFields
      @MoFields Před 2 měsíci

      Also - how to add indexing, link backs, more nuances chunking mechanisms (context and type of info aware)?

    • @engineerprompt
      @engineerprompt  Před 2 měsíci

      You are looking for data connectors in this case. Each of these services will have their own APIs or you can use data loaders from langchain (python.langchain.com/v0.2/docs/integrations/document_loaders/). This is one aspect where i would recommend using a framework.

  • @Salionca
    @Salionca Před 2 měsíci

    Great! Thanks!

  • @user-sd3qe7qu9c
    @user-sd3qe7qu9c Před 2 měsíci

    500 likes, keep it up !

  • @drp111
    @drp111 Před 2 měsíci +1

    Thanks for the video! However, RAG never convinced me. I'm looking for fine-tuning in 10 lines of code.

  • @rabeemohammed5351
    @rabeemohammed5351 Před měsícem

    language arabic is supported or not

  • @themax2go
    @themax2go Před měsícem

    ... yes, you can do it that way - but, you lose functionality in terms of accuracy of relevance between topics

  • @geekyprogrammer4831
    @geekyprogrammer4831 Před 18 dny +1

    Your course is too expensive

  • @uwegenosdude
    @uwegenosdude Před 2 měsíci

    Thanks for this great video. I tried to run your juypter notebook. When calling the line "from google.colab import userdata"
    I get the error: ModuleNotFoundError: No module named 'google'. and somewhere I see pkg_resources is deprecated as an API
    Is python 3.12.3 too new?
    OK, I replaced the google part. There are other ways to create an OpenAI client !
    Now it works !

  • @MeinDeutschkurs
    @MeinDeutschkurs Před 2 měsíci +2

    No frameworks, but please install RAGatuille? WTF!

    • @Yocoda24
      @Yocoda24 Před 2 měsíci +3

      Are you also mad he used numpy? Hahahahah wtf
      Framework: a collection of libraries to build applications
      Libraries: a tool to leverage functionality

    • @MeinDeutschkurs
      @MeinDeutschkurs Před 2 měsíci +2

      @@Yocoda24 , well: if the claim is pure python, no frameworks, yes. WTF.

    • @Yocoda24
      @Yocoda24 Před 2 měsíci +1

      @@MeinDeutschkurs not sure where you’re pulling “pure python” from? Can you give me a timestamp to when it is said in the video?

    • @MeinDeutschkurs
      @MeinDeutschkurs Před 2 měsíci +2

      @@Yocoda24 Read the video title:
      “RAG from Scratch in 10 lines Python - No Frameworks Needed!”

    • @Yocoda24
      @Yocoda24 Před 2 měsíci +1

      @@MeinDeutschkurs oh okay so it doesn’t say pure python, and he doesn’t use any frameworks. Glad we could come to an understanding

  • @crazytrain86
    @crazytrain86 Před 2 měsíci

    "10 lines" 🤣

  • @lesteroliver911
    @lesteroliver911 Před 2 měsíci

    Thankyou