Welcome to the YouTube Video Digest AI repository! This project allows users to digest YouTube videos using Google Gemini or local LLM models via Ollama, and interactively ask questions about the content of the provided video URL.
- Digest YouTube Videos: Analyze video content through Google Gemini or a local LLM (Ollama).
- Interactive Q&A: Ask questions related to the video and receive informative answers.
- Local LLM Support: Use a locally hosted LLM (Ollama) with various pre-loaded models for context-based interaction.
- Download MP4/MP3: Download Youtube video as MP4 or MP3
Before you begin, ensure you have the following installed on your machine:
-
Clone the repository:
git clone https://github.com/zahnno/youtube-helper-ai cd youtube-helper-ai
-
Setup the Environment Variables (GEMINI):
- Create a
.env
file in theserver
directory. - Add your Google Gemini API key:
GEMINI_API_KEY=your_gemini_api_key
- Create a
-
Install Dependencies:
- Navigate to the
server
folder and install dependencies:cd server npm install
- Navigate to the
web-client
folder and install dependencies:cd ../web-client npm install
- Navigate to the
-
Install yt-dlp: For detailed installation instructions, visit the yt-dlp GitHub page.
-
Run Ollama for Local LLM:
- Make sure Ollama is installed on your machine.
- Start Ollama locally on
localhost:11434
:ollama serve
-
Start the Server:
- Navigate back to the
server
folder and run:cd ../server npm run dev
- Navigate back to the
-
Start the Web Client:
- In a new terminal window, navigate to the
web-client
folder and run:cd ../web-client npm run start
- In a new terminal window, navigate to the
Your application should now be running locally! Open your browser and go to http://localhost:3000
to interact with the YouTube Video Digest AI. You can select between Google Gemini or a local LLM model (via Ollama) for chatting in the context of the video.
When Ollama is running, you can select from a list of loaded models to interact with. Make sure the models are properly loaded into Ollama before starting the application.
This project is licensed under the MIT License - see the LICENSE file for details. Contributions are welcome!