How I built an AI Teacher with Vector Databases and ChatGPT

Поділитися
Вставка
  • Опубліковано 3 січ 2025

КОМЕНТАРІ • 147

  • @gkcs
    @gkcs  Місяць тому +9

    Thank you for watching!
    Resource links:
    Neon DB - fyi.neon.tech/gs1
    AWS Transcribe: aws.amazon.com/pm/transcribe

    • @sachinawati6332
      @sachinawati6332 Місяць тому

      create a AI teacher using swarm agents, like it should personal ai teacher for all subjects with proper accuracy and according to my knowledge modify the content my level of understanding format type

    • @saranrajiyyanar3339
      @saranrajiyyanar3339 28 днів тому

      Please share your GitHub repo link, How to join you class?

  • @akshaychavan5511
    @akshaychavan5511 Місяць тому +10

    Just what I was looking for!!
    Building a project with similar specification. This video helped me understand the system design aspect of it.

    • @gkcs
      @gkcs  Місяць тому +1

      Cheers!

  • @naveenthota6429
    @naveenthota6429 27 днів тому +5

    One of the best videos I saw in recent times. Great details. Thank you and God bless you.

    • @gkcs
      @gkcs  27 днів тому

      Thank you!

  • @Condinginsight
    @Condinginsight Місяць тому +4

    wa..o... superb!! keep your smart work like that, waiting for your next video.

  • @sarojpatra8306
    @sarojpatra8306 Місяць тому +2

    Very nicely explained. Just right amount of information.

    • @gkcs
      @gkcs  Місяць тому

      Thank you!

  • @manuelblinkert3200
    @manuelblinkert3200 6 днів тому

    Very good conceptual video about a RAG pipeline. well done.

    • @gkcs
      @gkcs  6 днів тому

      Thank you!

  • @ramanathTV
    @ramanathTV 9 днів тому

    Extremely well explained ,
    Loved it ❤

    • @gkcs
      @gkcs  9 днів тому

      Thank you!

  • @pritampaul8167
    @pritampaul8167 28 днів тому

    A very insightful video! Thanks Gaurav

  • @elangoy
    @elangoy Місяць тому +1

    Keep UP the GOOD WORK , your videos are very good and of good quality

    • @gkcs
      @gkcs  Місяць тому

      Thank you!

  • @shivprakashy
    @shivprakashy Місяць тому +2

    Very informative. Thanks for this.
    Throttled my network to read the tech bits on your website.
    Couldn’t find a Community menu, I think that will engage users. More users on website may lead to more conversion.

    • @gkcs
      @gkcs  Місяць тому +1

      Hahaha, that's a nice way to read the tech bits 😁
      I am looking to add a community section in 2025. Thanks for the feedback!

  • @Rahulsapkota
    @Rahulsapkota 3 дні тому

    Really insightful loved it. I heard lot of rag everywhere now I have a good idea on this thanks

    • @Rahulsapkota
      @Rahulsapkota 3 дні тому

      Can we get a video of what is agents how to get started on that just a brief video like this would be really helpful

  • @IamSinghJaskaran
    @IamSinghJaskaran Місяць тому

    Great video! I’ve been looking for something like this. I’m currently working on the concept of vector embeddings and building a project around it, but I’ve been struggling to come up with a clear use case for myself or visualize a real-life application-until now. This really helped!

    • @gkcs
      @gkcs  Місяць тому +1

      That's awesome, good luck with your project!

  • @surajsrinivas7517
    @surajsrinivas7517 Місяць тому +1

    Very cool and concise video. Was not aware of this and thanks for sharing.

    • @gkcs
      @gkcs  Місяць тому

      Glad it was helpful!

  • @towardsthenorth2022
    @towardsthenorth2022 19 днів тому

    Great work Gaurav !

    • @gkcs
      @gkcs  18 днів тому

      Thank you!

  • @alixaprodev
    @alixaprodev Місяць тому +1

    I had this challenge previously. Thank you os much for this.

    • @gkcs
      @gkcs  Місяць тому

      Cheers!

  • @sounishnath513
    @sounishnath513 Місяць тому +2

    I have one query, for caching what are you essentially caching? Is it only the semantic query relevance if multiple users asks similar query?
    Would appreciate if you throw some light off

  • @BloggerVikash
    @BloggerVikash Місяць тому +3

    I am using digital ocean droplet to host Postgres,
    can i use Neon?
    how do you rate Neon??

    • @gkcs
      @gkcs  Місяць тому

      I found Neon fast and good.

    • @BloggerVikash
      @BloggerVikash Місяць тому

      @ i want overall rating sir
      Like
      Can we trust for production ready app, which may cater lakh around user?

    • @PrabhakarKumar97
      @PrabhakarKumar97 Місяць тому

      @@BloggerVikash Read the fine manual

    • @BloggerVikash
      @BloggerVikash Місяць тому

      @@PrabhakarKumar97 yes i have gone through
      Currently avoiding neon
      Because of the region.
      Indian region is not available

  • @SuperGojeto
    @SuperGojeto Місяць тому +1

    Amazing! I want to do a personal project based on nearly this concept but I want everything to be locally handled including the chatgpt answer generation part. Although it's not related to text but majorly images. Great video anyways.

    • @gkcs
      @gkcs  Місяць тому

      Go for it!
      The generation is also possible if you have your own transformers.

  • @VijayR-h2y
    @VijayR-h2y 16 днів тому

    Thanks, nicely explained.
    Looking fwd to more such AI system designs.

    • @gkcs
      @gkcs  16 днів тому

      Thanks, more are coming!

  • @logeshkumar8333
    @logeshkumar8333 Місяць тому +1

    Sorry, May i kindly know what steps are involved in augmentation (a in rag)

  • @pusarlaaishwarya5035
    @pusarlaaishwarya5035 Місяць тому +1

    Bro thankyou for this concept😊😊😊

  • @sarvesharora9503
    @sarvesharora9503 18 днів тому +1

    I guess I didn't understand the problem well. Can't Gpt goes through all of your files (it has already too much data which it's trained on why can't go through some more) ?

  • @rameshpraveen2488
    @rameshpraveen2488 Місяць тому +2

    Hi, so am I correct in understanding that after feeding ChatGPT all your transcript files, the queries with no context didn’t yield good response; then with context pointing to a specific file yielded better response; and with context to multiple related files it yielded even better response?

    • @gkcs
      @gkcs  Місяць тому

      That's right 😁

  • @shubhamrajput2667
    @shubhamrajput2667 Місяць тому +2

    Hi Gaurav, did you consider elasticsearch as well? I mean just for benchmarks

    • @gkcs
      @gkcs  Місяць тому

      I have used ElasticSearch (OpenSearch) earlier: it's very expensive and not as good as a vector DB like PGVector.
      The problem with text search is that it relies too much on written words instead of the context between them. Maybe I could have used the OpenSearch better, but my experience with Neon (PGVector) is better.

  • @sourabhkhandelwal689
    @sourabhkhandelwal689 Місяць тому +2

    Great video, Gaurav. Also, from where do I get that cool tshirt?

    • @gkcs
      @gkcs  Місяць тому +1

      Thanks!
      I got it as a gift, so I am not sure where. I think it's from a creator shop in Instagram though.

  • @thebibhuty
    @thebibhuty 17 днів тому

    Comment unrelated to the video:
    Gaurav one request:
    Coming from someone who have completed >50% of interview ready system design course.
    I loved your system design but deep knowledge comes beyond 1 hour of the System Design interview for a specific topic.
    Ex:
    - you teach us how to design uber in 1 hour for a system design interview and that works till we get a job.
    - now as a curious engineer I want to do deep dive into Uber's say hexagonal mapping thing.
    What enhancement I am requesting is when you design a system design topic please divide into 2 parts:
    1. for interview(you're already doing)
    2. beyond interview(for extreme deep dives like research papers, blogs etc. related to point 1)
    I know you have a dedicated research paper discussion section, I am yet to go there but it would be great if we can extend it to the system design topics which you have already taught, it'll help us getting a holistic view.
    Regards
    From your longtime student

    • @gkcs
      @gkcs  17 днів тому

      Thank you for the suggestion, I will think about how to make this a reality :)
      Until then, you can use this page to filter through great deep diving resources: interviewready.io/resources/

  • @epistemophilia-3
    @epistemophilia-3 Місяць тому +1

    When a question is asked, it needs to be sent to Neon DB, where similar context transcripts are retrieved from the database. These transcripts are then sent to OpenAI, and the response is returned and displayed to the user. I want to know if this process happens instantly, or if I am comprehending it incorrectly.

    • @gkcs
      @gkcs  Місяць тому

      It doesn't happen instantly, it takes about 6 seconds for OpenAI to respond.
      We are working on showing a loader while this happens, so the UX is good.

  • @jahliveabi
    @jahliveabi 29 днів тому

    It would be good to give more context on when to implement a vector db. Your explanation is brilliant and I will learn from it. Asking question to OpenAI already has multiple implementations of vector db right? So how does it benefit a certain use case?

  • @akexop7404
    @akexop7404 Місяць тому +1

    Can we utilised not diamond ai tool which provides free apis for different ai models, so does it works the same?

  • @harinijaan3779
    @harinijaan3779 Місяць тому +1

    Great video. Your humour "depending on your salary you can set up the instance you want ...xD"

    • @gkcs
      @gkcs  Місяць тому

      😁

  • @wasitechlearning
    @wasitechlearning 14 днів тому

    May I get your AI Teacher demo? How it actually looks like.

  • @PrajwalMSP
    @PrajwalMSP 29 днів тому

    Did you use Langchain?

  • @satyabatigoswami1735
    @satyabatigoswami1735 Місяць тому +1

    Great ecplanation and thanks a lot for this concept!!!I have one doubt. Will the data in neon db be static? How are you storing the data in the db for a particular transcript?

    • @gkcs
      @gkcs  Місяць тому +1

      Thanks! Yes the data is static for a transcript. I can update the vector embeddings by clearing the data and replacing all the vectors again.

    • @satyabatigoswami1735
      @satyabatigoswami1735 Місяць тому

      @@gkcs thanks a lot for the reply 😇

  • @DevyaniArya08
    @DevyaniArya08 Місяць тому

    a muchhh needed video, thankss a lottt sirrr😭😭😭😭😭😭😭😭😭😭😭😭

    • @gkcs
      @gkcs  Місяць тому +1

      Cheers!

  • @sumitbasu5146
    @sumitbasu5146 Місяць тому +1

    Thank you Gaurav 😁

    • @gkcs
      @gkcs  Місяць тому

      Thank you!

  • @icepreyas
    @icepreyas День тому

    @gkcs would the outcome of this be the same as creating a custom GPT in OpenAI using your transcript files and calling that GPT via the API?

  • @maddymadanraj
    @maddymadanraj Місяць тому +2

    hey gaurav
    can we also store images in vector database?
    example can i store youtube thumbnails ? and while prompting gpt can use those as reference and provide me a better outcome
    love your content 🙌🏽

    • @gkcs
      @gkcs  Місяць тому +1

      Thanks!
      You can store the files. The images can be converted to vectors, yes. But OpenAI is not suitable for this type of embedding, by my limited understanding.
      A multimodal system will do better.

    • @maddymadanraj
      @maddymadanraj Місяць тому

      @@gkcs thanks 👍

  • @Guru-mf3ew
    @Guru-mf3ew Місяць тому +1

    I really really like your videos

    • @gkcs
      @gkcs  Місяць тому +1

      Thank you!

  • @MitaliNeerPatel
    @MitaliNeerPatel Місяць тому +1

    helpful, thank you.

    • @gkcs
      @gkcs  Місяць тому

      Thank you :D

  • @mohitisimmortal
    @mohitisimmortal Місяць тому +1

    bro, how to make embeddings in vector database, like use openai embeddings api for that or neon did that?

    • @gkcs
      @gkcs  Місяць тому +1

      You can use openAI embeddings, yes.
      You can also use other open source embedding algorithms. We used OpenAI because it's something we have heard of :p

  • @W_G-yb6ng
    @W_G-yb6ng Місяць тому

    Are you using any Guardrails?

  • @RaymaxOfficial
    @RaymaxOfficial Місяць тому +1

    Hey Gaurav, excellent explanation as always. I have a couple of questions I wanted to ask:
    1. How do you create a vector database? Does Neon DB assist in this process? Do we simply pass the transcript to Neon DB, and it returns the vector file for that transcript?
    2. Is this what our request to ChatGPT looks like? -> "What is load balancing?" and here are some vector databases for context: transcript-vector.txt.
    3. So, does ChatGPT receive the query from the user and the vector database for the transcript provided by Neon DB?
    4. I also don't understand how Neon DB selects which transcript vector to send to ChatGPT.
    Thank you for the video.

    • @gkcs
      @gkcs  Місяць тому +1

      Thanks Raymax!
      1. Creating a database a one click operation in Neon. No we have to first get an embedding for the transcript using a model. There is LlamaIndex, etc... for this.
      2. User prompt: What is chat gpt. System Prompt: You are a system design teacher who answers in 2-3 sentences.
      Something like the above.
      3. ChatGPT talks to our server, the InterviewReady server. Our server finds files most relevant to a query from NeonDB and uses them to add context to the query.
      4. It's a vector embedding search. There are various search algorithms for this, like K-nearest and HSNW.

    • @RaymaxOfficial
      @RaymaxOfficial Місяць тому

      @@gkcs thankyou sir !! 🫡

  • @bahubalichanduwad
    @bahubalichanduwad Місяць тому

    Are you suggesting we pass all the matching files for getting queries answered? Would it not be very expensive?

  • @phanikumar278
    @phanikumar278 27 днів тому

    Nice video , i always treat you like peer having discussion in room , you are good techie . One question though, how will you protect the privacy or content of the file that you sent to chatgpt ? will they use that for training or is it very locale to you when you store it ( I assume it will be for your user account )

    • @gkcs
      @gkcs  27 днів тому +1

      I think they'll end up using it for training. I have to read their TnC page to be sure.
      It is local to my account (I am paying for their API access, so it shouldn't be shared anywhere else).
      Thanks for the comment 😁

    • @gkcs
      @gkcs  27 днів тому +1

      @@Parul-u6e Thanks for letting me know :)

  • @ANANDKUMAR-ji4mv
    @ANANDKUMAR-ji4mv Місяць тому +1

    Thanks Gaurav

    • @gkcs
      @gkcs  Місяць тому

      Cheers 😁

  • @shubhamjagtap108
    @shubhamjagtap108 Місяць тому +1

    Thanks

  • @indianatlarge
    @indianatlarge 4 дні тому

    awesome vid.. i am your fan..

  • @Codersky01
    @Codersky01 Місяць тому +1

    Waao very useful

  • @siddhantota2857
    @siddhantota2857 Місяць тому +1

    Ammmaazing boi... thanks

    • @gkcs
      @gkcs  Місяць тому

      Cheers :D

  • @1292033
    @1292033 Місяць тому

    would you be able to open source the entire solution? Like a git repo?

  • @peeyushagrawal21
    @peeyushagrawal21 Місяць тому +1

    great application :)
    can you please share the source code so that the extensions can be made out of it.

  • @Polaar_b
    @Polaar_b Місяць тому

    1. Is Neon db hosted in your vpc?
    2. How do you maintain files/ embedding in vector db (say- For another RAG project where users wants to chat with their documents then how do we query vector db where multiple users have their own documents)?
    3. Do you think running llm instance locally (eg. ollama) is better option!!

  • @TotalTechnologyZonne
    @TotalTechnologyZonne Місяць тому +8

    Small doubt ,At the beginning, you mentioned using ChatGPT to store transcripts in the vector database. I believe you meant to say that you used a text embedding model from OpenAI to generate and store vector embeddings.

    • @gkcs
      @gkcs  Місяць тому +4

      That's right. We got the embeddings with OpenAI:
      platform.openai.com/docs/api-reference/embeddings

    • @TheGsinghg
      @TheGsinghg Місяць тому +3

      No. He stores the transcripts. He uses the "Retrieval" part, i.e. getting similar video files using Neon and tells the GPT model via API to consider files with index [i,j,k ...] to be used for augmentation for answer generation. I intentionally broke down the RAG across the sentence so that you know it is not something fancy.

  • @shubhamsonarikar8877
    @shubhamsonarikar8877 Місяць тому +1

    While working with AWS transcribtion for audio queries its very slow and time consuming is their any way to increase performance for this process specially using audio .mp3 file from s3 bucket

    • @gkcs
      @gkcs  Місяць тому

      Adobe takes time too and so does Vimeo. I found AWS easier since it's an API and runs async.

  • @ash1794
    @ash1794 Місяць тому

    Another way for transcripts is to use youtube as well. It generates transcripts whenever a file is uploaded.

    • @gkcs
      @gkcs  Місяць тому

      That's a great idea, thank you!

  • @dhruvmehta4181
    @dhruvmehta4181 Місяць тому

    How do you check whether your system is not used other than asking questions related to your videos only as Amazon also got this wrong in its first try where it written python code for the user

  • @dhruvwills
    @dhruvwills Місяць тому +1

    So basically,
    You are storing raw files using openai files api,
    and storing vector embedding in neon vector db,
    when a user makes a prompt you fetch the similar vectors from the neondb and inject in prompt sent to openai text generation api.
    what if user deletes the file, we sure can delete it from openai files, but how do we delete the vector embedding of a particular file ?

    • @deesiInGermany
      @deesiInGermany Місяць тому

      Too have the same doubt

    • @dhruvwills
      @dhruvwills Місяць тому

      @deesiInGermany i found that we have to attach metadata with the vector and when the file is deleted, we have to search embedding that have same name in metadata.
      I also wondered that if we cannot use uploaded files directly in the prompt like "refer file {file1}", than whats the point of storing it on openai server. We should store it on our server only for better flexibility in future.

    • @deesiInGermany
      @deesiInGermany Місяць тому

      @@dhruvwills thanks Dhruv for your reply.
      I am starting my AI journey with a project. Just confused here if we are storing our files in Vector DB and then will only share the part of the context with the question to gpt, then what's a point of storing files in ChatGpt. Also storing theses files will consume tokens means extra cost

    • @dhruvwills
      @dhruvwills Місяць тому

      ​@@deesiInGermany the primary objective of files in gpt is to finetune model, but if you do it then it will generalize for each user.
      Thats is why we are providing the content in context, so in this case storing files on openai is just acting as a database, this is not necessary, you can store files on your own server and generate embedding using openai api, then store that embeddings in neondb.
      Here is how it would work,
      You would use openai api to send the text which was stored on the file and openai will return embedding which you will store on neon vector db.
      Earlier there used to be answers and query api in openai but that is now deprecated. They suggest to use embedding now.
      So basically, attach embedding in context, and you are good to go.

    • @deesiInGermany
      @deesiInGermany Місяць тому +1

      @dhruvwills perfect Dhruv. I'll give it a try. Thank you

  • @bulliethepirate
    @bulliethepirate 7 днів тому

    Thank you for this fantastic video. Very clear and I like the diagrams.
    One completely unrelated piece of advice: incorporate exercises that target your shoulders and neck. Not for getting bigger, but to improve your posture and enhance your overall well-being.

    • @gkcs
      @gkcs  7 днів тому

      Thank you!
      Agreed, I'll work on it :D

  • @shivambaghel9668
    @shivambaghel9668 Місяць тому +2

    people like me who do not have money or do not want to spend money on chatgpt ,can user ollama to run a LLM model on a local instance and run llama3, or mistral for RAG

    • @gkcs
      @gkcs  Місяць тому

      Yes that's right.

    • @princezuko7073
      @princezuko7073 17 днів тому

      So which is which? I mean what is the vector database here? Llama3? And ollama is the llm model to which we will give the augmented query with context that we will find from the llama3?

  • @thecoder7570
    @thecoder7570 Місяць тому +1

    Awesome 👍

    • @gkcs
      @gkcs  Місяць тому

      Thank you!

  • @simkeyur7
    @simkeyur7 28 днів тому +1

    Depending on your salary got me 🤣🤣🤣

  • @vam8775
    @vam8775 23 дні тому

    I got this video after commenting on a post

  • @Md_sadiq_Md
    @Md_sadiq_Md Місяць тому +8

    4:18 uff the humour

    • @gkcs
      @gkcs  Місяць тому +1

      :p

  • @The_Daily_chess
    @The_Daily_chess 3 дні тому

    Hey can anyone tell me about approx cost of this project or a working prototype?

  • @navin346
    @navin346 4 дні тому

    What does load balancing mean?

    • @navin346
      @navin346 4 дні тому

      Brilliant video btw. Just get a hang on the stuff that am looking for 🤝

    • @gkcs
      @gkcs  4 дні тому

      Hahaha!

  • @devrelsquad
    @devrelsquad Місяць тому

    🎉🎉 Amazing

    • @gkcs
      @gkcs  Місяць тому

      Cheers!

  • @m1cannas
    @m1cannas 17 днів тому

    ❤ super

  • @puneetarora1714
    @puneetarora1714 Місяць тому +1

    like marvel, the post credits 🤣🤣🤣

    • @gkcs
      @gkcs  Місяць тому

      :D

  • @Hercules159
    @Hercules159 Місяць тому

    pg vector = PostgreSQL ?

    • @gkcs
      @gkcs  Місяць тому

      @@Hercules159 Yes it's a vector database extension with the Postgres DB.

    • @Hercules159
      @Hercules159 Місяць тому

      @gkcs thx a lot

  • @harshawardhankamble4967
    @harshawardhankamble4967 Місяць тому +3

    Woke up to this

    • @gkcs
      @gkcs  Місяць тому

      Good morning!

  • @SreeRamakrishnaNagulakonda
    @SreeRamakrishnaNagulakonda 12 днів тому

    This an use case and real implementation of an AI agent correct?
    @gkcs

  • @gauthamvijayan
    @gauthamvijayan Місяць тому

    💖

  • @shankarnarayanan1732
    @shankarnarayanan1732 Місяць тому

    Osm

    • @gkcs
      @gkcs  Місяць тому

      Thank you!

  • @RR-zg5rd
    @RR-zg5rd Місяць тому

    hahaha ! that laugh for 100$ was epic

    • @gkcs
      @gkcs  Місяць тому

      Bootstrapped budget constraints :P

  • @mdmishfaqahmed2138
    @mdmishfaqahmed2138 Місяць тому +11

    PG-vector 💀

  • @codeblood87
    @codeblood87 Місяць тому

    Waooo

    • @gkcs
      @gkcs  Місяць тому

      Thank you!

  • @raghavenderkuppireddy7158
    @raghavenderkuppireddy7158 Місяць тому

    Awesome 👌

    • @gkcs
      @gkcs  Місяць тому

      Thanks!