Todos os projetos

Estudo 2025

Rabbit Hole Crawler

Classifica por tema os títulos dos vídeos de um canal do YouTube.

Problema
Entender os temas de um canal exige assistir aos vídeos ou ler os títulos um a um.
Abordagem
Coleta os títulos com yt-dlp (10 por padrão), classifica o tema de cada um com um LLM local (Mistral via Ollama) e aponta temas semelhantes com embeddings e FAISS. O resultado é gravado em JSON.
Status
Estudo. Projeto de estudo, feito para aprender e testar uma técnica.

data/output.json

  1. "titulo": "ELE SÓ IA VISITAR O PAI NA FAZENDA, MAS ACABOU SENDO ABDUZIDO POR ALIENÍGENAS!",

    1 Coleta yt-dlp

  2. "tema": "Ficção Científica ou Fantasia",

    2 Classificação Mistral via Ollama

  3. "temas_semelhantes": ["Televisão (TV) ou Cinema","Aventura marinha ou Animais Marinhos"]

    3 Similaridade MiniLM + FAISS

Fig. 1 Registro de saída publicado no README do projeto, anotado com a etapa do pipeline que gera cada campo.

Como funciona

  1. Coleta. O yt-dlp lê os metadados do canal sem baixar vídeos (extract_flat) e devolve os primeiros títulos, 10 por padrão.
  2. Classificação. Cada título vira um prompt few-shot enviado ao Mistral, executado localmente pelo Ollama, que responde com o tema em uma ou duas palavras.
  3. Similaridade. Os temas são convertidos em embeddings com all-MiniLM-L6-v2 e indexados no FAISS (IndexFlatL2). Para cada tema, o índice devolve os vizinhos mais próximos.
  4. Saída. Título, tema e temas semelhantes são gravados em data/output.json.

Exemplo de saída

Registro de exemplo publicado no README do projeto:

{
  "titulo": "ELE SÓ IA VISITAR O PAI NA FAZENDA, MAS ACABOU SENDO ABDUZIDO POR ALIENÍGENAS!",
  "tema": "Ficção Científica ou Fantasia",
  "temas_semelhantes": ["Televisão (TV) ou Cinema", "Aventura marinha ou Animais Marinhos"]
}

Estado atual

Projeto de estudo, com fins educacionais: um pipeline curto para experimentar IA local, NLP e similaridade semântica.