RAG from Scratch in 10 lines Python - No Frameworks Needed!

Ғылым және технология

In this video, I'll show you how to create a fully functional chat system using your own documents with just 10 lines of Python code. We'll dive into Retrieval Augmented Generation (RAG) without relying on frameworks like LangChain, LamaIndex, or vector stores such as Chroma.
💻 RAG Beyond Basics Course:
prompt-s-site.thinkific.com/c...
LINKS:
Colab: tinyurl.com/cnufkeky
Ben's X account: x.com/bclavie
Ragatouille/ColBERT video: • Advanced RAG with ColB...
Let's Connect:
🦾 Discord: / discord
☕ Buy me a Coffee: ko-fi.com/promptengineering
|🔴 Patreon: / promptengineering
💼Consulting: calendly.com/engineerprompt/c...
📧 Business Contact: engineerprompt@gmail.com
Become Member: tinyurl.com/y5h28s6h
💻 Pre-configured localGPT VM: bit.ly/localGPT (use Code: PromptEngineering for 50% off).
Signup for Newsletter, localgpt:
tally.so/r/3y9bb0
00:00 Introduction to Building a Chat System without Frameworks
00:26 Understanding Retrieval Augmented Generation (RAG)
02:12 Setting Up the Python Environment
03:39 Data Preparation and Chunking
05:12 Embedding the Chunks
06:31 Retrieving Relevant Chunks
08:53 Generating Responses with LLM
09:50 Advanced Techniques and Recommendations
11:15 Conclusion and Further Learning
All Interesting Videos:
Everything LangChain: • LangChain
Everything LLM: • Large Language Models
Everything Midjourney: • MidJourney Tutorials
AI Image Generation: • AI Image Generation Tu...

Пікірлер: 47

  • @michaelponce5965
    @michaelponce596515 күн бұрын

    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!

  • @antonioalvarez3246

    @antonioalvarez3246

    14 күн бұрын

    x2! thanks @prompt engineering!

  • @madbike71
    @madbike7114 күн бұрын

    Excelent and concise description. Thank you.

  • @nshettys
    @nshettys11 күн бұрын

    Brilliant! Thanks for this one

  • @Connor51440
    @Connor5144015 күн бұрын

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

  • @prathameshmandavkar7591
    @prathameshmandavkar759117 күн бұрын

    Great work 👍🏻 Thanks

  • @nmstoker
    @nmstoker12 күн бұрын

    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

    9 күн бұрын

    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!

  • @antonioalvarez3246
    @antonioalvarez324614 күн бұрын

    great work! thanks!

  • @TheCopernicus1
    @TheCopernicus117 күн бұрын

    Legend!

  • @Salionca
    @Salionca17 күн бұрын

    Great! Thanks!

  • @vitalis
    @vitalis15 күн бұрын

    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

    15 күн бұрын

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

  • @Kishorekkube

    @Kishorekkube

    11 күн бұрын

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

  • @vaishnokmr
    @vaishnokmr16 күн бұрын

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

  • @LEANSCH96
    @LEANSCH9614 күн бұрын

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

  • @MoFields
    @MoFields17 күн бұрын

    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

    17 күн бұрын

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

  • @engineerprompt

    @engineerprompt

    16 күн бұрын

    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.

  • @Francotujk
    @Francotujk17 күн бұрын

    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

    17 күн бұрын

    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

    17 күн бұрын

    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

    16 күн бұрын

    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

    15 күн бұрын

    @@engineerprompt @luizemanoel2588 Ok thanks to both!

  • @aryandhakal3158
    @aryandhakal315816 күн бұрын

    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!

  • @ujjwalsrivastava6248
    @ujjwalsrivastava62486 күн бұрын

    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?

  • @user-po9yn4ni4u
    @user-po9yn4ni4u15 күн бұрын

    can u also show how to make structured output?

  • @user-sd3qe7qu9c
    @user-sd3qe7qu9c12 күн бұрын

    500 likes, keep it up !

  • @ignaciopincheira23
    @ignaciopincheira2310 күн бұрын

    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

    9 күн бұрын

    Yes, checkout this video: kzread.info/dash/bejne/n5iApNRyebDTl6w.html

  • @bastabey2652
    @bastabey265216 күн бұрын

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

  • @drp111
    @drp11115 күн бұрын

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

  • @crazytrain86
    @crazytrain8616 күн бұрын

    "10 lines" 🤣

  • @MeinDeutschkurs
    @MeinDeutschkurs17 күн бұрын

    No frameworks, but please install RAGatuille? WTF!

  • @Yocoda24

    @Yocoda24

    17 күн бұрын

    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

    17 күн бұрын

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

  • @Yocoda24

    @Yocoda24

    16 күн бұрын

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

    16 күн бұрын

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

  • @Yocoda24

    @Yocoda24

    16 күн бұрын

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

  • @lesteroliver911
    @lesteroliver91117 күн бұрын

    Thankyou

  • @uwegenosdude
    @uwegenosdude14 күн бұрын

    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 !

Келесі