VidChat is a small Streamlit app for asking questions about a YouTube video. It downloads/transcribes the video audio with OpenAI Whisper, stores transcript chunks in a FAISS vector index, and uses Gemini to answer from the retrieved transcript context.
- Import a YouTube video by URL.
- Transcribe video audio.
- Ask questions about the transcript.
- Show the transcript snippets used as references.
- Python
- Streamlit
- LangChain
- OpenAI Whisper and embeddings
- Google Gemini
- FAISS
- Install dependencies:
pip install -r requirements.txt- Create a local
.envfile from the example:
cp .env.example .env- Add your API keys:
GOOGLE_KEY=your_google_api_key
OPENAI_KEY=your_openai_api_key- Run the app:
streamlit run app.py- Real
.envfiles are ignored by Git. - Downloaded audio files are saved in
audios/and ignored by Git. - The search tab is present in the UI, but the current app flow only handles direct YouTube URL import.
Do not commit API keys. This repository previously tracked .env; if real keys were committed, rotate those keys in the OpenAI and Google dashboards.