A question-answering chatbot for any YouTube video using Local Llama2 & Retrival Augmented Generation
YouTube-llama.mp4
- Learns information from YouTube videos.
- Provides a natural language interface for asking questions about video content.
- Utilizes Local Llama2 for efficient question-answering capabilities.
Follow these steps to set up the project:
-
Clone the repository:
git clone https://github.com/SRDdev/YouTube-Llama.git cd YouTube-Llama
-
Install dependencies:
pip install -r requirements.txt
-
Installing
Llama-cpp-Python
The installation process for llama-cpp-python is a bit complex. But I have combined all the required information below.
a. Requirements - git - python - cmake - Visual Studio Community (make sure you install this with the following settings) a. Desktop development with C++ b. Python development c. Linux embedded development with C++
-
Install Llama-cpp-Python:
Follow the installation process for Llama-cpp-Python:
# Clone git repository recursively to get llama.cpp submodule as well git clone --recursive -j8 https://github.com/abetlen/llama-cpp-python.git
Open up the command prompt (or Anaconda prompt if you have it installed), set up environment variables to install. Follow this if you do not have a GPU; you must set both of the following variables.
You can ignore the second environment variable if you have an
NVIDIA GPU
.set FORCE_CMAKE=1 set CMAKE_ARGS=-DLLAMA_CUBLAS=OFF
pip install llama-cpp-python -q
How to use 🦙 YouTube Llama:
-
Run the application:
streamlit run app.py
-
Access the chatbot through a web interface or API endpoint.
-
Input questions related to a specific YouTube video
-
Receive answers based on the content of the video as well as general-purpose information.
We welcome contributions! Follow these steps to contribute to the project:
-
Fork the project.
-
Create a new branch (
git checkout -b feature/awesome-feature
). -
Commit your changes (
git commit -am 'Add awesome feature'
). -
Push to the branch (
git push origin feature/awesome-feature
). -
Open a pull request.
This project is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license.) - see the LICENSE.md file for details.