freshcrate
Skin:/
Home > RAG & Memory > YouTubeGPT

YouTubeGPT

YouTubeGPT is an LLM-based web-app that can be run locally and allows you to summarize and chat (Q&A) with YouTube videos.

Why this rank:Release freshnessStrong adoptionHealthy release cadence

Description

YouTubeGPT is an LLM-based web-app that can be run locally and allows you to summarize and chat (Q&A) with YouTube videos.

README

Logo

YouTubeGPT- Your YouTube AI

Features โœจ

YouTubeGPT is a web app that can be run fully locally and lets you summarize and chat (Q&A) with YouTube videos. You can either use OpenAI's API or a (local) Ollama instance.

YouTubeGPT's features include:

โœ๏ธ Provide a custom prompt for summaries VIEW DEMO

  • you can tailor the summary to your needs by providing a custom prompt or just use the default summarization

โ“ Get answers to questions about the video content VIEW DEMO

  • part of the application is designed and optimized specifically for question answering tasks (Q&A)

๐Ÿ“‚ Create and export your own library

  • the summaries and answers can be saved to a library accessible at a separate page!
  • additionally, summaries and answers can be exported/downloaded as Markdown files!

๐Ÿค– Choose provider and models

  • choose between OpenAI's API or a (local) Ollama instance
  • currently available: ChatGPT 4-5 (incl. nano & mini) and continuously updated with new models
  • by choosing a different model, you can summarize even longer videos and get better responses

โš™๏ธ Experiment with settings

  • adjust the temperature and top P of the model

๐Ÿ–Œ๏ธ Choose UI theme

  • go to the three dots in the upper right corner, select settings and choose either light, dark or my aesthetic custom theme

Installation & usage

If you want to use OpenAI's API, you will first need to get an OpenAI API-Key. This is very straightforward and free. Have a look at their instructions to get started.

If you want to use Ollama, you need to have an Ollama server running locally or remotely. You can download Ollama for macOS, Linux, or Windows on their website. Make sure the server is reachable either on the default port 11434 or set the OLLAMA_HOST environment variable to point to your Ollama server. Also, you need to pull the models you want to use.

Note: Ollama limits the context window to 4k tokens by default. I strongly recommend to adjust it to at least 16k tokens. This can be done in the Ollama app settings.

Run with Docker

  1. set the OPENAI_API_KEY environment variable either in docker-compose.yml or by running export OPENAI_API_KEY=<your-actual-key> in your terminal
  2. execute the following command:
# pull from docker hub
docker-compose up -d
# or build image locally
docker-compose up --build -d

The app will be accessible in the browser under http://localhost:8501.

โ„น๏ธ For the best user-experience, you need to be in Tier 1 usage tier, which requires a one-time payment of 5$. However it's worth it, since then, you'll have access to all models and higher rate limits.

Configuration โš™๏ธ

Environment Variables (Optional)

You can customize the default settings using environment variables. These are optional and will use built-in defaults if not set:

Environment Variable Description Default Example
YTGPT_LLM_PROVIDER Default LLM provider OpenAI OpenAI or Ollama
YTGPT_DEFAULT_GPT_MODEL Default language model gpt-4.1-nano gpt-4o, llama3
YTGPT_DEFAULT_EMBEDDINGS_MODEL Default embeddings model text-embedding-3-small text-embedding-3-large, nomic-embed-text:latest
YTGPT_TEMPERATURE Model temperature (0.0-2.0) 1.0 0.7
YTGPT_TOP_P Model top-p (0.0-1.0) 1.0 0.9

Example usage:

# Set environment variables
export YTGPT_LLM_PROVIDER=Ollama
export YTGPT_DEFAULT_GPT_MODEL=llama3
export YTGPT_TEMPERATURE=0.7
export YTGPT_TOP_P=0.9

# Run the app
streamlit run main.py

Or with Docker:

# Add to docker-compose.yml or set before running
export YTGPT_LLM_PROVIDER=OpenAI
export YTGPT_DEFAULT_GPT_MODEL=gpt-4o
docker-compose up -d

Note: These settings apply at startup and set the initial values in the UI. Users can still change these settings in the sidebar during their session.

Contributing & Support ๐Ÿค

Iโ€™m working on adding more features and am open to feedback and contributions. Don't hesitate to create an issue or a pull request. Also, if you are enjoying the app or find it useful, please consider giving the repository a star โญ

This is a small side-project and it's easy to get started! If you want to contribute, hereโ€™s the gist to get your changes rolling:

  1. Fork & clone: Fork the repo and clone your fork to start.
  2. Pick an issue or suggest One: Choose an open issue to work on, or suggest a new feature or bug fix by creating an issue for discussion.
  3. Develop: Make your changes.
    • Ensure your code is clean and documented. Test the changes at least exploratively. Make sure to test 'edge cases'.
    • Commit your changes with clear, descriptive messages, using conventional commits.
  4. Stay updated: Keep your branch in sync with the main branch to avoid merge conflicts.
  5. Pull Request: Push your changes to your fork and submit a pull request (PR) to the main repository. Describe your changes and any relevant details.
  6. Engage: Respond to feedback on your PR to finalize your contribution.

Development in virtual environment

If you don't have uv installed, please follow the installation instructions in the official documentation before running the commands below.

# create a virtual environment and install dependencies
uv sync
# you'll need an API key
export OPENAI_API_KEY=<your-openai-api-key>
# run chromadb (necessary for chat)
docker-compose up -d chromadb
# run app
uv run streamlit run main.py

Note: pyproject.toml and uv.lock are the source of truth for dependencies. requirements.txt is kept for legacy pip users.

The app will be accessible in the browser under http://localhost:8501 and the ChromaDB API under http://localhost:8000/docs.

Technologies used

The project is built using some amazing libraries:

License

This project is licensed under the MIT License - see the LICENSE file for details.

Release History

VersionChangesUrgencyDate
v3.3.1## [3.3.1](https://github.com/sudoleg/YouTubeGPT/compare/v3.3.0...v3.3.1) (2026-03-21) ### Bug Fixes * **deps:** update chroma to v1.5.2 ([34605b5](https://github.com/sudoleg/YouTubeGPT/commit/34605b5abf9daf15ddb00ed2fe8f3ba3a42ab809)) * **deps:** update chroma to v1.5.2 (minor) ([111ee0b](https://github.com/sudoleg/YouTubeGPT/commit/111ee0bf09bc51fe0b2950d311b224e4bce71f17)) * **deps:** update chroma to v1.5.4 ([#557](https://github.com/sudoleg/YouTubeGPT/issues/557)) ([6a61360](https://githMedium3/22/2026
v3.3.0## [3.3.0](https://github.com/sudoleg/YouTubeGPT/compare/v3.2.1...v3.3.0) (2026-01-31) ### Features * **config:** add environment variable support for settings ([064080e](https://github.com/sudoleg/YouTubeGPT/commit/064080e7182e51292882af6600902814c47cb8bc)) * gpt-5.2, fixes [#481](https://github.com/sudoleg/YouTubeGPT/issues/481) ([e84a20d](https://github.com/sudoleg/YouTubeGPT/commit/e84a20d926df93d87a9bd7201e3bc8cd20767ac4)) ### Bug Fixes * **deps:** update dependency langchain-chroma tLow2/1/2026
v3.2.1## [3.2.1](https://github.com/sudoleg/YouTubeGPT/compare/v3.2.0...v3.2.1) (2025-12-22) ### Bug Fixes * remove duplicate name assignment in ChatOllama initialization ([0395161](https://github.com/sudoleg/YouTubeGPT/commit/0395161263a9b0fd977f2487ced5e379294979e6))Low12/22/2025
v3.2.0## Introducing Ollama support in [3.2.0](https://github.com/sudoleg/YouTubeGPT/compare/v3.1.0...v3.2.0) (2025-12-21) ### Features * add ollama provider support ([9bb0f15](https://github.com/sudoleg/YouTubeGPT/commit/9bb0f15ae430223e15ca6ea09a286e38aeba695b)) ### Bug Fixes * add model name to ChatOllama initialization ([775722e](https://github.com/sudoleg/YouTubeGPT/commit/775722ed6ced30c2e58a5e69951f17e1df225ea6)) * correct API key check in display_model_settings_sidebar functioLow12/22/2025
v3.1.0## [3.1.0](https://github.com/sudoleg/YouTubeGPT/compare/v3.0.0...v3.1.0) (2025-11-18) ### Features * enable support for gpt-5 models, closes [#420](https://github.com/sudoleg/YouTubeGPT/issues/420) ([1f9ac69](https://github.com/sudoleg/YouTubeGPT/commit/1f9ac69c5294482d964768cfe307fefd227288ae))Low11/18/2025
v3.0.0## [3.0.0](https://github.com/sudoleg/YouTubeGPT/compare/v2.6.0...v3.0.0) (2025-06-14) ### โš  BREAKING CHANGES * **deps:** update Chroma DB version ### Bug Fixes * handle KeyError in token encoding mapping with fallback ([8c6111f](https://github.com/sudoleg/YouTubeGPT/commit/8c6111fe9e00145223d65f50189d3749fc6e96bf)) ### Miscellaneous Chores * **deps:** update Chroma DB version ([f7a75b1](https://github.com/sudoleg/YouTubeGPT/commit/f7a75b1633874dee578e0f64f14bfb3d6cddff19))Low6/14/2025
v2.6.0Introduce feature for exporting ๐Ÿš€ --- Now you can not only save summaries and answers into the library, but also export them as Markdown files! ## [2.6.0](https://github.com/sudoleg/YouTubeGPT/compare/v2.5.0...v2.6.0) (2025-02-27) ### Features * **export:** ref [#267](https://github.com/sudoleg/YouTubeGPT/issues/267), add custom export functionality for answers related to specific video ([4ff407e](https://github.com/sudoleg/YouTubeGPT/commit/4ff407e5a6cd3cd47d4226ce65f87e0daa5eLow2/27/2025
v2.5.0## [2.5.0](https://github.com/sudoleg/YouTubeGPT/compare/v2.4.0...v2.5.0) (2024-11-03) ### Features * **library:** enable filtering of answers by video ([ecd30e5](https://github.com/sudoleg/YouTubeGPT/commit/ecd30e5244b9fb7e9eabf3c256d96a8625bf356f)) * **library:** enable filtering of summaries by channel ([e00f81e](https://github.com/sudoleg/YouTubeGPT/commit/e00f81eabe3ef13956f50997a9cd2ce0dce59dbf)) ### Bug Fixes * **summary:** invalid method call ([d2ea52d](https://github.com/sudoleg/YLow11/4/2024
v2.4.0# Introduce library :rocket: Now you can save summaries and answers to your questions to a library, which is available on a separate page in the app! ## [2.4.0](https://github.com/sudoleg/YouTubeGPT/compare/v2.3.1...v2.4.0) (2024-11-01) ### Features * add library feature, closes [#145](https://github.com/sudoleg/YouTubeGPT/issues/145) ([e6ec639](https://github.com/sudoleg/YouTubeGPT/commit/e6ec6396545cba98ba00cec34486f0fd816a962a))Low11/1/2024
v2.3.1## [2.3.1](https://github.com/sudoleg/YouTubeGPT/compare/v2.3.0...v2.3.1) (2024-09-05) ### Performance Improvements * introduce an env var to store models available to a user ([df85861](https://github.com/sudoleg/YouTubeGPT/commit/df858613650a78f52b40c114de729b34b39be40a))Low9/5/2024
v2.3.0## [2.3.0](https://github.com/sudoleg/YouTubeGPT/compare/v2.2.1...v2.3.0) (2024-09-04) ### Features * enable (advanced) transcription using whisper ([1d679f7](https://github.com/sudoleg/YouTubeGPT/commit/1d679f7fd17064fbd659fafda5813ce58abd7724))Low9/4/2024
v2.2.1## [2.2.1](https://github.com/sudoleg/YouTubeGPT/compare/v2.2.0...v2.2.1) (2024-08-13) ### Bug Fixes * **helpers:** provide default value for model param in func for token counting ([af395ba](https://github.com/sudoleg/YouTubeGPT/commit/af395baabcc416eb0fa20748bedfb16113c2962d))Low8/13/2024
v2.2.0## [2.2.0](https://github.com/sudoleg/ytai/compare/v2.1.0...v2.2.0) (2024-07-20) ### Features * add gpt4o-mini, closes [#86](https://github.com/sudoleg/ytai/issues/86) ([558bd3c](https://github.com/sudoleg/ytai/commit/558bd3c05bd46d60bd351b012d838236de87a6d5)) * display only the models that are available to the user ([c02c245](https://github.com/sudoleg/ytai/commit/c02c245b67b4c976fc8d01b793fda00f58963354))Low7/20/2024
v2.1.0## [2.1.0](https://github.com/sudoleg/ytai/compare/v2.0.0...v2.1.0) (2024-06-30) ### Features * **chat:** add options for embedding models, closes [#67](https://github.com/sudoleg/ytai/issues/67) ([657729e](https://github.com/sudoleg/ytai/commit/657729e07797eeae7c15061fda08a7126e0fe637)) ### Bug Fixes * ensure that the users query is embedded using the same model as the transcript ([cbe81b8](https://github.com/sudoleg/ytai/commit/cbe81b8e65448781e5fd1b54ed17275027931dd6))Low6/30/2024
v2.0.0# Introducing Chat/Q&A feature ๐Ÿš€ YTAI now allows you to chat with YouTube videos! This is especially useful for lengthy videos you have specific questions about. ## How to use it? As previously with summaries, you'll first need to provide an API key. Afterwards you will be able to process a video. It will be saved (indexed) in database, so you can chat with it at any time, without processing it again. Choose your video and start asking away! ๐Ÿ˜‰ Low6/30/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

restaiRESTai is an AIaaS (AI as a Service) open-source platform. Supports many public and local LLM suported by Ollama/vLLM/etc. Precise embeddings usage, tuning, analytics etc. Built-in image/audio generatv6.3.24
ai-project-templateStarter app for building AI SaaS (RAG, Agentic workflow) applicationsmaster@2026-05-01
OllamaRAG๐Ÿค– Build a smart AI assistant that learns from any website using a Retrieval-Augmented Generation framework with local models powered by Ollama.main@2026-06-06
awesome-opensource-aiCurated list of the best truly open-source AI projects, models, tools, and infrastructure.main@2026-06-06
ReNovel-AIโœ๏ธ Revise and enhance novels with ReNovel-AI, your smart tool for story reimagining and memory-driven writing assistance.main@2026-06-05

More in RAG & Memory

nltkNatural Language Toolkit
awesome-opensource-aiCurated list of the best truly open-source AI projects, models, tools, and infrastructure.
edgequakeEdegQuake ๐ŸŒ‹ High-performance GraphRAG inspired from LightRag written in Rust; Transform documents into intelligent knowledge graphs for superior retrieval and generation
vllmA high-throughput and memory-efficient inference and serving engine for LLMs