Easy 100% Local RAG Tutorial (Ollama) + Full Code

2024 ж. 20 Мам.
16 202 Рет қаралды

Easy 100% Local RAG Tutorial (Ollama) + Full Code
GitHub Code:
github.com/AllAboutAI-YT/easy...
👊 Become a member and get access to GitHub and Code:
/ allaboutai
🤖 Great AI Engineer Course:
scrimba.com/learn/aiengineer?...
📧 Join the newsletter:
www.allabtai.com/newsletter/
🌐 My website:
www.allabtai.com
Links:
huggingface.co/sentence-trans...
ollama.com/download
In this video I create a 100% local RAG in around 70 lines of code. Feel free to share and rate on GitHub :)
00:00 Local RAG Intro
02:01 Local RAG Full Tutorial

Пікірлер
  • Just want to say that you're probably one of the easiest to follow and most intuitive persons I've seen on KZhead doing guides for LLMs! Thanks!

    @streetroller1000@streetroller1000Ай бұрын
    • thnx mate:) appriciate it!

      @AllAboutAI@AllAboutAIАй бұрын
  • Really appreciate all your content and how much energy you put into learning all this and sharing it. Thanks buddy

    @crawfordscott3d@crawfordscott3dАй бұрын
  • Thanks to share your kwoledge with us! I have some questions because i have a similar code but it is not work as welll when the context is so extensive, how can i do? also, the chatbot lost when the history chat is large, i don't know hot to fix it. Yo have some idea? thanks

    @VeronicaAngelesEscudero@VeronicaAngelesEscudero6 күн бұрын
  • Great! Thank you! I'd like to have the same for local code (django). One liners won't work, so how to do this?

    @pm1234@pm1234Ай бұрын
  • Hi, thank you for the brilliant video and tutorial! I was wondering if you had any experience with implementing this process with LlaMA3 rather than Mistral, or if there was any difference in the implementation? Thank you :)

    @Thressian@Thressian22 сағат бұрын
  • it works after ollama run mistral this thank you

    @SSHVWork-px6ry@SSHVWork-px6ryАй бұрын
  • Will you be doing a video’s on ChatGPT the App version anymore?

    @Dylan-jq7hu@Dylan-jq7huАй бұрын
  • 👍Thanks! Useful information.👍

    @nic-ori@nic-oriАй бұрын
    • no problem:) tnx for tuning in!

      @AllAboutAI@AllAboutAIАй бұрын
  • Thank you so much for this tutorial, Could you make a video with some use cases with RAG in your daily life?

    @ia360graus@ia360grausАй бұрын
  • The discord link is still not working for me. Says it’s expired. Did you update the link or is this something on my end?

    @gumshoe9496@gumshoe9496Ай бұрын
    • same

      @JonathanDeCollibus@JonathanDeCollibusАй бұрын
  • can I add a folder including multiple PDFs and txts?

    @mrkubajski9528@mrkubajski9528Ай бұрын
  • Harikasınız

    @enesgul2970@enesgul2970Ай бұрын
  • How would you deploy this in AWS for production? Would you use ollama and download the entire LLM model on an EC2 instance?

    @cclementson1986@cclementson198628 күн бұрын
    • use an inference endpoint for llm and a cpu based ec2 instance. It may be cheaper

      @ashishkgp@ashishkgp22 күн бұрын
  • no working in mac

    @sebastianbecerra1034@sebastianbecerra103428 күн бұрын
  • I get the following error: python localrag.py Traceback (most recent call last): File "/Users/eil-its/Documents/experiments/workspace-python/llama3rag/localrag.py", line 130, in response = ollama.embeddings(model='mxbai-embed-large', prompt=content) File "/Users/eil-its/Documents/experiments/workspace-python/llama3rag/llama/lib/python3.9/site-packages/ollama/_client.py", line 198, in embeddings return self._request( File "/Users/eil-its/Documents/experiments/workspace-python/llama3rag/llama/lib/python3.9/site-packages/ollama/_client.py", line 73, in _request raise ResponseError(e.response.text, e.response.status_code) from None ollama._types.ResponseError: failed to generate embedding

    @BalvinderNagi@BalvinderNagi25 күн бұрын
    • me too, found any solution?

      @chriskingston1981@chriskingston198122 күн бұрын
    • same facing this error

      @kumarrohit557@kumarrohit55722 күн бұрын
    • same error

      @TheSalto66@TheSalto669 күн бұрын
  • What if my pdf has like a 1 million word/token, would this still work?

    @positivevibe142@positivevibe142Ай бұрын
  • very good stuff

    @JNET_Reloaded@JNET_ReloadedАй бұрын
  • Hey! There's any solution to make a good RAG like this using ollama on Openwebui?

    @rickmarques10@rickmarques1029 күн бұрын
  • muchas gracias, muy util, funciono el codigo

    @buhonauta@buhonauta6 күн бұрын
  • Please how would you advice we run this on JSON files, not PDF. I have several Q-A in . JSON format, not PDF.

    @CharlesOkwuagwu@CharlesOkwuagwuАй бұрын
    • I made a pull request to the repo and he accepted it. If you repull the repo you should now have access to uploading PDF, TXT, and JSON files into the context.

      @ClipsofCoolStuff@ClipsofCoolStuffАй бұрын
  • very interesting. issues: 1. it uses tkinter! 2. it strips the text from the pdf so it doesn't preserve page numbers - so you can't ask questions about where the text was found.

    @joshuapaul8042@joshuapaul804222 күн бұрын
  • Oh Man that worksssssssssss!

    @gilzonme@gilzonme27 күн бұрын
  • pdf.py has been replaced with upload.py (which handles pdf, txt and json)

    @frudhammy2371@frudhammy2371Ай бұрын
    • Thank you! I was stuck here.

      @ThriftyEngineer@ThriftyEngineer18 күн бұрын
  • Getting this error: import PyPDF2 File "C:\Anaconda\lib\site-packages\PyPDF2\__init__.py", line 12, in from ._encryption import PasswordType File "C:\Anaconda\lib\site-packages\PyPDF2\_encryption.py", line 34, in from ._utils import logger_warning File "C:\Anaconda\lib\site-packages\PyPDF2\_utils.py", line 55, in from typing_extensions import TypeAlias ModuleNotFoundError: No module named 'typing_extensions'

    @brianclark4639@brianclark463922 күн бұрын
  • Really nice work! .. but is this really fully local? ... OpenAI?

    @fernabot@fernabotАй бұрын
    • ... Huh?

      @DoctorMandible@DoctorMandible18 күн бұрын
  • Which video card and how much memory?

    @user---------@user---------Ай бұрын
  • This video is a misleading tutorial that oversimplifies the process of creating a local RAG (Retrieval Augmented Generation) system. While the presenter claims to create a "100% local RAG in around 70 lines of code," they fail to address the complexities and limitations of such a system. The tutorial relies heavily on pre-built libraries and models, such as Ollama and sentence-transformers, without providing a deep understanding of how these components work together. Moreover, the presenter does not discuss the potential drawbacks of using a local RAG system, such as the limited amount of data it can handle and the lack of real-time updates. The video may give viewers a false sense of ease in implementing a RAG system, without considering the necessary expertise and resources required for a robust and reliable solution.

    @TheHistoryCode125@TheHistoryCode125Ай бұрын
    • Thanks, GPT 4.

      @sluggy6074@sluggy6074Ай бұрын
    • FYI GPTZero states this comment is 100% AI generated.

      @pm1234@pm1234Ай бұрын
    • Jeez, it almost academic if it weren't reeking of AI

      @userou-ig1ze@userou-ig1ze29 күн бұрын
    • Hahaha 😂 ​@@userou-ig1ze

      @bolonekoplo2561@bolonekoplo25615 күн бұрын
  • i found an error when i run localrag.py File "D:\easy-local-rag-main\localrag.py", line 134, in response = ollama.embeddings(model='mxbai-embed-large', prompt=content) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\ollama\_client.py", line 198, in embeddings return self._request( ^^^^^^^^^^^^^^ File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\ollama\_client.py", line 73, in _request raise ResponseError(e.response.text, e.response.status_code) from None ollama._types.ResponseError: failed to generate embedding

    @kumarrohit557@kumarrohit55722 күн бұрын
    • please guide

      @kumarrohit557@kumarrohit55722 күн бұрын
    • @@kumarrohit557 have you tried before doing that ollama pull mxbai-embed-large ?

      @EduardoJGaido@EduardoJGaido18 күн бұрын
  • raise self._make_status_error_from_response(err.response) from None openai.NotFoundError: Error code: 404 - {'error': {'message': "model 'mistral' not found, try pulling it first", 'type': 'api_error', 'param': None, 'code': None}}

    @SSHVWork-px6ry@SSHVWork-px6ryАй бұрын
    • You have to download the model. ollama pull mistral

      @grahaml6072@grahaml607229 күн бұрын
  • This is pretty epic !! I wonder if pdfplumber might be a better fit than pypdf2 ? I have been working with plain text and that works great, but a simple text-only PDF downloaded from google docs gets quite garbled. maybe pdfplumber might not be much better tbh but I've generally heard it's very solid. I also wonder how difficult would it be to add re-ranking / recursive retrieval / corrective RAG ? are any of those even necessary given the way sentence transformers work ? Either way - big kudos for all your awesome work and sharing it with the commuity !!

    @pojomcbooty@pojomcbootyАй бұрын
    • would also love a comparison with a RAG based on knowledge graph (high level) - if anybody can graph this out and explain this well, it's you !! I've watched pretty much every youtube video there is that promises the earth from PrivateGPT etc. but you are dispensing actual knowledge !!!

      @pojomcbooty@pojomcbootyАй бұрын
KZhead