O produto consiste em aplicativo de geração de conteúdo de educação personalizado para o usuário.
No backend temos os principais endpoints:
user/create
- Criar o usuário e o seu embedding de interesse conforme as escolhas iniciais do onboarduser/update
- Atualizar o usuário e o seu embedding conforme o conteúdo consumidofeed/index
- Listar os conteúdos recomendados para o usuáriocontent/classify
- Classificar o conteúdo para personalizar ainda mais o seu embedding
O embedding de interesse do usuário por padrão só é recalculado durante um cronjob. Esse cronjob recalcula apenas os usuários que tiveram algum tipo de interação com o conteúdo depois do ultimo cron
- Ruby 3.2.2
- Rails 7.0.7
- Postgres 13.3
- PgVector 0.4.4
- ruby-openai
- cosine-similarity
Para rodar o projeto é necessário ter o Docker e o Docker Compose instalados.
Você precisa criar um arquivo .env
na raiz do projeto com as seguintes variáveis:
OPENAI_API_KEY=****
Para rodar o projeto basta executar o comando:
docker compose up -d