Skip to content

O NLW-AGENTS é uma aplicação completa, com back-end e front-end, que funciona como uma plataforma inteligente de perguntas e respostas baseada no conteúdo de aulas.

Notifications You must be signed in to change notification settings

lucassf2k/nlw-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

NLW-AGENTS

Projeto full-stack desenvolvido durante a Next Level Week (NLW), um evento online e gratuito da Rocketseat.

🚀 Sobre o Projeto

O NLW-AGENTS é uma aplicação completa, com back-end e front-end, que funciona como uma plataforma inteligente de perguntas e respostas baseada no conteúdo de aulas. A ideia central é permitir a criação de "salas", onde cada sala corresponde a uma aula específica.

O processo se inicia com o upload do áudio da aula. O back-end, então, utiliza a poderosa API do Google Gemini para processar este áudio, gerar embeddings (representações vetoriais) do conteúdo e armazená-los em um banco de dados PostgreSQL com o auxílio da extensão pgvector.

Quando um usuário faz uma pergunta dentro de uma sala, o sistema utiliza o pgvector para realizar uma busca por similaridade semântica. Ele compara a pergunta feita com os vetores do conteúdo da aula armazenados, encontrando os trechos mais relevantes para fornecer uma resposta precisa e contextualizada.

✨ Funcionalidades Principais

  • Criação de Salas: Ambiente isolado para cada tópico de aula.
  • Upload de Áudio: Interface para submeter o áudio da aula a ser analisada.
  • Processamento com IA: Geração de embeddings a partir do áudio utilizando a API do Gemini.
  • Armazenamento Vetorial: Persistência dos embeddings no PostgreSQL com a extensão pgvector.
  • Busca por Similaridade: Sistema de perguntas e respostas que compara a similaridade entre a pergunta e os trechos da aula.
  • Interface Intuitiva: Um front-end claro e objetivo para interação do usuário.

🛠️ Tecnologias Utilizadas

Back-end

  • Node.js: Ambiente de execução para o JavaScript no servidor.
  • Fastify: Framework web focado em alta performance.
  • Prisma: ORM para interação com o banco de dados.
  • Zod: Biblioteca para validação de esquemas e tipos.
  • PostgreSQL: Banco de dados relacional.
  • pgvector: Extensão para PostgreSQL que permite o armazenamento e a busca de vetores.
  • Google Gemini API: API de IA para a geração dos embeddings.

Front-end

  • React: Biblioteca para a construção da interface de usuário.
  • Vite: Ferramenta de build para o desenvolvimento front-end moderno.
  • Tailwind CSS: Framework de CSS para estilização rápida e utilitária.
  • Fetch: Cliente HTTP para realizar requisições ao back-end.
  • Tanstack/Query: Cliente HTTP para gerenciar requisições ao back-end.

🏁 Como Executar o Projeto

Siga os passos abaixo para configurar e rodar a aplicação em seu ambiente de desenvolvimento.

Pré-requisitos

  • Node.js (versão 20.x ou superior)
  • NPM ou Yarn
  • Docker e Docker Compose
  • Uma chave de API válida do Google Gemini

Passo a Passo

Clone o repositório:

git clone https://github.com/seu-usuario/nlw-agents.git
cd nlw-agents

About

O NLW-AGENTS é uma aplicação completa, com back-end e front-end, que funciona como uma plataforma inteligente de perguntas e respostas baseada no conteúdo de aulas.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published