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
{
"titulo": "ELE SÓ IA VISITAR O PAI NA FAZENDA, MAS ACABOU SENDO ABDUZIDO POR ALIENÍGENAS!",
1Coletayt-dlp
"tema": "Ficção Científica ou Fantasia",
2ClassificaçãoMistral via Ollama
"temas_semelhantes": ["Televisão (TV) ou Cinema","Aventura marinha ou Animais Marinhos"]
3SimilaridadeMiniLM + FAISS
}
Fig. 1 Registro de saída publicado no README do projeto, anotado com a etapa do pipeline que gera cada campo.
Como funciona
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.
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.
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.
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.