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!
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.
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.
🎯 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
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?
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?
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?
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.
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!
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.
This is an absolutely OUTSTANDING video that summed up so many things so well. Thank you for it!
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 😊
Good thing this showed up on my feed. You got you another subscriber.
Welcome aboard!
🎯 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
Thank you for sharing. I really like your structured approach and explanations. Very well done
Thanks, glad it was helpful
The video is awesome! Can't wait for the next one!
Great educational value! I'm really looking forward to the comparison video for different embeddings.
Superb Lesson... Thank you! ♥
Thank You. A good review !
persist and you will go very big, rooting for you
Thank you 🙏
best video on youtube in this topic.
Very useful video on the topic
Glad you liked it
Excellent video. Thank you very much. I will wait for the next one on the subject 🦾
Excellent content!!
Thank you!
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
Need an index of all topics of prompt engineering to understand where to begin.
Yes
Good explanation 👏
Thank you 🙂
Thank you for awesome content
Please make a video on alternatives for Open AI llms as well..
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?
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?
Thanks, embedding was like black magic to me
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?
awesome video!
as always, you will never find a bad quality content by this guy
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.
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 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.
You didn’t explain how to compare query embeddings with dataset embeddings
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.
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: ua-cam.com/video/aD-u0gl93wM/v-deo.html
Your video is better than those made by llamaindex!
thanks :)
please make the video comparing different embedding models
Is Llama index better than langchain? If so, what are the contributors of the improved performance?
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.
How can i perform the same task with Gemini
Watch my latest video :)
Which one sir
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.
Can you make a video on chat element in streamlit which uses prompt template.
what is the difference between embedings and lora
I recommend that you just put code in your thumbnail and see how that sells. That’ll make it super uncool.