Skip to content

marioluciofjr/procurando_vaga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

procurando_vaga

Repositório do projeto 'Procurando Vaga', que concorre na Imersão de IA - Alura & Google

license - MIT site - prazocerto.me linkedin - @marioluciofjr

Índice

Introdução

Este projeto utiliza um sistema de múltiplos agentes para auxiliar usuários na busca por vagas de emprego na área de tecnologia. O usuário insere suas informações e preferências de carreira, e quatro agentes especializados entram em ação: Carlos Acha (recrutador), Sofia Leme (mentora de carreira), Laura Code (professora tech) e Hash Tag (especialista em LinkedIn). Cada agente contribui com sua expertise, desde a busca inicial de vagas até dicas de estudo, soft skills, hard skills e otimização do perfil no LinkedIn para aumentar as chances de sucesso da pessoa candidata.

Estrutura do projeto

A ideia desse projeto surgiu na Imersão IA - Alura & Google, a fim de participar da premiação dos melhores projetos. Levando em consideração que as aulas 4 e 5 da Imersão mostraram que é possível fazer as pesquisas no Google com os modelos do Gemini, logo pensei "Então pode ser uma boa para procurar oportunidades de emprego".

Acredito que esse projeto pode ser útil para todas as pessoas na comunidade do Discord, principalmente aquelas que desejam se recolocar no mercado de trabalho ou mesmo migrar para uma área tech. Eu poderia ter abrangido para vagas diversas, mas foi uma escolha editoral focar somente em vagas de áreas tech, fazendo sentido com o ambiente em si da Alura, tanto é que o dropbox utilizado no código tem as opções de áreas disponíveis no site da Alura.

Fiz duas versões de código em python. A primeira é mais simples e que faz total sentido com a aula 5, rodando exclusivamente no Google Colab com a api_key do Gemini configurada devidamente no secrets. Já a segunda versão tem a interface da bilioteca Gradio, a fim de tornar a experiência mais inclusiva possível. Ambos os códigos estão devidamente comentados para ajudar em qualquer manutenção ou contribuição de outros devs.

Nos meus testes, o modelo generativo que fez mais sentido (mesmo que leve um certo delay na resposta por conta da cadeia de pensamento) foi o gemini-2.5-flash-preview-04-17-thinking. Nos meus testes percebi raros erros na saída, que entendi que foi na sincronização da função call_agent. Acredito que foi pelo fato de eu estar utilizando duas abas do Google Colab. No Hugging Face deixei o modelo gemini-2.0-flash para apresentar melhor durante a votação.

Sobre os agentes inteligentes utilizados nos códigos, segue a explicação de cada um e o que faz:

Carlos Acha - recrutador de uma agência de emprego

Carlos Acha é um agente recrutador de 30 anos, especialista em encontrar vagas de emprego, principalmente na área de tecnologia. Sua função no código é buscar na internet 10 oportunidades de trabalho que correspondam ao perfil e às informações fornecidas pelo usuário (área, experiência, formação, cursos e localidade). Como resultado, Carlos entrega uma lista detalhada dessas 10 vagas, incluindo nome da empresa, localização, cargo, salário (se disponível), uma breve descrição e o link direto para a vaga, priorizando sites confiáveis de emprego.

Important

Sempre verifique se as informações estão corretas, pois como está escrito no rodapé do próprio Gemini "O Gemini pode cometer erros. Por isso, é bom checar as respostas"

Sofia Leme - mentora de carreira

Sofia Leme é uma mentora de carreira experiente de 48 anos, ex-Headhunter, com uma abordagem séria e empática. No código, ela analisa as 10 vagas encontradas por Carlos Acha e seleciona as 3 mais adequadas para o usuário, justificando cada escolha. Sofia também fornece 5 dicas de soft skills cruciais para o candidato se destacar e pesquisa 3 notícias ou assuntos relevantes para manter o usuário informado sobre o mercado das vagas selecionadas, auxiliando no direcionamento profissional.

Laura Code - professora de cursos de áreas tech

Laura Code é uma professora de tecnologia de 37 anos, didática e inspirada pela Alura, focada em carreiras como Programação e IA. Sua função é analisar as 3 vagas selecionadas por Sofia e fornecer dicas de estudo para o usuário se preparar. Laura também lista 5 hard skills essenciais, cria um checklist de 5 passos para desenvolver uma carreira em "T" (baseado no Tech Guide da Alura) e recomenda 3 cursos específicos da Alura alinhados com a área de interesse do usuário.

Hash Tag - estrategista digital, especialista em LinkedIn

Hash Tag é uma estrategista digital de 26 anos, especialista em LinkedIn e Top Voice em tecnologia. No projeto, ela orienta o usuário a otimizar seu perfil no LinkedIn para as 3 vagas em foco, detalhando seções como foto, headline e experiências. Hash Tag também sugere 3 temas de posts para aumentar a visibilidade do usuário na rede, indica 5 perfis influentes para seguir, visando networking e melhora do SSI (Social Selling Index), e finaliza com uma mensagem de encorajamento.

Para entender melhor a dinâmica desses agentes, eu gerei um podcast com o NotebookLM para explicar ainda melhor o projeto, assim como o instrutor Fabrício Carraro usou na masterclass antes da imersão: Projeto - Procurando Vaga - Podcast

Note

Sim, os nomes foram propositais para fazer pequenas referências ao que cada um faz. O do Carlos é bem óbvio, pois tem o sobrenome 'Acha', levando em consideração que ele busca vagas. Escolhi Sofia porque significa sabedoria e o sobrenome Leme na intenção dela saber conduzir o leme e evitar águas turbulentas, ajudando seus mentorados (cito algo desse tipo no prompt inclusive). Já a Laura é um anagrama de Alura, sendo que o sobrenome Code é código em inglês. Por fim, a Hash Tag é mais óbvia ainda, pois vem de hashtag, recurso muito conhecido em redes sociais.

Tecnologias utilizadas

                               

Requisitos

Para utilizar este projeto, você precisa de:

  • Conta Google: Necessária para acessar o Google AI Studio e o Google Colab
  • Chave de API do Google AI Studio (Gemini API): Instruções para obtenção abaixo

Important

O código procurando_vaga.ipynb está configurado para ser executado no Google Colab, que fornece todos os recursos computacionais necessários gratuitamente.
Já o código procurando_vaga_gradio.ipynb está configurado para ser utilizado em uma interface Gradio. Explicarei mais abaixo o procedimento.

Como obter a API KEY no Google AI Studio

Para utilizar este código, você precisará de uma chave de API do Google Gemini:

  1. Acesse o Google AI Studio
  2. Faça login com sua conta Google
  3. Clique no botão "Criar chave de API"
  4. Aceite os termos de serviço, se solicitado
  5. Copie a chave gerada e guarde-a em local seguro

Important

Atualmente, o Google AI Studio oferece um uso gratuito da API para testes. Sobre demais detalhes da API do Gemini, leia a documentação oficial.

Como configurar a API KEY no Google Colab

Para utilizar sua chave API no Google Colab de forma segura:

  1. Abra seu notebook no Google Colab
  2. Na barra lateral esquerda, clique no ícone 🔑 (Secrets)
  3. Clique em "+ Adicionar novo secret"
  4. No campo "Nome", digite senha
  5. No campo "Valor", cole sua chave API do Google AI Studio

Tip

O código procurando_vaga.ipynb está configurado para acessar a chave por meio de userdata.get('senha'). Se preferir usar outro nome, modifique esta célula no código:

# Configurando a API

os.environ['GOOGLE_API_KEY'] = userdata.get('senha')
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "False"

print("API_KEY configurada")

Como executar

Abaixo você terá um checklist básico para executar o projeto tanto no Google Colab quanto no Gradio, sendo que o atalho para executar as células CTRL + ENTER

  • Obter a API_KEY no Google AI Studio
  • Clicar no botão Open In Colab dentro do arquivo procurando_vaga.ipynb
  • Configurar a API_KEY em 'Secrets' no Google Colab.
  • Executar a 1ª célula do código (Instalação do ADK)
  • Executar a 2ª célula do código (Importação dos pacotes necessários)
  • Executar a 3ª célula do código (Configurando a API)
  • Executar a 4ª célula do código (Função call_agent)
  • Executar a 5ª célula do código (Função to_markdown)
  • Executar a 6ª célula do código (Definindo o modelo Gemini)
  • Executar a 7ª célula do código (Agente 1)
  • Executar a 8ª célula do código (Agente 2)
  • Executar a 9ª célula do código (Agente 3)
  • Executar a 10ª célula do código (Agente 4)
  • Executar a 11ª célula do código (Lógica da saída)
  • Obter a API_KEY no Google AI Studio
  • Clicar no botão Open In Colab dentro do arquivo procurando_vaga_gradio.ipynb
  • Executar a 1ª célula do código (Instalação do ADK)
  • Executar a 2ª célula do código (Importação dos pacotes necessários)
  • Executar a 3ª célula do código (Configurando para não usar VERTEX AI)
  • Executar a 4ª célula do código (Função call_agent)
  • Executar a 5ª célula do código (Definindo o modelo Gemini)
  • Executar a 6ª célula do código (Agente 1)
  • Executar a 7ª célula do código (Agente 2)
  • Executar a 8ª célula do código (Agente 3)
  • Executar a 9ª célula do código (Agente 4)
  • Executar a 10ª célula do código (Lógica da saída)
  • Executar a 11ª célula do código (Interface do Gradio)

Important

Na Interface do Gradio é que você insere a api_key para funcionar o código

Image

Ao executar a 11ª célula, você vai perceber que a interface aparece logo embaixo, mas você pode clicar no link gerado ma parte "Running on public URL"

Image

Para facilitar a vida, eu também fiz deploy do projeto no Hugging Face: procurando_vaga

Caso queria ver como funciona a interface no Hugging Face, eu gravei um video no Google Vids mostrando: Tutorial_interface

Links úteis

Contribuições

Contribuições são bem-vindas! Se você tem ideias para melhorar este projeto, sinta-se à vontade para fazer um fork do repositório.

Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

Contato

Mário Lúcio - Prazo Certo®

About

Repositório do projeto 'Procurando Vaga', que concorre na Imersão de IA - Alura & Google

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors