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!
thnx mate:) appriciate it!
Really appreciate all your content and how much energy you put into learning all this and sharing it. Thanks buddy
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
Great! Thank you! I'd like to have the same for local code (django). One liners won't work, so how to do this?
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 :)
it works after ollama run mistral this thank you
Will you be doing a video’s on ChatGPT the App version anymore?
👍Thanks! Useful information.👍
no problem:) tnx for tuning in!
Thank you so much for this tutorial, Could you make a video with some use cases with RAG in your daily life?
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?
same
can I add a folder including multiple PDFs and txts?
Harikasınız
How would you deploy this in AWS for production? Would you use ollama and download the entire LLM model on an EC2 instance?
use an inference endpoint for llm and a cpu based ec2 instance. It may be cheaper
no working in mac
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
me too, found any solution?
same facing this error
same error
What if my pdf has like a 1 million word/token, would this still work?
very good stuff
Hey! There's any solution to make a good RAG like this using ollama on Openwebui?
muchas gracias, muy util, funciono el codigo
Please how would you advice we run this on JSON files, not PDF. I have several Q-A in . JSON format, not PDF.
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.
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.
Oh Man that worksssssssssss!
pdf.py has been replaced with upload.py (which handles pdf, txt and json)
Thank you! I was stuck here.
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'
Really nice work! .. but is this really fully local? ... OpenAI?
... Huh?
Which video card and how much memory?
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.
Thanks, GPT 4.
FYI GPTZero states this comment is 100% AI generated.
Jeez, it almost academic if it weren't reeking of AI
Hahaha 😂 @@userou-ig1ze
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
please guide
@@kumarrohit557 have you tried before doing that ollama pull mxbai-embed-large ?
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}}
You have to download the model. ollama pull mistral
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 !!
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 !!!