https://youtu.be/vmt_WVBJMj4?si=OZlzEqfEvWjPakYV
Desenvolvi um sistema que utiliza IA generativa para criar automaticamente vídeos de apresentação a partir de artigos de blog e carregá-los no YouTube.
Com alguma engenhosidade, a IA generativa pode não só conceber o enredo da apresentação, mas também criar os materiais da apresentação.
Além disso, ao fazer com que a IA generativa crie um guião para a apresentação e, em seguida, fazer com que uma IA generativa de texto para voz leia esse guião em voz alta, também podem ser gerados dados de áudio.
A combinação dos materiais da apresentação e dos dados de áudio produz então um vídeo.
Ao automatizar esta série de tarefas, tornei possível gerar automaticamente vídeos de apresentação com um único clique.
Mecanismo
A parte mais crucial do processo é a geração dos materiais de apresentação.
A IA generativa destaca-se na geração de imagens, mas isso é tipicamente limitado a fotografias ou desenhos. Criar documentos centrados em texto e figuras, como materiais de apresentação, é desafiador para IAs geradoras de imagens.
Portanto, eu gero materiais centrados em texto e figuras num formato baseado em texto, semelhante a uma linguagem de programação.
Vários formatos podem ser usados para criar tais materiais.
Inicialmente, tentei o Marp, um formato especificamente para a criação de apresentações, mas as suas capacidades eram limitadas. Por isso, decidi usar o formato SVG mais geral, que é para gráficos vetoriais.
Com um formato baseado em texto como o SVG, uma IA generativa de chat padrão pode criar os materiais se solicitada com um pedido como: "Por favor, crie materiais de apresentação em formato SVG, introduzindo o conteúdo deste artigo do blog."
Problema de Excesso de Texto
O problema aqui é que o texto frequentemente se estende para além do quadro exterior do documento ou dos quadros das figuras dentro do documento.
Um humano notaria imediatamente o excesso de texto ao visualizar o documento concluído. No entanto, detetar o excesso de texto na fase de texto SVG, em vez de através da inspeção visual do documento finalizado, é difícil.
Consequentemente, a IA generativa baseada em chat produz frequentemente documentos com frequente excesso de texto.
Claro, a IA gera a maior parte do conteúdo bem, e eu poderia simplesmente corrigir o excesso de texto manualmente. No entanto, isso introduziria um passo manual a cada vez.
Portanto, tornou-se necessário incorporar medidas para prevenir o excesso de texto ao gerar documentos SVG, e desenvolver um mecanismo para detetar automaticamente se existe algum excesso de texto no SVG gerado.
Para prevenir o excesso de texto, adotei uma abordagem de fornecer à IA generativa regras básicas, procedimentos operacionais e notas de advertência ao instruí-la a criar materiais de apresentação.
Como regras, instruí-a a não usar figuras complexas e a fixar o tamanho da fonte do texto.
Além disso, instruí-a a seguir um procedimento de contagem do número de caracteres numa frase dentro do documento, multiplicando isso pelo tamanho da fonte para estimar a largura e a altura, e depois pré-confirmar que o texto não excede o quadro ou as figuras.
Durante este processo, instruí a IA a registar o processo verificado e os resultados como comentários de pré-verificação dentro do ficheiro SVG.
Adicionar estas instruções trouxe alguma melhoria, mas a precisão inicial não foi satisfatória. Então, gerei repetidamente várias variações, adicionei pontos de erro comuns como notas de advertência às instruções, e enfatizei repetidamente regras e instruções dentro do texto do prompt se não estivessem a ser seguidas.
Ao iterar nestas melhorias do prompt através de tentativa e erro, o excesso de texto pode ser suprimido até certo ponto.
No entanto, mesmo com todos estes esforços, a perfeição é inatingível, então decidi implementar uma verificação numa fase posterior.
Para esta verificação pós-geração, tentei usar uma IA generativa capaz de inspecionar imagens visualmente, mas não conseguiu detetar o excesso de texto eficazmente, então abandonei essa abordagem.
Em seguida, tentei outro método: introduzir o texto SVG de volta numa IA generativa baseada em chat para verificação.
Este método foi melhor na deteção de excesso de texto do que a IA de inspeção visual, mas a sua precisão de deteção ainda não era muito alta. Aqui novamente, ao melhorar iterativamente as instruções para detetar excesso, consegui atingir um certo nível de precisão, mas não um perfeito.
Portanto, decidi criar um programa para detetar o excesso de texto de forma mais rigorosa. Este programa verifica se o texto excede o quadro do documento ou as figuras internas, calculando a largura e a altura a partir do comprimento das frases e do tamanho da fonte nos materiais de apresentação, conforme instruído à IA generativa.
Criar este programa foi trabalhoso, mas acabou por se tornar capaz de deteção precisa.
Além do excesso de texto, também houve casos em que a IA tentou criar gráficos complexos e produziu saídas distorcidas. Para tais aspetos, mantive a abordagem de ter a IA generativa baseada em chat a realizar uma verificação de violação de regras.
Esta verificação determina se a IA criou figuras mais complexas do que as definidas nas regras, marcando-as como inaceitáveis.
Com este programa para verificação de excesso e a IA generativa para verificação de violação de regras, os problemas podem agora ser largamente detetados.
Processamento Subsequente
Se for detetada uma rejeição durante estas verificações, o material gerado em formato SVG é descartado e regenerado. Isto deve-se ao facto de apontar e corrigir áreas problemáticas muitas vezes levar a outros problemas, acabando por consumir mais tempo.
Uma vez concluído o material de apresentação sem excesso de texto, o próximo passo é introduzir este material e o artigo de blog original na IA generativa para criar o guião da narração. Não foi necessária nenhuma engenhosidade particular aqui.
Em seguida, o guião da narração é convertido em dados de áudio utilizando uma IA generativa de conversão de texto em fala. Mais uma vez, não foram necessárias técnicas especiais para isto.
Finalmente, o material de apresentação em formato SVG é convertido em imagens PNG e, em seguida, utilizando uma ferramenta chamada ffmpeg, é convertido num vídeo mp4 com áudio. Isto completa o processo.
A série de processos que se segue à criação de slides em formato SVG pode ser facilmente automatizada escrevendo programas enquanto se consulta a IA generativa.
Conclusão
Após ter construído e aperfeiçoado com sucesso este sistema automatizado de geração de vídeos de apresentação, comecei a publicar vídeos no YouTube na semana passada.
No entanto, pouco depois de este sistema ter sido concluído, o NotebookLM da Google, uma ferramenta de IA, também ganhou uma funcionalidade semelhante para gerar automaticamente vídeos para explicar documentos de texto.
Portanto, antecipa-se que, no futuro, as empresas que oferecem serviços de IA lançarão serviços semelhantes, eliminando a necessidade de os indivíduos construírem tais sistemas do zero.
Contudo, desenvolver um programa prático que alavanca a IA generativa de uma forma tão séria foi uma conquista significativa, permitindo-me compreender os princípios-chave da utilização eficaz da IA generativa.