CV Match
Un flujo que compara CVs con requisitos, calcula coincidencias y devuelve al candidato con mayor ajuste.
+2
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
TextInput-dvpjv[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Carrera]
style TextInput-dvpjv stroke:#a170ff
TextInput-s2vgd[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Certificados]
style TextInput-s2vgd stroke:#a170ff
TextInput-oz3io[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Habilidades]
style TextInput-oz3io stroke:#a170ff
TextInput-6r3sb[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Experiencia]
style TextInput-6r3sb stroke:#a170ff
TextInput-ep0wz[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Educación]
style TextInput-ep0wz stroke:#a170ff
ChatOutput-zlpn1[<div><img src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-zlpn1 stroke:#a170ff
OpenAIEmbeddings-5myel[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI Embeddings]
style OpenAIEmbeddings-5myel stroke:#a170ff
GDriveFilesComponent-3xa20[<div><img src="/_astro/google_drive.wKmDsV2c.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener CV]
style GDriveFilesComponent-3xa20 stroke:#a170ff
Prompt-3a8sl[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Requisitos]
style Prompt-3a8sl stroke:#a170ff
OpenAIEmbeddings-6p7a2[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI Embeddings2]
style OpenAIEmbeddings-6p7a2 stroke:#a170ff
LanguageRecursiveTextSplitter-rweqg[Language Recursive Text Splitter]
style LanguageRecursiveTextSplitter-rweqg stroke:#a170ff
AstraDB-un98t[Astra DB]
style AstraDB-un98t stroke:#a170ff
AstraDB-un1f3[Astra DB2]
style AstraDB-un1f3 stroke:#a170ff
LanggraphRAGAgent-cgjw7[RAG Agent]
style LanggraphRAGAgent-cgjw7 stroke:#a170ff
OpenAIModel-448zp[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-448zp stroke:#a170ff
TextInput-dvpjv -.- Prompt-3a8sl
linkStyle 0 stroke:#a170ff
TextInput-s2vgd -.- Prompt-3a8sl
linkStyle 1 stroke:#a170ff
TextInput-ep0wz -.- Prompt-3a8sl
linkStyle 2 stroke:#a170ff
TextInput-6r3sb -.- Prompt-3a8sl
linkStyle 3 stroke:#a170ff
TextInput-oz3io -.- Prompt-3a8sl
linkStyle 4 stroke:#a170ff
GDriveFilesComponent-3xa20 -.- LanguageRecursiveTextSplitter-rweqg
linkStyle 5 stroke:#a170ff
LanguageRecursiveTextSplitter-rweqg -.- AstraDB-un98t
linkStyle 6 stroke:#a170ff
OpenAIEmbeddings-5myel -.- AstraDB-un98t
linkStyle 7 stroke:#a170ff
LanggraphRAGAgent-cgjw7 -.- ChatOutput-zlpn1
linkStyle 8 stroke:#a170ff
OpenAIEmbeddings-6p7a2 -.- AstraDB-un1f3
linkStyle 9 stroke:#a170ff
AstraDB-un1f3 -.- LanggraphRAGAgent-cgjw7
linkStyle 10 stroke:#a170ff
Prompt-3a8sl -.- LanggraphRAGAgent-cgjw7
linkStyle 11 stroke:#a170ff
OpenAIModel-448zp -.- LanggraphRAGAgent-cgjw7
linkStyle 12 stroke:#a170ff
Correspondência de CV
🧩 Visão Geral
Este fluxo de trabalho automatiza o processo de correspondência de CVs de candidatos contra um conjunto de requisitos específicos de vaga. Ele recupera CVs de uma fonte designada, processa-os em uma base de conhecimento pesquisável e usa um agente de Geração Aumentada por Recuperação (RAG) para encontrar e apresentar de forma inteligente os candidatos mais adequados. Isso agiliza a fase inicial de triagem do recrutamento, fornecendo uma análise classificada e alimentada por IA sobre a adequação dos candidatos.
⚙️ Principais Funcionalidades
- Ingesta CVs de uma pasta do Google Drive e os processa para busca baseada em vetores.
- Cria um prompt estruturado a partir de requisitos de vaga definidos pelo usuário, como educação, habilidades e experiência.
- Utiliza um agente RAG para pesquisar o banco de dados de CVs e identificar os candidatos com melhor correspondência.
- Apresenta as descobertas do agente em uma saída de chat clara e conversacional.
🔄 Etapas do Fluxo de Trabalho
| Nome do Componente | Função no Fluxo de Trabalho | Principais Entradas | Principais Saídas |
|---|---|---|---|
| Entrada de Texto (Carrera) | Define o diploma ou área de estudo exigida. | Diploma definido pelo usuário (ex: "Engenheiro de Computação") | Texto do requisito de diploma |
| Entrada de Texto (Certificados) | Define as certificações exigidas. | Certificações definidas pelo usuário (ex: "Engenheiro") | Texto do requisito de certificação |
| Entrada de Texto (Educación) | Define o nível de educação exigido. | Nível de educação definido pelo usuário (ex: "Universidade") | Texto do requisito de educação |
| Entrada de Texto (Experiencia) | Define os anos de experiência exigidos. | Experiência definida pelo usuário (ex: "1 ano") | Texto do requisito de experiência |
| Entrada de Texto (Habilidades) | Define as habilidades técnicas exigidas. | Habilidades definidas pelo usuário (ex: "Python e C#") | Texto do requisito de habilidades |
| Prompt (Requisitos) | Compila todos os requisitos individuais em um único prompt estruturado para o agente. | Todos os textos de requisitos (Diploma, Certificações, Educação, Experiência, Habilidades) | Uma mensagem de prompt consolidada com os requisitos da vaga |
| Componente Arquivos do Google Drive | Recupera documentos de CV de uma pasta específica do Google Drive. | Caminho da pasta de destino | Dados brutos dos documentos de CV |
| Divisor de Texto Recursivo por Idioma | Divide os documentos de CV recuperados em partes menores e gerenciáveis para processamento. | Dados brutos dos documentos de CV | Dados de texto divididos em partes |
| Embeddings OpenAI | Gera embeddings vetoriais para as partes de texto, permitindo busca semântica. | Dados das partes de texto | Embeddings vetoriais numéricos |
| Astra DB | Armazena os embeddings vetoriais e o texto associado do CV em um banco de dados vetorial para recuperação eficiente. | Partes de texto e seus embeddings vetoriais correspondentes | Armazenamento vetorial configurado e recuperador |
| Modelo OpenAI | Fornece o modelo de linguagem central que alimenta o raciocínio e a geração de resposta do agente RAG. | Configuração do modelo (ex: temperatura, configurações de API) | Uma instância de modelo de linguagem configurada |
| Agente RAG | O agente inteligente que recebe os requisitos da vaga, consulta o banco de dados de CVs (via recuperador) e gera uma resposta identificando as melhores correspondências. | Prompt de requisitos da vaga, modelo de linguagem configurado, recuperador do banco de dados de CVs | Uma mensagem de resposta com os resultados de CV correspondentes |
| Saída de Chat | Exibe a resposta final do agente RAG em uma interface de chat amigável ao usuário. | Mensagem de resposta do agente | Mensagem de chat formatada para o usuário |
🧠 Notas
- O fluxo de trabalho requer credenciais de API válidas para OpenAI (para o modelo e embeddings) e Google Drive para funcionar.
- Também depende de uma instância do Astra DB configurada para armazenamento e recuperação vetorial.
- A qualidade das correspondências depende da clareza dos requisitos de entrada e da abrangência dos CVs na pasta de origem.
- O agente RAG é configurado com verificações de qualidade de resposta e alucinação para melhorar a confiabilidade das respostas.