O que skyclass-distill faz?
Pipeline de captura de vídeos educacionais de múltiplos sites, transcrição com Faster Whisper, destilação de capacidade pedagógica com LLM e geração de Codex Skills.
Visão Geral
Este repositório automatiza o fluxo de trabalho completo para transformar conteúdo de videoaulas em Skills prontos para uso em agentes de IA (como o Codex). O processo envolve as seguintes etapas:
- Captura de Vídeos: Baixa vídeos de múltiplos sites educacionais (ex.: YouTube, Coursera) usando ferramentas como
yt-dlp. - Transcrição: Utiliza o Faster Whisper para transcrever o áudio dos vídeos com alta precisão e baixo recurso computacional.
- Destilação Pedagógica: Um LLM (ex.: Claude, GPT-4) processa a transcrição para extrair os conceitos-chave, estruturar o conhecimento e gerar um resumo pedagógico.
- Geração de Skills: O resultado é formatado como um arquivo de Skill compatível com o Codex, incluindo metadados, comandos e descrições.
Pré-requisitos
- Python 3.10+
ffmpeginstalado no sistemauv(gerenciador de pacotes rápido) oupip- Acesso à API de um LLM (ex.: Anthropic, OpenAI)
Instalação
# Clone o repositório
git clone https://github.com/Rick2Ricardo/skyclass-distill.git
cd skyclass-distill
# Instale as dependências com uv (recomendado)
uv sync
# Ou com pip
pip install -r requirements.txt
Configuração
Crie um arquivo .env na raiz do projeto:
# Chave da API do LLM (obrigatório)
LLM_API_KEY=sk-...
# Modelo LLM a ser usado (opcional, padrão: claude-3-opus-20240229)
LLM_MODEL=claude-3-sonnet-20240229
# Diretório de saída para Skills geradas (opcional, padrão: ./output)
OUTPUT_DIR=./my_skills
Uso
# Executa o pipeline completo
python run_pipeline.py --url "https://www.youtube.com/watch?v=exemplo" --output ./saida
# Apenas transcrição
python run_pipeline.py --transcribe-only --input video.mp4
# Apenas destilação a partir de transcrição existente
python run_pipeline.py --distill-only --input transcricao.txt
Argumentos da Linha de Comando
| Argumento | Descrição |
|---|---|
--url | URL do vídeo a ser processado |
--input | Caminho para arquivo de áudio/vídeo ou transcrição |
--output | Diretório de saída (padrão: ./output) |
--transcribe-only | Executa apenas a transcrição |
--distill-only | Executa apenas a destilação |
--skill-only | Executa apenas a geração do Skill |
Estrutura do Projeto
skyclass-distill/
├── src/
│ ├── capturer.py # Lógica de captura de vídeos
│ ├── transcriber.py # Interface com Faster Whisper
│ ├── distiller.py # Destilação com LLM
│ └── skill_generator.py # Geração de Skills Codex
├── configs/
│ └── prompts.yaml # Prompts para LLM
├── output/ # Diretório padrão de saída
├── requirements.txt
├── pyproject.toml
└── run_pipeline.py # Script principal
Personalização
Os prompts usados para destilação podem ser ajustados no arquivo configs/prompts.yaml:
distillation:
system: "Você é um especialista em análise pedagógica. Extraia os principais conceitos, estruturas e habilidades ensinadas no conteúdo a seguir."
user: "Transcrição: {transcription}"
Licença
MIT