YouTube Private Tutor is a Python-based project designed to provide personalized tutoring experiences leveraging YouTube videos. This project utilizes natural language processing (NLP) and machine learning (ML) techniques to transcribe, analyze, and respond to user queries based on the content of YouTube videos.
- Transcription and Chunking: Extracts text transcripts from YouTube videos and splits them into manageable chunks for analysis.
- Semantic Encoding and Storage: Encodes text chunks into numerical vectors and stores them efficiently in a vector database using FAISS.
- Cosine Similarity Search: Utilizes cosine similarity to retrieve the most relevant text chunks from the database based on user queries.
- Language Model (LM) Integration: Integrates with state-of-the-art language models, such as GPT-4, to generate contextually relevant responses to user queries.
- Streamlit Frontend: Provides a user-friendly web interface using Streamlit for users to input questions and receive detailed responses based on the content of the YouTube videos.
-
Clone the repository:
git clone https://github.com/B1aCkManTa/Youtube-Private-Tutor.git cd LANGCHAIN-APP
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env
Edit the
.env
file and add your configuration details.
-
Run the application:
streamlit run your_app_script.py
Replace
your_app_script.py
with the name of the script containing your Streamlit application. -
Access the application in your web browser at
http://localhost:8501
. -
Enter the YouTube video URL and your query in the sidebar and click "Submit" to get answers from the YouTube Assistant.
Contributions are welcome! Please follow these steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature
-
Commit your changes:
git commit -m "Add your feature"
-
Push to the branch:
git push origin feature/your-feature
-
Open a pull request.
This project is licensed under the MIT License.
Feel free to reach out if you have any questions or issues!