yt-expert
Created: February 4, 2026
local-firstofflineRAGtimestamped-citationsYouTubeLLMsdemocookiesmonorepoAI/ML (LLMs)Cloud / AWSyt-expertYTEXPERTpnpmpipvenvwhisperembeddings_localyt-dlpYTDLPbedrockAnthropic ClaudeClaude-3-sonnet-20240229-v1:0AWSAWS_REGION
README.md
yt-expert — Monorepo (core + demo UI/API)
This repo hosts the yt-expert Python package plus a small demo API/UI that consumes it.
- Core package:
src/yt_expert/ - Docs:
src/docs/ - Demo API:
services/demo-api - Demo UI:
apps/demo-ui
Core quickstart (local)
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e ".[dev,whisper,embeddings_local]"
# Ingest
yt-expert ingest channel --channel-id UCxxxxxxxxxxxxxxxxxxxxxx --recent 5 --pack-name "my-pack"
# Serve API
yt-expert serve --host 0.0.0.0 --port 8000
See src/README.md for the full core README.
Demo app (API + UI)
pnpm demo:api:setup
pnpm demo:api
pnpm demo:ui:install
pnpm demo:ui
The UI talks to the demo API at http://localhost:8000 by default. Set PUBLIC_API_BASE if your API runs elsewhere.
LLM settings
The demo API now uses yt-expert settings. Configure via YTEXPERT_* env vars, e.g.:
export YTEXPERT_LLM_PROVIDER=bedrock
export YTEXPERT_BEDROCK_LLM_MODEL_ID=anthropic.claude-3-sonnet-20240229-v1:0
export AWS_REGION=us-east-1
If YTEXPERT_LLM_PROVIDER is none (default), the API uses a no-op model that returns the most relevant context.
YouTube cookies
If YouTube blocks yt-dlp, provide cookies:
YTEXPERT_COOKIES_FILE=/path/to/cookies.txt, orYTEXPERT_COOKIES_SECRET_ARN=...
Legacy demo env vars (DEMO_API_YTDLP_COOKIES*) are still honored.
