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, or
  • YTEXPERT_COOKIES_SECRET_ARN=...

Legacy demo env vars (DEMO_API_YTDLP_COOKIES*) are still honored.