A NLW IA é um evento online, gratuito, oferecido pela Rocketseat, com muito conteúdo prático, desafios e hacks que vão te ajudar a dar o próximo passo na sua evolução como programador. O evento aconteceu entre os dias 12 e 14 de setembro de 2023.
A OpenAI é uma empresa de pesquisa de inteligência artificial fundada por Elon Musk, Sam Altman e outros. A missão declarada da empresa é promover e desenvolver inteligência artificial amigável para beneficiar a humanidade como um todo. Wikipédia
O upload.ai é uma aplicação web que utiliza a API da OpenAI para gerar títulos e descrições a partir de um vídeo escolhido pelo usuário. O vídeo, assim que enviado, é convertido para MP3 e, a partir daí, a aplicação transcreve o conteúdo do vídeo, enviando o resultado final para o usuário, de acordo com o prompt definido.
Durante o evento, aprendemos a utilizar a API da OpenAI, a criar um servidor com Fastify e a utilizar o Vercel AI SDK para integrar o backend com o frontend.
Clique na imagem para assistir ao vídeo de apresentação do projeto.
O projeto foi desenvolvido utilizando as seguintes tecnologias:
- Vite (Servidor de desenvolvimento local)
- React (Biblioteca Frontend JavaScript)
- TypeScript (Linguagem de programação)
- TailwindCSS (Framework CSS)
- Shadcn/UI (Componentes)
- Lucide React (Ícones)
- ffmpeg (Conversão de vídeo)
- Axios (Requisições HTTP)
- Vercel AI SDK (SDK)
O projeto foi desenvolvido utilizando o Vite, que é um bundler que utiliza o ESM (ECMAScript Modules) para importar os módulos. Por isso, o projeto NÃO é compatível com o Internet Explorer.
- pnpm (Gerenciador de pacotes)
- Node.js (Ambiente de execução)
- TypeScript (Linguagem de programação)
- Fastify (Framework web)
- Fastify CORS (Plugin)
- Fastify Multipart (Plugin)
- Zod (Validação de dados)
- OpenAI API (API)
- Vercel AI SDK (SDK)
O projeto foi desenvolvido utilizando o pnpm, que é um gerenciador de pacotes que utiliza o ESM (ECMAScript Modules) para importar os módulos. Por isso, a API NÃO é compatível com o Internet Explorer.
O projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:
- Configurações iniciais do projeto
- UI do projeto
- API do projeto
- Integração do backend com o frontend
- Deploy do projeto
- Adicionar suporte para formatos de áudio
- Adicionar suporte para URL de vídeo
Você pode sugerir novas tarefas abrindo uma issue no repositório.
Para utilizar o upload.ai você precisará ter instalado em sua máquina as seguintes ferramentas:
Você pode utilizar o npm no lugar do pnpm, mas é recomendado utilizar o pnpm para instalar as dependências do projeto.
Também será necessário ter as seguintes chaves de API:
Para obter as chaves de API, você precisará criar uma conta na OpenAI.
Para usar upload.ai web, siga estas etapas:
- Clone o projeto na sua máquina.
git clone https://github.com/jusceliadesouza/upload-ai.git - No terminal, utilize o comando
cd..para voltar à raiz do projeto e redirecione para a pastaweb - Instale as dependências utilizando
pnpm install - Execute o projeto com
pnpm run dev - Abra o endereço
http://localhost:5173/no seu navegador favorito
Para usar a api, siga as seguintes etapas:
- No terminal, vá até a pasta
apiusando o comandocd api - Instale as dependências da api utilizando
pnpm install - Renomeie o arquivo
.env.examplepara.enve preencha com as suas variáveis de ambiente. - Rode o servidor com
pnpm run dev - Para acessar as informações no navegador, utilize o endereço
http://localhost:3333/
Você pode utilizar o Insomnia para testar as rotas da API.
Esse projeto está sob a licença MIT. Acesse o arquivo LICENSE para mais detalhes.
