Pular para conteúdo

v0.4.2 — Parser Semantics + AI Provider Fix

Objetivo

A v0.4.2 corrige a contagem inflada de experiências e projetos, melhora a leitura de headings reais e deixa claro quando a análise usa Gemini ou o fallback local.

O escopo não inclui scraping real, extensão Chrome, auto-apply, PyTorch ou Concurso Mode funcional.

Parser semântico

O parser agora:

  • cria seções internas com heading, nome normalizado e linhas;
  • agrupa experiências por cabeçalhos com cargo, empresa e período;
  • agrupa projetos nomeados e suas descrições;
  • reconhece aliases comuns em currículos brasileiros;
  • separa formação de cursos quando o heading combina ambos;
  • limita o resumo e evita usar o currículo inteiro;
  • quebra skills comportamentais em chips curtos;
  • preserva links sem protocolo.

UI de currículo

LinkedIn, GitHub e portfólio aparecem como links clicáveis com rótulos compactos. Experiências e projetos mostram os três primeiros blocos; itens adicionais ficam em Ver todos.

A edição separa blocos por linha vazia para não fragmentar descrições multilinha.

Provider de IA

O provider padrão é a análise local:

DEFAULT_AI_PROVIDER=local
GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.5-flash

Aliases antigos continuam compatíveis:

LLM_PROVIDER=local
LLM_MODEL=gemini-2.5-flash

DEFAULT_AI_PROVIDER e GEMINI_MODEL têm precedência.

Gemini

Instalação opcional:

pip install -r docs/requirements/requirements-ai.txt

Configuração:

DEFAULT_AI_PROVIDER=gemini
GEMINI_API_KEY=sua_chave
GEMINI_MODEL=gemini-2.5-flash

Execução:

streamlit run app.py

Continuidade na v0.5.0

A v0.5.0 mantém o parser semântico da v0.4.2 e melhora sua validação com expected outputs fictícios. Skills passam por limpeza adicional de prefixos de categoria e duplicatas normalizadas.

O provider Gemini também ganha setup guiado na sidebar, teste explícito, salvamento local seguro e ativação automática.

Veja v0.5.0 — Real Usability, AI Setup and Validation.

Sem chave, a UI informa Gemini não configurado. Usando análise local.. Sem SDK, informa Instale com: pip install -r docs/requirements/requirements-ai.txt. Falhas durante a chamada mostram provider solicitado, provider usado e fallback.

Fixtures

Fixtures fictícios em examples/ cobrem:

  • currículo técnico e universitário com experiência em empresa aeroespacial fictícia;
  • currículo júnior de dados;
  • currículo júnior de desenvolvimento web;
  • projetos selecionados e descrições multilinha;
  • links sem HTTPS;
  • soft skills em linha corrida;
  • três descrições de vagas correspondentes.

Testes

Os testes verificam blocos semânticos, aliases, links, skills, resumo, roteamento por ambiente, compatibilidade dos aliases antigos, fallback explícito e rótulos amigáveis da UI.

Validação esperada

pyright
ruff check .
ruff format . --check
python -m pytest -q
mkdocs build --strict
streamlit run app.py