StreamRAG 🎥
Video Search Agent for ChatGPT 🕵️♂️
[📺Watch Demo Video](https://console.videodb.io/player?url=https://stream.videodb.io/v3/published/manifests/90cb6cf2-d6ce-4a23-9d90-442c7cc357b8.m3u8)
·
[🐞Report a Bug](https://github.com/video-db/streamRAG/issues)
·
[💡Suggest a Feature](https://github.com/video-db/streamRAG/issues)
StreamRAG: GPT-Powered Video Retrieval & Streaming 🚀
https://github.com/video-db/StreamRAG/assets/5406975/b768bb6e-08b8-451e-9117-1cf04488c02c
What does it do? 🤔
It enables developers to:
- 📚 Upload multiple videos to create a library or collection.
- 🔍 Search across these videos and get real-time video responses or compilations.
- 🛒 Publish your searchable collection on the ChatGPT store.
- 📝 Receive summarized text answers (RAG).
- 🌟 Gain key insights from specific videos (e.g. "Top points from episode 31").
How do I use it? 🛠️
- Get your API key: Sign up on VideoDB console (Free for the first 50 uploads, no credit card required). 🆓
- Set
VIDEO_DB_API_KEY: Enter your key in theenvfile. - Install dependencies: Run
pip install -r requirements.txtin your terminal. - Upload your collection to VideoDB: Add your links in
upload.py. - Run locally: Start the flask server with
python app.py.
Publishing on ChatGPT Store 🏪
- Deploy your flask server and note your server's
url. - In
openapi.yaml, update theurlfield underserver. - Visit the GPT builder at https://chat.openai.com/gpts/editor
- In the configure tab, add your GPT's
NameandDescription. - Copy the prompt from
prompts.txtinto theInstructionsfield. Feel free to modify it as needed. ✏️ - Click on
Create new Action - Copy the openapi details from
openapi.yamlDon't miss to update theurlfield. - Save your GPT for personal use and give it a test run! 🧪
Roadmap 🛣️
- Add support for popular backend deployment CD pipelines like
Heroku,Replit, etc. - Integrate with other data sources like
Dropbox,Google Drive. - Connect with meeting recorder APIs such as
Zoom,Teams, andRecall.ai.
Contributing 🤝
Your contributions make the open-source community an incredible place for learning, inspiration, and creativity. We welcome and appreciate your input! Here's how you can contribute:
- Open issues to share your use cases.
- Participate in brainstorming solutions for our roadmap.
- Suggest improvements to the codebase.
Contribution Steps
- Fork the Project 🍴
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request 📬