En Q2BSTUDIO transformamos la forma de encontrar talento aplicando una búsqueda semántica potenciada por inteligencia artificial y diseñada para empresas que necesitan soluciones como aplicaciones a medida y software a medida.

Resumen ejecutivo: describimos cómo construimos un sistema de matching semántico de talento que combina MongoDB Atlas Vector Search con embeddings de OpenAI usando text-embedding-3-small y una API en Node.js con TypeScript. El objetivo fue sustituir el antiguo enfoque basado en palabras clave por uno que entienda el significado de descripciones de puestos y habilidades de los candidatos.

Problema inicial: el matching por palabras clave devolvía muchos falsos positivos, por ejemplo un puesto llamado Frontend Developer no encontraba perfiles relevantes si no aparecía la frase exacta, las búsquedas tardaban alrededor de 12 segundos y la experiencia era pobre. Con la solución semántica logramos tiempos de respuesta de aproximadamente 1 segundo y resultados mucho más precisos.

Arquitectura general: generamos embeddings para requisitos de puesto y perfiles de usuario, guardamos embeddings de perfil y embeddings precomputados de habilidades en colecciones dedicadas en MongoDB, creamos un índice vectorial en Atlas, ejecutamos búsquedas vectoriales con cosine similarity y combinamos los resultados con datos de perfil para aplicar filtros y ranking final.

Generación de embeddings: usamos text-embedding-3-small para transformar en vectores de 1536 dimensiones la información relevante de un perfil profesional y de los requisitos del puesto, incluyendo título, habilidades, nivel de experiencia, duración y notas adicionales. Las habilidades se normalizan antes de crear el texto que alimenta el modelo.

Almacenamiento: guardamos los embeddings de usuario en una colección userSkills junto a la lista de habilidades agregadas y metadatos de versión del embedding. Además mantenemos una colección SkillEmbedding con embeddings precomputados por habilidad para evitar cálculos repetidos y mejorar la latencia.

Índice vectorial en MongoDB Atlas: creamos un índice de tipo vector apuntando al campo embedding con numDimensions 1536 y similarity cosine. Esto permitió buscar por similitud sin necesidad de un datastore vectorial externo, combinando filtros y búsqueda vectorial en pipelines de agregación.

Búsqueda y pipeline: al buscar candidatos generamos un embedding del puesto, ejecutamos $vectorSearch para obtener cientos de candidatos por similitud, hacemos un lookup para traer detalles del perfil y aplicamos filtros como disponibilidad, tipo de perfil y texto de búsqueda después del lookup, ya que Vector Search solo filtra sobre la misma colección donde está el vector.

Ranking y clasificación por fit: ordenamos por score vectorial y asignamos etiquetas percentiles para dar contexto al resultado. Por ejemplo High Fit para el 10 superior, Good Fit para el siguiente 20, Moderate Fit para el siguiente 30 y Low Fit para el resto que supere un umbral mínimo. Los candidatos no aptos se descartan.

Top 20 habilidades relevantes: para cada candidato mostramos como máximo 20 habilidades ordenadas por relevancia semántica frente a los requisitos del puesto. Utilizamos embeddings de habilidades precomputados y priorizamos primero las coincidencias exactas y luego la similitud semántica, calculando cosine similarity para ordenar.

Optimización de rendimiento: precomputamos y cacheamos embeddings de habilidades, actualizamos embeddings de perfil solo cuando el usuario cambia sus skills, evitamos rankear habilidades de todos los candidatos y lo hacemos solo sobre los que van a mostrarse, y movimos filtros de perfil fuera del $vectorSearch para aprovechar al máximo la velocidad del índice.

Resultados y métricas: pasamos de tiempos de respuesta de ~12s a ~1s, eliminamos la mayoría de falsos positivos del enfoque por palabras clave y mejoramos drásticamente la relevancia semántica. La arquitectura se unificó en torno a un motor vectorial integrado en MongoDB Atlas, sin necesidad de infraestructura vectorial adicional.

Beneficios para clientes: este enfoque es ideal para empresas que buscan potenciar procesos de selección con IA, integrar capacidades de agentes IA o mejorar sistemas de recursos humanos con inteligencia de negocio. En Q2BSTUDIO aplicamos esta experiencia a servicios de desarrollo a medida, incluyendo desarrollo de aplicaciones a medida y soluciones de inteligencia artificial. También ofrecemos servicios de ciberseguridad para proteger los datos sensibles del proceso de selección y despliegues escalables en cloud, ya sea con servicios cloud aws y azure o integraciones de BI y Power BI para análisis post selección.

Por qué elegirnos: como empresa de desarrollo de software con foco en inteligencia artificial, ciberseguridad y servicios cloud, en Q2BSTUDIO diseñamos soluciones personalizadas que integran agentes IA, servicios inteligencia de negocio y automatización para mejorar la eficiencia y la calidad del talento contratado. Si su organización quiere implementar IA para empresas o construir un motor de matching semántico, podemos asesorar y crear la solución completa desde el diseño hasta la puesta en producción, incluyendo integraciones con herramientas como Power BI y pipelines seguros en cloud. Conozca más sobre nuestros proyectos de inteligencia artificial en nuestros servicios de inteligencia artificial.

Conclusión: la adopción de embeddings y búsqueda vectorial transforma los sistemas tradicionales de selección en motores semánticos rápidos y precisos. Q2BSTUDIO ofrece la experiencia técnica y de negocio necesaria para llevar estas capacidades a producción, apoyando a sus clientes en software a medida, agentes IA, ciberseguridad y soluciones cloud integradas.