Documentação do Projeto

Introdução ao Projeto Datathon

Este projeto foi desenvolvido para acomodar três principais frentes sistêmicas na AWS Cloud, integrando os processos de dados, Machine Learning e aplicações web/serviços. A infraestrutura robusta na AWS suporta um pipeline completo de dados, desde a ingestão até a disponibilização de insights através de uma interface web intuitiva.

O Projeto Datathon possui um pipeline de Machine Learning para matching e recomendação de vagas e candidatos, implementado com técnicas avançadas de processamento de linguagem natural. A infraestrutura é automatizada e escalável, permitindo treinamento diário dos modelos e detecção de data drift para garantir a qualidade das predições ao longo do tempo. Um serviço FastAPI expõe os endpoints necessários para a aplicação web, realizando inferências e fornecendo acesso aos dados processados no Data Lake. A aplicação web em Next.js apresenta uma interface amigável para análise de processos, gestão de candidatos e vagas, permitindo aos recrutadores tomar decisões baseadas em dados.

Visão Geral

O projeto é composto por três principais sistemas integrados que trabalham em conjunto para fornecer uma solução completa de recrutamento e seleção:

  • Pipeline de Dados e Machine Learning:

    Este sistema é responsável pela ingestão, processamento e treinamento de modelos de Machine Learning. O armazenamento é realizado em buckets S3 que funcionam como Data Lake, com camadas para dados brutos e features processadas.

    • Um pipeline de treinamento desenvolvido em Python é executado em containers via AWS Batch e disparado diariamente pelo EventBridge.
    • O Step Functions orquestra o fluxo, acionando Lambdas para exportação/importação de dados e gerenciando o treinamento dos modelos.
    • O sistema detecta data drift utilizando TF-IDF, KSDrift e PSI, garantindo a qualidade dos modelos ao longo do tempo.

    Os modelos treinados incluem:

    • Modelo de matching/classificação para determinar a adequação entre candidatos e vagas;
    • Modelo de recomendação baseado em embeddings multilíngues para sugerir vagas compatíveis aos candidatos.
  • Serviço FastAPI:

    O serviço FastAPI é deployado em containers no ECS (Fargate) e exposto através de um ALB. Ele serve como backend para a aplicação web, fornecendo endpoints para todas as operações necessárias.

    • Endpoints para gerenciamento de candidatos, vagas e prospects;
    • Endpoints de inferência que utilizam os modelos treinados para realizar matching e recomendação;
    • Acesso ao relatório de data drift para monitoramento da qualidade dos modelos;
    • Integração com o Data Lake para recuperar e armazenar dados.
  • Aplicação Web em Next.js

    A aplicação web é hospedada em uma instância EC2 e consome os endpoints fornecidos pela FastAPI. Ela fornece uma interface intuitiva para que recrutadores possam gerenciar o processo de recrutamento e seleção.

    • Visualização e gestão de candidatos, incluindo histórico profissional, formação e currículos;
    • Cadastro e gerenciamento de vagas com todos os detalhes necessários;
    • Análise de processos seletivos, com visualização dos prospects agrupados por vaga;
    • Acesso às recomendações de vagas para candidatos específicos;
    • Visualização da probabilidade de match entre candidatos e vagas.