Thanks! This is a great video for understand RAG. I agree chunking and embedding play a major role. Per my experience so far, most of the times the LLM (GPT4 in my case) is answering the questions well from my data if the quality of chunks are good! The challenges I face so far in chunking: 1) My PDFs contain a lot of contents with complex tabular structures (with merged rows and columns) for product specifications. Chunking break the relationship between rows and columns. 2) same kind of contents that replicate across different PDFs for different products. Unfortunately the pdfs are not named by products. Therefore the vector search is returning contents from an a wrong product not asked in the user query. 3) Sometimes with in the same PDF (Containing multiple products), the contents repeat with different specification per product. If I ask for input voltage for a product A, it might return product B since the context is lost while chunking. Looking for smarter ways to chunk to retain the contexts across the chunks.
Its one thing to be good at what one does but being good at teaching it to someone else is next level. The best playlist for fully understanding the *essence* of what's happening. amazing!
🎯 Key Takeaways for quick navigation: 01:23 📚 Embeddings are multi-dimensional feature vectors that represent words or sentences in a semantic space, preserving their meaning. 04:06 🧩 Embeddings are crucial in retrieval augmented generation systems to find the closest text chunks based on user queries. 05:44 🚀 The choice of embedding model is vital as it directly impacts the performance of the response generation in document-based chat systems. 08:45 🔄 OpenAI embeddings can be used for document retrieval but come with a cost, while various open-source embeddings provide alternatives. 13:31 ⏱️ Local embedding models like BGE and Instructor are faster for computations compared to remote OpenAI embeddings, which involve server calls. Made with HARPA AI
Amazing tutorial. I barely understand this stuff, but you walking me through this helps me understand it a bit more. Plus i am able to recreate your process and test things out myself.
Great video. Thanks for sharing. Just a little comment about analogies by vector arithmetic. In the 2:44 you said that if you subtract a vector man from vector king you would get a vector woman where in fact the resultant vector would represent royalty I think. Thanks
The only problem lies in this question : 1. when an LLM model is trained ( not by us, by the ones who made it ) - the input embedding matrix is already fixed 2. What then, is the need of creating external embeddings in the first place? is there a way we can reuse the model's embeddings ? and if not, why? we could very well tokenize our input text, and model would take care of looking up the corresponding embedding. I know it wont fit with RAG Logic , but then counter question is - how are you sure performance wont be affected if using custom embeddings ( for storage in vectorDB) vs kind of embeddings that have been generated per token within LLM itself. is using RAG embeddings means we are bypassing LLM embeddings?
When you click on the next sequence of code lines, how is it that that stuff magically materializes? Do you copy and paste it from someplace else as obviously you don’t take the time to write it all out like a mortal. Where do these lines of code come from?
thanks for the summary. Been trying to follow your videos. Have you tried to run llama index with mistral 7B model and instructor embedding ? Is there already a colab notebook and video?
You started off creating an embedding for a sentence but it appears each chunk is more than a sentence. Would love to know more how you decide how to chunk the data.
Thanks! any idea how "chunking" or embeddings will be different if we are dealing with python code instead of English language? Like for example I want to use RAG method with Code Llama or CodeWizard for my github repo containing Python code.
How do you pick your embedding models? Most of us have no context for understanding what’s valuable in a model or what the criteria would be. So you slide over that as if we should know how to pick an embedding model.
An exemplary and crystal-clear exposition of a complex subject that leaves no room for confusion.
Thanks! This is a great video for understand RAG.
I agree chunking and embedding play a major role. Per my experience so far, most of the times the LLM (GPT4 in my case) is answering the questions well from my data if the quality of chunks are good!
The challenges I face so far in chunking:
1) My PDFs contain a lot of contents with complex tabular structures (with merged rows and columns) for product specifications. Chunking break the relationship between rows and columns.
2) same kind of contents that replicate across different PDFs for different products. Unfortunately the pdfs are not named by products. Therefore the vector search is returning contents from an a wrong product not asked in the user query.
3) Sometimes with in the same PDF (Containing multiple products), the contents repeat with different specification per product. If I ask for input voltage for a product A, it might return product B since the context is lost while chunking.
Looking for smarter ways to chunk to retain the contexts across the chunks.
Its one thing to be good at what one does but being good at teaching it to someone else is next level. The best playlist for fully understanding the *essence* of what's happening. amazing!
This is an absolutely OUTSTANDING video that summed up so many things so well. Thank you for it!
🎯 Key Takeaways for quick navigation:
01:23 📚 Embeddings are multi-dimensional feature vectors that represent words or sentences in a semantic space, preserving their meaning.
04:06 🧩 Embeddings are crucial in retrieval augmented generation systems to find the closest text chunks based on user queries.
05:44 🚀 The choice of embedding model is vital as it directly impacts the performance of the response generation in document-based chat systems.
08:45 🔄 OpenAI embeddings can be used for document retrieval but come with a cost, while various open-source embeddings provide alternatives.
13:31 ⏱️ Local embedding models like BGE and Instructor are faster for computations compared to remote OpenAI embeddings, which involve server calls.
Made with HARPA AI
Amazing tutorial. I barely understand this stuff, but you walking me through this helps me understand it a bit more. Plus i am able to recreate your process and test things out myself.
Glad to hear that!
Your tutorials are objectively the best.
Thank you 😊
Thank you for sharing. I really like your structured approach and explanations. Very well done
Thanks, glad it was helpful
Great video. Thanks for sharing.
Just a little comment about analogies by vector arithmetic. In the 2:44 you said that if you subtract a vector man from vector king you would get a vector woman where in fact the resultant vector would represent royalty I think.
Thanks
Good thing this showed up on my feed. You got you another subscriber.
Welcome aboard!
Great educational value! I'm really looking forward to the comparison video for different embeddings.
The video is awesome! Can't wait for the next one!
best video on youtube in this topic.
Superb Lesson... Thank you! ♥
Thank You. A good review !
Excellent content!!
Thank you!
persist and you will go very big, rooting for you
Thank you 🙏
Very useful video on the topic
Glad you liked it
The only problem lies in this question :
1. when an LLM model is trained ( not by us, by the ones who made it ) - the input embedding matrix is already fixed
2. What then, is the need of creating external embeddings in the first place? is there a way we can reuse the model's embeddings ? and if not, why? we could very well tokenize our input text, and model would take care of looking up the corresponding embedding.
I know it wont fit with RAG Logic , but then counter question is - how are you sure performance wont be affected if using custom embeddings ( for storage in vectorDB) vs kind of embeddings that have been generated per token within LLM itself. is using RAG embeddings means we are bypassing LLM embeddings?
Need an index of all topics of prompt engineering to understand where to begin.
Yes
Thank you for awesome content
When you click on the next sequence of code lines, how is it that that stuff magically materializes? Do you copy and paste it from someplace else as obviously you don’t take the time to write it all out like a mortal. Where do these lines of code come from?
Excellent video. Thank you very much. I will wait for the next one on the subject 🦾
Please make a video on alternatives for Open AI llms as well..
Good explanation 👏
Thank you 🙂
Thanks, embedding was like black magic to me
thanks for the summary. Been trying to follow your videos. Have you tried to run llama index with mistral 7B model and instructor embedding ? Is there already a colab notebook and video?
You started off creating an embedding for a sentence but it appears each chunk is more than a sentence. Would love to know more how you decide how to chunk the data.
The section on Emebeddings with all the cool visualizations, where is that from? If it's from somewhere else, could you please share the link?
that's my own :)
You didn’t explain how to compare query embeddings with dataset embeddings
Thanks! any idea how "chunking" or embeddings will be different if we are dealing with python code instead of English language? Like for example I want to use RAG method with Code Llama or CodeWizard for my github repo containing Python code.
Check this out: ruclips.net/video/aD-u0gl93wM/видео.html
awesome video!
as always, you will never find a bad quality content by this guy
Is Llama index better than langchain? If so, what are the contributors of the improved performance?
how do you find that chunksize =800 and overlap 20 is a good number?
chunk size and overlap is really doc dependent. I think openai uses similar parameters in their assistants by default.
Awesome video! one question, does this give better result than your standard Pinecone/Chorma approach?
Pinecone/Chroma are vector store for storing the embeddings. What type of semantic search you use will have an impact.
Your video is better than those made by llamaindex!
thanks :)
Great video. Thanks a lot ! Could you perhaps recommend a good free embeddings model for German language documents?
The models from mistral.ai/ supports German, they even have their own embeddings which I think supports German.
Can you make a video on chat element in streamlit which uses prompt template.
How do you pick your embedding models? Most of us have no context for understanding what’s valuable in a model or what the criteria would be. So you slide over that as if we should know how to pick an embedding model.
what is the difference between embedings and lora
How can i perform the same task with Gemini
Watch my latest video :)
Which one sir
please make the video comparing different embedding models
I recommend that you just put code in your thumbnail and see how that sells. That’ll make it super uncool.