Este é um projeto de análise de currículos que utiliza a API do Ollama para resumir e pontuar currículos com base na descrição de uma vaga específica. O projeto é desenvolvido em Python, com o Streamlit como front-end para a interface do usuário.
- Upload de Currículos em Lote: Carregue vários currículos de uma vez para análise.
- Análise de Currículos: Avalie currículos com base em diferentes seções, atribuindo uma pontuação conforme a relevância para a vaga.
- Comparação de Currículos: Compare currículos lado a lado para uma avaliação mais detalhada.
- Análise Crítica Descritiva: Geração de uma análise crítica e descritiva sobre o currículo em relação à vaga.
- Python: Linguagem de programação principal utilizada no projeto.
- Streamlit: Framework utilizado para criar a interface web de maneira rápida e interativa.
- Groq API (Llama 3.1): API utilizada para resumir os currículos e gerar a pontuação.
- Poetry: Ferramenta de gerenciamento de dependências e ambientes virtuais em Python.
Para executar este projeto localmente, siga as etapas abaixo:
- Python 3.10 ou superior
- Poetry instalado globalmente
-
Clone este repositório para o seu ambiente local:
git clone https://github.com/asimov-academy/cv-recruter.git cd cv-analyser
-
Instale as dependências do projeto utilizando o Poetry:
poetry install
-
Execute o projeto com o Streamlit:
poetry run streamlit run analyze/app.py
-
Acesse o projeto no seu navegador através do endereço:
http://localhost:8502
Após subir o projeto, você poderá:
- Cadastrar novas vagas através da interface.
- Subir currículos em lote para análise.
- Visualizar a análise de cada currículo por vaga, com a possibilidade de comparar currículos.
- Gerar análises críticas descritivas sobre os currículos em relação às vagas.
O sistema de pontuação foi projetado para avaliar currículos com base em uma vaga específica. As seções avaliadas incluem:
- Experiência (Peso: 30%)
- Habilidades Técnicas (Peso: 25%)
- Educação (Peso: 10%)
- Idiomas (Peso: 10%)
- Pontos Fortes (Peso: 15%)
- Pontos Fracos (Desconto de até 10%)
Cada seção recebe uma pontuação de 0 a 10, com justificativas para as notas atribuídas. A pontuação final é uma média ponderada das avaliações, refletindo a adequação do candidato à vaga.