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
Coincidencia de CV
🧩 Descripción General
Este flujo de trabajo automatiza el proceso de comparar los CV de los candidatos con un conjunto de requisitos específicos del puesto. Recupera los CV de una fuente designada, los procesa en una base de conocimiento buscable y utiliza un agente de Generación Aumentada por Recuperación (RAG) para encontrar y presentar de manera inteligente a los candidatos más adecuados. Esto agiliza la fase inicial de selección del reclutamiento al proporcionar un análisis clasificado y potenciado por IA de la idoneidad de los candidatos.
⚙️ Características Principales
- Ingiere CV desde una carpeta de Google Drive y los procesa para búsqueda basada en vectores.
- Crea un mensaje estructurado a partir de los requisitos del puesto definidos por el usuario, como educación, habilidades y experiencia.
- Emplea un agente RAG para buscar en la base de datos de CV e identificar a los candidatos que mejor coincidan.
- Presenta los hallazgos del agente en una salida de chat clara y conversacional.
🔄 Pasos del Flujo de Trabajo
| Nombre del Componente | Función en el Flujo de Trabajo | Entradas Clave | Salidas Clave |
|---|---|---|---|
| Entrada de Texto (Carrera) | Define el título o campo de estudio requerido. | Título definido por el usuario (ej., "Ingeniero en Ciencias de la Computación") | Texto del requisito de título |
| Entrada de Texto (Certificados) | Define las certificaciones requeridas. | Certificaciones definidas por el usuario (ej., "Ingeniero") | Texto del requisito de certificación |
| Entrada de Texto (Educación) | Define el nivel de educación requerido. | Nivel de educación definido por el usuario (ej., "Universidad") | Texto del requisito de educación |
| Entrada de Texto (Experiencia) | Define los años de experiencia requeridos. | Experiencia definida por el usuario (ej., "1 año") | Texto del requisito de experiencia |
| Entrada de Texto (Habilidades) | Define las habilidades técnicas requeridas. | Habilidades definidas por el usuario (ej., "Python y C#") | Texto del requisito de habilidades |
| Mensaje (Requisitos) | Compila todos los requisitos individuales en un único mensaje estructurado para el agente. | Todos los textos de requisitos (Título, Certificaciones, Educación, Experiencia, Habilidades) | Un mensaje consolidado con los requisitos del puesto |
| Componente de Archivos de Google Drive | Recupera los documentos de CV desde una carpeta específica de Google Drive. | Ruta de la carpeta objetivo | Datos brutos de los documentos de CV |
| Divisor de Texto Recursivo por Idioma | Divide los documentos de CV recuperados en fragmentos más pequeños y manejables para su procesamiento. | Datos brutos de los documentos de CV | Datos de texto fragmentados |
| Incrustaciones de OpenAI | Genera incrustaciones vectoriales para los fragmentos de texto, permitiendo la búsqueda semántica. | Datos de fragmentos de texto | Incrustaciones vectoriales numéricas |
| Astra DB | Almacena las incrustaciones vectoriales y el texto asociado del CV en una base de datos vectorial para una recuperación eficiente. | Fragmentos de texto y sus incrustaciones vectoriales correspondientes | Almacén vectorial y recuperador configurados |
| Modelo OpenAI | Proporciona el modelo de lenguaje central que impulsa el razonamiento y la generación de respuestas del agente RAG. | Configuración del modelo (ej., temperatura, ajustes de API) | Una instancia de modelo de lenguaje configurada |
| Agente RAG | El agente inteligente que recibe los requisitos del puesto, consulta la base de datos de CV (a través del recuperador) y genera una respuesta identificando las mejores coincidencias. | Mensaje de requisitos del puesto, modelo de lenguaje configurado, recuperador de la base de datos de CV | Un mensaje de respuesta con los resultados de CV coincidentes |
| Salida de Chat | Muestra la respuesta final del agente RAG en una interfaz de chat fácil de usar. | Mensaje de respuesta del agente | Mensaje de chat formateado para el usuario |
🧠 Notas
- El flujo de trabajo requiere credenciales de API válidas para OpenAI (para el modelo y las incrustaciones) y Google Drive para funcionar.
- También depende de una instancia de Astra DB configurada para el almacenamiento y recuperación vectorial.
- La calidad de las coincidencias depende de la claridad de los requisitos de entrada y de la exhaustividad de los CV en la carpeta de origen.
- El agente RAG está configurado con comprobaciones de calidad de respuesta y alucinación para mejorar la fiabilidad de las respuestas.