/StreamRAG

Video Search and Streaming Agent πŸ•΅οΈβ€β™‚οΈ

Primary LanguagePythonMIT LicenseMIT

PyPI version Stargazers Issues Website Discord


Logo

StreamRAG πŸŽ₯

Video Search Agent for ChatGPT πŸ•΅οΈβ€β™‚οΈ
πŸ“ΊWatch Demo Video Β· 🐞Report a Bug Β· πŸ’‘Suggest a Feature

StreamRAG: GPT-Powered Video Retrieval & Streaming πŸš€

StreamRAG.Demo.mp4

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? πŸ› οΈ

πŸ“Ί Watch: Code walkthrough

  • 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 the env file.
  • Install dependencies: Run pip install -r requirements.txt in 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 πŸͺ

πŸ“Ί Watch: Create New GPT

  1. Deploy your flask server and note your server's url.
  2. In openapi.yaml, update the url field under server.
  3. Visit the GPT builder at https://chat.openai.com/gpts/editor
  4. In the configure tab, add your GPT's Name and Description.
  5. Copy the prompt from prompts.txt into the Instructions field. Feel free to modify it as needed. ✏️
  6. Click on Create new Action
  7. Copy the openapi details from openapi.yaml Don't miss to update the url field.
  8. Save your GPT for personal use and give it a test run! πŸ§ͺ

Roadmap πŸ›£οΈ

  1. Add support for popular backend deployment CD pipelines like Heroku, Replit, etc.
  2. Integrate with other data sources like Dropbox, Google Drive.
  3. Connect with meeting recorder APIs such as Zoom, Teams, and Recall.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

  1. Fork the Project 🍴
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request πŸ“¬