Como Construir um Sistema de Triagem de Currículos com Gemini AI e Python

Aprenda a automatizar a triagem de currículos com Gemini AI e Python. Otimize o recrutamento técnico com análise semântica e respostas estruturadas.

O processo de recrutamento técnico frequentemente esbarra em um gargalo operacional: a triagem manual de centenas de currículos em formatos variados. A busca tradicional por palavras-chave em PDFs costuma descartar bons candidatos ou aprovar perfis desalinhados que apenas repetem termos da vaga. Para resolver essa ineficiência, a integração de modelos de linguagem avançados, como o Google Gemini, com uma arquitetura Python orientada a automação, permite avaliar a aderência técnica e a experiência dos candidatos de maneira semântica e padronizada.

O Desafio da Extração e Interpretação de Dados Não Estruturados

Currículos são entregues em estruturas diversas — tabelas, colunas duplas, blocos gráficos e textos corridos. Antes de submeter o conteúdo a um modelo de inteligência artificial, é fundamental extrair o texto de forma limpa. Utilizando bibliotecas como pypdf ou pdfplumber, o sistema normaliza o conteúdo textual antes de enviá-lo para processamento.

Como especialista em IA e desenvolvimento de software, destaco que o maior ganho de performance não está apenas no modelo em si, mas no pipeline de pré-processamento. Minimizar ruídos no texto enviado reduz o consumo de tokens e melhora a precisão da resposta gerada pelo Gemini.

Arquitetura de Avaliação com Gemini AI e Pydantic

A abordagem recomendada para criar um classificador confiável envolve saídas estruturadas. Em vez de pedir ao modelo um parecer livre em texto corrido, configuramos o Gemini para responder estritamente dentro de um esquema de dados (JSON Schema) validado pelo Pydantic.

O fluxo técnico divide-se em quatro etapas fundamentais:

  1. Ingestão e Parsing: Uma interface web (construída em Streamlit ou FastAPI) recebe os arquivos PDF/DOCX e extrai o texto bruto.
  2. Contextualização do Prompt: O sistema combina o descritivo da vaga, os critérios mandatórios e o texto do candidato em uma instrução clara.
  3. Inferência Estruturada: O Gemini analisa compatibilidade de stack, anos de experiência e projetos relevantes, atribuindo uma pontuação técnica (score de 0 a 100) e justificativas pontuais.
  4. Classificação e Apresentação: Os resultados são salvos em banco de dados e exibidos em um dashboard ordenado pela aderência do perfil.

python
import os
from google import genai
from pydantic import BaseModel, Field

class AvaliacaoCandidato(BaseModel):
scoreaderencia: int = Field(description=”Pontuação de 0 a 100 baseada na vaga”)
pontos
fortes: list[str] = Field(description=”Principais competências alinhadas”)
gaps_tecnicos: list[str] = Field(description=”Requisitos obrigatórios ausentes”)
veredito: str = Field(description=”Aprovado para entrevista ou Reprovado”)

client = genai.Client(apikey=os.environ.get(“GEMINIAPI_KEY”))

def avaliarcurriculo(textocurriculo: str, descricaovaga: str) -> AvaliacaoCandidato:
prompt = f”Analise o currículo com base nos requisitos da vaga.nVaga: {descricao
vaga}nCurrículo: {texto_curriculo}”

response = client.models.generate_content(
    model='gemini-1.5-flash',
    contents=prompt,
    config={
        'response_mime_type': 'application/json',
        'response_schema': AvaliacaoCandidato,
    }
)
return AvaliacaoCandidato.model_validate_json(response.text)

Otimização e Escalabilidade no Pipeline

Para lidar com lotes volumosos de candidaturas sem esgotar rate limits ou elevar os custos operacionais, o uso do modelo gemini-1.5-flash é ideal. Ele oferece latência reduzida e custo significativamente menor, mantendo capacidade suficiente de raciocínio para identificar equivalências técnicas (como reconhecer que experiência com FastAPI implica familiaridade com ecossistemas assíncronos em Python).

Além disso, a implementação de filas assíncronas (com Celery ou Redis) garante que o upload em massa de dezenas de arquivos não trave a aplicação web, oferecendo feedback em tempo real para os recrutadores.

Próximos Passos para o Seu Projeto

Implementar a triagem automatizada com IA permite que a equipe de recursos humanos e liderança técnica concentrem tempo apenas nos perfis qualificados, eliminando a triagem manual repetitiva.

Se a sua empresa precisa estruturar fluxos inteligentes de automação com IA generativa e Python sob medida para suas regras de negócio, entre em contato para uma consultoria técnica especializada.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.