Arise School — Video RAG com HyDE + Reranking
Plataforma educacional com assistente AI contextualizado em vídeo. Alunos assistem aulas e conversam com Logox, que responde usando o conteúdo transcrito do vídeo como contexto via pipeline RAG de última geração. O upload dispara um worker BullMQ que extrai áudio via ffmpeg, transcreve com Deepgram, faz chunking semântico (500 tokens, overlap 50) e gera embeddings OpenAI armazenados em PostgreSQL+pgvector com índice HNSW. Na consulta, o pipeline aplica HyDE (gera documento hipotético para melhorar a busca), faz busca híbrida (vector + BM25/tsvector com merge RRF), rerank com Cohere, e o GPT-5.2 responde com citações `[Título, MM:SS]` clicáveis que dão seek no vídeo no timestamp exato. Tudo observável via LangFuse.
## 🔧 Tech Stack
## 📈 Workflow
Upload (admin)
Admin faz upload de MP4 ou PDF no painel /admin/upload; API enfileira job no BullMQ
Worker: ffmpeg → Deepgram
Extrai áudio com ffmpeg; transcreve com Deepgram; chunks semânticos de 500 tokens com overlap 50
Worker: Embeddings (OpenAI)
Gera embeddings com text-embedding-3-small (1536 dims) e armazena no PostgreSQL com índice HNSW (pgvector)
Aluno: pergunta no /watch/[videoId]
Aluno digita pergunta no sidebar do player; hook useRAGQuery dispara o pipeline
HyDE — Hypothetical Document Embeddings
LLM gera um documento hipotético que responderia a pergunta; embedding desse doc é usado na busca (melhora recall em perguntas curtas)
Busca Híbrida (vector + BM25 + RRF)
pgvector (HNSW) + tsvector (BM25) com merge via Reciprocal Rank Fusion; cobre semântica e match literal
Cohere Rerank → top 5
Rerank Cohere rerank-english-v3.0 seleciona os 5 chunks mais relevantes
GPT-5.2 — resposta com citações
LLM gera resposta fundamentada incluindo citações [Título, MM:SS] que permitem seek no player
LangFuse (traces, custo, latência)
Pipeline RAG inteiro é rastreado: latência de cada etapa, custo de embedding/LLM/rerank, qualidade das citações
## ✨ Features
- •Pipeline RAG de última geração: HyDE + busca híbrida (vector + BM25 + RRF) + rerank Cohere
- •Upload de MP4 ou PDF com worker assíncrono BullMQ (container separado do Next.js)
- •Transcrição de áudio com Deepgram + chunking semântico (500 tokens, overlap 50)
- •Embeddings OpenAI text-embedding-3-small (1536 dims) com índice HNSW no pgvector
- •Citações clicáveis `[Título, MM:SS]` que dão seek no player para o timestamp exato
- •Player YouTube embed + sidebar de chat com Logox (assistente contextualizado)
- •Auth JWT + bcrypt, sessões via cookie httpOnly, dois roles: student e admin
- •Painel admin completo: upload, gestão de vídeos, cursos, usuários, embeddings
- •Anotações pessoais do aluno por vídeo + download de materiais
- •Migrations rodam automaticamente via docker-entrypoint.sh antes do Next.js iniciar
- •Observabilidade ponta a ponta com LangFuse (latência, custo, qualidade por etapa)
## 🎯 Results
- ✓Pipeline RAG moderno, não tutorial: combina HyDE + busca híbrida + rerank — técnica usada em produção
- ✓Citações clicáveis com seek no timestamp — experiência de usuário final diferenciada
- ✓Processamento assíncrono desacoplado via BullMQ + worker container — não bloqueia a request HTTP
- ✓Índice HNSW no pgvector permite busca sub-linear mesmo com milhares de chunks por vídeo
- ✓100% do pipeline RAG rastreado no LangFuse — cada etapa tem latência, custo e qualidade mensuráveis
## 🧩 Use Case
Plataformas de cursos online, treinamentos corporativos, documentários educacionais ou qualquer catálogo de conteúdo em vídeo que queira oferecer busca conversacional sobre o material. O aluno faz perguntas em linguagem natural e recebe respostas com referência exata ao trecho do vídeo. Demonstra domínio prático de RAG moderno (HyDE + hybrid + rerank) e de arquitetura assíncrona (worker + fila) pronta pra escalar.
## 🔗 Related Projects
Plataforma SaaS full-stack para criar e gerenciar agentes de IA com BYOK (Anthropic + Open...
Automated pipeline for generating and publishing Instagram content using generative AI and...
Intelligent RAG system for tax law consultation with vector search and multi-format docume...