VideoChad🗿 : RAG based Youtube Video Conversational Chat-Bot 📤📺
Got Bored watching Long Youtube Videos ? Here's a Full Stack App that
- ⭐ Generates Smart Summary ⭐
- ↪ Provides BackLinks (Reference) to the Video (No hallucination) ↪
- 🗣 (ChatBot) Enables you to have Conversation with Video 🗣
- 🧠Generates MindMap 🧠
Demo
Features
- Automated Video Summarization: The application generates concise summaries of video content, allowing users to grasp key concepts efficiently and identify areas requiring deeper focus.
- Real-time Chat Interaction: Users can engage in conversation with the video content, fostering a deeper understanding of the subject matter by asking questions and receiving instant responses.
- Video Backlinking: The application incorporates a backlinking feature that enables users to seek relevant timestamps in the video player by clicking on provided reference links.
- MindMap: Generates a interactive mindmap using the important keywords from the video content's essence!
- Transcript Download: Users can download a text file containing the transcript of the processed video for future reference.
Technologies Used
- Flask: A lightweight Python web framework used for building the backend API.
- React: A JavaScript library for building the user interface on the frontend.
- Large Language Models (LLMs): Specifically, the OpenAI ChatGPT 3.5 (gpt-3.5-turbo) model is employed for generating contextual responses.
- Retrieval-Augmented Generation (RAG): This approach combines a retriever and a language model, allowing for efficient retrieval of relevant information from the video transcript.
- LangChain: A framework for building applications with large language models, facilitating the integration of the RAG approach.
- Vector Database (Chroma): A vector database used for storing and efficiently searching the embeddings of the video transcript.
- OpenAI Embeddings API: Utilized for converting textual data into high-dimensional vector representations.
- YouTube API: Employed for fetching video transcripts and metadata.
Getting Started
To get started with this application, follow these steps:
Clone the repository:
git clone https://github.com/foolmalhar/VideoChad.git
Install the required dependencies:
cd VideoChad pip install -r requirements.txt
Set up the necessary environment variables:
OPENAI_API_KEY
: Your OpenAI API key for accessing the language models. OpenAi Platform | Account Setup
Start the Flask backend:
python app.py
In a separate terminal, start the React frontend: (optional)
cd VideoChad npm install npm run dev
Access the application in your web browser at
http://localhost:5000
. ( if you don't use static pre-built files and are running node on the VideoChad frontend, then port might be :3000, check terminal )
Usage
- Enter a valid YouTube video link in the provided input field. (Link must have English Transcript available on Youtube )
- The application will fetch the video transcript and generate a summary.
- Interact with the video content by asking questions in the chat interface.
- Click on the provided reference links to seek relevant timestamps in the video player.
- explore !
Contributing
Contributions to this project are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.
License
This project is licensed under the MIT License.
Acknowledgments
- DeepLearning.ai Short Course Understand RAG with Langchain and Chromadb
- LangChain The Tool!
- OpenAI for their powerful language models and APIs.
- Chroma for their vector database solution.