Skip to content

✨ Projeto usando Inteligência Artificial criado durante o NLW IA da @Rocketseat

License

Notifications You must be signed in to change notification settings

ricardospalves/rocketseat-nlw-ia-mastery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NLW IA: Trilha Mastery

Projeto criado durante a NLW IA da @rocketseat.

🎥 Preview

preview.mp4

💻 Sobre o projeto

Aplicação que possibilita realizar upload de vídeos e por meio de Inteligência Artificial criar automaticamente títulos chamativos e descrições com um boa indexação.

O fluxo da aplicação segue assim, o usuário envia um vídeo para a interface (front-end), com o vídeo carregado o front-end converte o vídeo em áudio através do ffmpeg e então o envia para o back-end. O back-end envia o o áudio para a OpenAI, que irá criar uma transcrição do áudio através da inteligência artificial e irá devolver essa transcrição para o front-end.

Com a transcrição “em mãos”, agora o usuário pode pedir para a inteligência artificial criar uma descrição ou sugerir títulos chamativos para o vídeo, baseado na transcrição. O usuário pode ainda escolher a “temperatura” para gerar o conteúdo. A temperatura informa para a inteligência artificial o quão criativa ela deve ser, quanto menor a temperatura, menos criativa ela será e menos chances de erros também, logo, quanto maior a temperatura, mais criativa ela será e porém com mais chances de erro.

✨ Tecnologias

Back-end

  • OpenAI
  • Prisma
  • Node.js (com Fastify e TypeScript)

Front-end

  • React.js com TypeScript
  • ffmpeg (WebAssembly)
  • shadcn/ui
  • vite

🔨 Como instalar

Antes de tudo, pra testar essa aplicação localmente é preciso ter uma conta na OpenAI e ter créditos disponíveis. A OpenAI disponibiliza créditos para novas contas por um tempo limitado ou até que eles sejam esgotados. Caso você não tenha créditos, é preciso comprar ou então criar uma nova conta.

Uma vez que tenha créditos na OpenAI, você pode seguir os passos abaixo.

Clonar o repositório para a sua máquina:

git clone git@github.com:ricardospalves/rocketseat-nlw-ia-mastery.git
cd rocketseat-nlw-ia-mastery

Instalar as dependências:

cd web && npm install
cd ../api && npm install

Dentro da pasta api/ é preciso criar um arquivo com o nome .env. Depois de criado é preciso adicionar o seguinte conteúdo:

DATABASE_URL="file:./dev.db"
OPENAI_KEY=<sua_api_key_da_openai>

No exemplo de cima, você deve substituir a <sua_api_key_da_openai> pela sua Api Key cadastrada na OpenAI. Você pode conferir a sua key na página Api keys. Caso não tenha nenhuma chave cadastrada ou não consegue ver, basta criar uma nova clicando no botão Create new secret key e copiar a key gerada.

Rodar o prisma:

npx prisma migrate dev --name db
npx prisma db seed

Agora basta rodar os projetos, lembrando que ambos os projetos precisam estar rodando, então é preciso rodar os comandos seguintes em abas diferentes do seu terminal.

Rodar a api:

cd api
npm run dev

Rodar a interface:

cd web
npm run dev

Finalmente, agora é só acessar a URL http://localhost:5173 no seu navegador e testar a aplicação.

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

🙏 Créditos