Learn RAG From Scratch - Python AI Tutorial from a LangChain Engineer

2024 ж. 20 Мам.
146 083 Рет қаралды

Learn how to implement RAG (Retrieval Augmented Generation) from scratch, straight from a LangChain software engineer. This Python course teaches you how to use RAG to combine your own custom data with the power of Large Language Models (LLMs).
💻 Code: github.com/langchain-ai/rag-f...
If you're completely new to LangChain and want to learn about some fundamentals, check out our guide for beginners: www.freecodecamp.org/news/beg...
✏️ Course created by Lance Martin, PhD.
Lance on X: / rlancemartin
⭐️ Course Contents ⭐️
⌨️ (0:00:00) Overview
⌨️ (0:05:53) Indexing
⌨️ (0:10:40) Retrieval
⌨️ (0:15:52) Generation
⌨️ (0:22:14) Query Translation (Multi-Query)
⌨️ (0:28:20) Query Translation (RAG Fusion)
⌨️ (0:33:57) Query Translation (Decomposition)
⌨️ (0:40:31) Query Translation (Step Back)
⌨️ (0:47:24) Query Translation (HyDE)
⌨️ (0:52:07) Routing
⌨️ (0:59:08) Query Construction
⌨️ (1:05:05) Indexing (Multi Representation)
⌨️ (1:11:39) Indexing (RAPTOR)
⌨️ (1:19:19) Indexing (ColBERT)
⌨️ (1:26:32) CRAG
⌨️ (1:44:09) Adaptive RAG
⌨️ (2:12:02) The future of RAG
🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan
👾 Oscar Rahnama
--
Learn to code for free and get a developer job: www.freecodecamp.org
Read hundreds of articles on programming: freecodecamp.org/news

Пікірлер
  • Lance is the man! Love his content

    @mr.daniish@mr.daniishАй бұрын
  • I rarely say that a tutorial is good - but this is an amazing tutorial, extremely underrated!!!

    @AD-np2sh@AD-np2sh7 күн бұрын
  • Include more of langchain, llms, industry level based tutorials

    @sagarkeshave5357@sagarkeshave5357Ай бұрын
  • I was waiting for this particular course. Thanks

    @faisalmushtaq2287@faisalmushtaq2287Ай бұрын
    • Assala mu alaikum brother

      @iqtech6065@iqtech6065Ай бұрын
  • This man is amazing!

    @geekyprogrammer4831@geekyprogrammer4831Ай бұрын
  • This is great! Thank you so much!

    @ser1ification@ser1ificationАй бұрын
  • Always a fan of a lance video

    @mukilloganathan1442@mukilloganathan1442Ай бұрын
  • The complete happenstance of the phrase "do rag" sounding like "durag" coming from this video was awesome. Sorry, totally unrelated...but it made me chuckle.

    @jplkid14@jplkid1421 күн бұрын
  • VERY WELL EXPLAINED. THANK YOU

    @utk1000@utk100022 күн бұрын
  • Lance thank you for sharing your deep insights on the subject of RAG and taking the time to share this with the community. Just a question, at 1:04:00 into the overall video concerning the subject of Query Construction. For the question: "videos that are focused on the topic of chat langchain that are published before 2024" Should the result have been?: latest_publish_date: 2024-01-01 as opposed to earliest_publish_date: 2024-01-01 This would be more inline with question: "videos on chat langchain published in 2023" where the results where: earliest_publish_date: 2023-01-01 latest_publish_date: 2024-01-01 Thank you

    @jasonmuscat534@jasonmuscat53415 күн бұрын
  • I watched this twice. Very good.

    @mrchongnoi@mrchongnoi7 күн бұрын
  • Thank you!!!

    @janeslt@janesltАй бұрын
  • Awesome video! it helped a great deal to explain the concept.

    @computingcoding799@computingcoding799Күн бұрын
  • Thanks for the content !

    @souhaildahmeni9961@souhaildahmeni996111 күн бұрын
  • This is great content. Speaking of that 95% of private data I guess a lot of practitioner are finding it hard to convince business people to share their data with an LLM provider. And of course concerns are very much understandable. I guess people would feel more comfortable if a RAG application would be able to clearly define a partition of data that it can work on for the benefit of the tool, and a partition that can be either used as obfuscated or simply never shared, not even by chance.

    @claudiodisalvo9925@claudiodisalvo992528 күн бұрын
    • Maybe the solution would be running the model locally?

      @Kalmaos@Kalmaos26 күн бұрын
    • NVDIA CHATRTX might just do the job

      @juanpablopenaloza5093@juanpablopenaloza509319 күн бұрын
  • Thank you !

    @izzatullobaltabayev8619@izzatullobaltabayev861922 күн бұрын
  • Thank you for the talk.

    @kevinkawchak@kevinkawchak6 күн бұрын
  • Awesome as always

    @devloper_hs@devloper_hs18 күн бұрын
  • Please let us know when the blog related to adaptive RAG will be uploaded, Lance mentioned that he will be uploading it in a day or so. Also I wanted to ask this question to general public, which one is better, State machines or Guardrails?? (In the context of creating complex flows using llms)

    @yashtiwari3565@yashtiwari3565Ай бұрын
  • Great video! What software is used to create these nice diagrams ?

    @cristian_palau@cristian_palau16 күн бұрын
  • thank you

    @karimelfa1394@karimelfa1394Ай бұрын
  • Great!!

    @FranciscoJPolo@FranciscoJPoloАй бұрын
  • i have an question. In the rag-fusion part in the fusion_rank function: why u using the index (rank) to upgrade your scores ? Isnt it better to use the variable "previous_score" ?? the variable rank is just an index, wich descripes in witch order you read in the chunks. btw ty for the video you are an livesaver

    @ChristianBernhardt-tp1tn@ChristianBernhardt-tp1tn12 күн бұрын
  • Love the teaching style! at 9:00 you mention that you've walked through the code previously. Is there another video to go with this one or did I miss something?

    @CodeKitchen@CodeKitchenАй бұрын
    • those are shorts videos and they combined them to form an long single video. when lance referring previous video means not another video.

      @KOTAGIRISIVAKUMAR@KOTAGIRISIVAKUMAR27 күн бұрын
    • I think this is the playlist from the videos are taken: kzhead.info/channel/PLfaIDFEXuae2LXbO1_PKyVJiQ23ZztA0x.html

      @shraeychikker694@shraeychikker69420 күн бұрын
    • @@shraeychikker694 Nice one - many thanks :)

      @CodeKitchen@CodeKitchen19 күн бұрын
  • great content

    @afrazhussain3778@afrazhussain3778Ай бұрын
  • I recommend this vid to everyone.

    @cyborg69420@cyborg6942012 күн бұрын
  • Question:. Is it possible to do RAG across different vector stores that use different embedding strategies?

    @tubege@tubege19 күн бұрын
  • Thanks

    @ivant_true@ivant_trueАй бұрын
  • Amazing.

    @Yomi4D@Yomi4D19 күн бұрын
  • What is the best way to manage the chunk size?

    @eduardoconcepcion4899@eduardoconcepcion48994 күн бұрын
  • What the name of this screen recorder used by Lance?

    @GeandersonLenz@GeandersonLenz24 күн бұрын
  • is it possible i can do rag and combine data with huggingface models?

    @teddysalas3590@teddysalas3590Ай бұрын
  • GOLD

    @utkarshkapil@utkarshkapilАй бұрын
  • ❤❤❤

    @iCeTainment@iCeTainmentАй бұрын
  • How to add coverstional memory to it?

    @VipinAp-iy9tt@VipinAp-iy9tt26 күн бұрын
  • Like first and then watch

    @willcheng8257@willcheng8257Ай бұрын
  • Thanks for the excellent video! If your goal is to democratize gen AI to as diverse an audience as possible, I suggest you stop using OpenAI in these tutorials. In many parts of the world, having a credit card is not an option and OpenAI quickly backs you into that corner. Use, promote and support open-sources alternatives instead. Thank you.

    @sanjaybhatikar@sanjaybhatikar22 күн бұрын
  • llama 3 in 15T tokens, chart would be different if you released video 3 days later :)

    @iuseh@iuseh28 күн бұрын
  • Udemy created 50 accounts to dislike this video

    @nawaz_haider@nawaz_haiderАй бұрын
    • 😂😂😂

      @vishwanathnb128@vishwanathnb128Ай бұрын
    • I will create 50 accounts to like your comment 😂

      @zaidnadeem4918@zaidnadeem4918Ай бұрын
  • LLM Agents plzzz... ❤

    @Andrew-Tsegaye@Andrew-TsegayeАй бұрын
  • Amazing videos but how does this translate into careers or jobs? What positions are employers looking for? Would they even hire anyone without experience? How do you even get started? I'm aware this channel mostly focuses on the coding and hands-on experience but I wish there was an actual channel focused on employment. I'm pretty sure there are channels out there and if anyone has recommendations, I'll be grateful.

    @Thomas_Leo@Thomas_LeoАй бұрын
    • look on linkedin jobs title descriptions keywords if any with llm ai

      @samtx@samtxАй бұрын
    • Start working on some AI projects first, on your own, in your spare time. Show some results. Once you have two to show, getting a job should be easier. You don't actually need this langchain thing. As for how you get started, if you've already used GPT-4, etc., thinking about larger workflows that chain inputs and outputs in creative ways to solve problems. Also think about when you need to use embeddings for distance computation. You can use the LLM+embedding APIs directly or via an SDK, optionally sometimes with a local vector database. You don't need to go fancy.

      @vcool@vcool25 күн бұрын
    • @@vcool what results? What you done

      @samtx@samtx24 күн бұрын
  • And there was me thinking "how can it take over 2 hours to talk about applying RAG status to your project plans"

    @andyhall7032@andyhall7032Ай бұрын
  • Hello, at 27:13 why is he using itemgetter to pass the question? What's the difference between doing that and setting a RunnablePassthrough() in there?

    @Josholsan@JosholsanАй бұрын
    • No difference, just that with RunnablePassThrough() you don't need a dictionary in the invoke

      @flaviobrienza6081@flaviobrienza6081Ай бұрын
  • This is the way...

    @roberth8737@roberth8737Ай бұрын
  • Good job, but ' dict ' never again 😂

    @imaspacecreature@imaspacecreature4 күн бұрын
  • Does this video have everyone brainwashed? If you know basic programming, you don't need langchain at all. I don't like unnecessary abstractions.

    @vcool@vcool22 күн бұрын
    • Yeah but the building blocks are useful. Do you write your own sorting functions?

      @Haz2288@Haz228821 күн бұрын
    • @vcool would you mind expanding on what the alternative is to langchain? Genuinely curious on learning, not attacking

      @bradyanderson2250@bradyanderson225018 күн бұрын
  • This seems like it's going to pigeonhole me and tie my hands into a small dogmatic set of patterns, when what I need is broader freedom that I can accomplish without it.

    @vcool@vcool25 күн бұрын
  • This video getting massive viewership🇮🇱

    @USER-A566@USER-A566Ай бұрын
    • You mean 🇵🇸 ?

      @blacklight8318@blacklight8318Ай бұрын
    • @@blacklight8318 No

      @USER-A566@USER-A566Ай бұрын
    • Get and eat dudu

      @farhanlabib2833@farhanlabib2833Ай бұрын
    • Palestine

      @junaidiqbal4104@junaidiqbal4104Ай бұрын
    • Thanks, but that was on the menu yesterday... today is rice and beans

      @USER-A566@USER-A566Ай бұрын
KZhead