HR Tech Architecture RAG Neo4j Knowledge Graph Multi-LLM

Hunel : Intelligence
IA pour le Recrutement

Création d'un système RAG de production qui transforme la façon dont les recruteurs découvrent et matchent les candidats — avec orchestration multi-LLM, recherche sémantique hybride et workflows agentiques.

40+
Sources de données
92%
Précision matching
<200ms
Latence recherche
70%
Temps screening économisé

Stack IA en Production

Knowledge graph Neo4j pour relations compétences/rôles
RAG avec retrieval hybride (dense + sparse + graph)
Orchestration multi-LLM avec routage intelligent
Matching inspiré des réseaux de neurones graphiques
Embeddings multi-vecteurs par entité
Inférence hébergée UE conforme RGPD
Phase de scale — T2 2025
Publication autorisée : Cette étude de cas a été revue et approuvée par Hunel. Les spécifications techniques, détails d'infrastructure et noms de services tiers ont été généralisés pour protéger les systèmes propriétaires.
Le problème IA

Le matching par mots-clés est fondamentalement cassé

La technologie de recrutement traditionnelle repose sur le matching par mots-clés — une approche fondamentalement cassée. « Développeur Python » ne matche pas « Ingénieur Logiciel (Python) ». Les CV scannés sont invisibles. Les relations entre compétences sont ignorées.

Hunel avait besoin d'un système IA qui comprend le recrutement comme un humain — mais à l'échelle et à la vitesse d'une machine. Pas un énième wrapper de chatbot. Un vrai système RAG de production capable de :

  • Ingérer et indexer des données de 40+ job boards et services d'emploi nationaux
  • Traiter n'importe quel format de CV — texte, scanné, créatif/infographique
  • Comprendre les relations sémantiques entre compétences, postes et trajectoires de carrière
  • Expliquer pourquoi un candidat matche, pas juste retourner un score

Mismatch mots-clés

Candidats qualifiés ratés par le matching exact

30% des CV invisibles

Les documents scannés ne sont pas recherchables

Pas de relations compétences

« React » ne remonte pas les experts « Frontend »

Scoring opaque

Aucune explication sur pourquoi un candidat matche

La solution

Ce que nous avons livré

92%
Précision matching
vs décisions recruteurs
70%
Réduction screening
temps gagné par poste
<15s
Traitement CV
OCR inclus
3x
Débit
candidats qualifiés

Recherche sémantique hybride

Retrieval dense + sparse + graph avec reranking cross-encoder. Pas juste des vecteurs — une vraie compréhension des relations entre compétences.

Matching IA explicable

Chaque match vient avec un raisonnement lisible : points forts, lacunes, deal-breakers et angles d'approche recommandés.

Workflows agentiques

Agents autonomes avec tool-calling qui recherchent, scorent, enrichissent et rédigent des approches personnalisées — avec validation humaine.

Traitement CV multi-modal

Texte, scanné, créatif/infographique — tout est traité avec OCR, Vision IA et extraction structurée. Aucun CV n'est invisible.

Plongée technique

L'architecture RAG

Un système de retrieval de production qui va bien au-delà de la recherche vectorielle basique

Pipeline de retrieval hybride

Étape 1 : Retrieval parallèle
Dense (sémantique)
Sparse (mots-clés)
Graph (relations)
Étape 2 : Fusion
Reciprocal Rank Fusion
Déduplication
Préservation diversité
Étape 3 : Reranking
Cross-encoder
Attention profonde
Haute précision
Étape 4 : Raisonnement LLM
Scoring match
Forces/lacunes
Angles d'approche

Embeddings multi-vecteurs

Pas un embedding par CV — plusieurs vecteurs pour compétences, expérience, trajectoire et job idéal. Match sur l'expérience spécifique, pas juste le profil global.

Orchestration multi-LLM

Routage intelligent par complexité de tâche, latence et exigences de confidentialité. LLM raisonnement pour matching complexe, LLM rapide pour autocomplétion, LLM privacy pour données sensibles.

Knowledge Graph Neo4j

Approche réseau de neurones graphiques : compétences, rôles, entreprises et trajectoires comme nœuds. Relations encodant « mène à », « requiert », « similaire à ». Traversée du graph pour étendre les requêtes et inférer des matchs implicites.

Traitement Vision IA

OCR avec détection de langue. Prétraitement d'images. Extraction CV créatifs. Analyse de screenshots portfolios. Aucun type de document invisible.

Extraction structurée

Parsing LLM vers schéma JSON. Expérience, compétences, réalisations, niveau de séniorité — tout inféré et structuré à partir du texte brut.

Inférence conforme RGPD

Options LLM hébergées UE pour données personnelles sensibles. Contrôles de résidence des données. Routage automatique des données personnelles vers endpoints conformes.

Intelligence graphique

Knowledge Graph Neo4j

Pourquoi les vecteurs seuls ne suffisent pas — et comment les relations de graphe permettent une vraie compréhension sémantique

Le problème de la recherche vectorielle pure

La similarité vectorielle trouve « Développeur Python » ≈ « Ingénieur Logiciel » — mais elle ne comprend pas que Python → Django → Web Backend → API Design est une progression de compétences. Elle ne sait pas que quelqu'un qui a fait Django pendant 5 ans connaît probablement les APIs REST, même s'il ne l'a jamais listé. C'est là qu'intervient le graphe.

Approche vecteurs seuls

« Développeur React » et « Ingénieur Frontend » sont des vecteurs similaires, mais on rate que React → TypeScript → Testing Library est un cluster de compétences commun qui implique une expertise frontend plus profonde.

Approche enrichie par graphe

Traverser depuis le nœud « React » vers les compétences connectées. Pondérer par fréquence de co-occurrence. Étendre la recherche pour inclure les compétences implicites. Scorer selon la centralité du graphe.

Types de nœuds et relations du graphe

C
Compétences
Python, React, AWS...
R
Rôles
Dev Backend, Tech Lead...
E
Entreprises
Type, taille, secteur...
T
Trajectoires
Parcours carrière, progressions...
// Neo4j Cypher — Étendre requête compétence avec traversée de graphe
MATCH
(skill:Skill {name: "Python"})
-[:SOUVENT_UTILISE_AVEC|MENE_A|REQUIERT*1..2]->
(related:Skill)
WHERE
related.category IN ["backend", "data", "devops"]
RETURN
related.name, count(*) as weight
ORDER BY
weight DESC

Matching inspiré des réseaux de neurones graphiques

Message Passing

Les compétences « propagent » leur pertinence aux voisins. Un signal Python fort booste les nœuds Django, FastAPI, Flask dans le profil du candidat.

Centralité de graphe

Les candidats avec compétences en position « hub » (haute connectivité) sont plus polyvalents. Scoring style PageRank pour identifier les profils en T.

Analyse de chemins

Trajectoire de carrière = chemin à travers les nœuds de rôles. Prédire le prochain rôle probable. Identifier les transitions atypiques mais réussies.

Technologie

La stack de production

Construite pour le scale dès le premier jour — pas un prototype à reconstruire

IA & Machine Learning

Gateway Multi-LLM Neo4j Knowledge Graph Vector Database Cross-Encoder Reranking Embeddings multilingues

Backend

Node.js TypeScript Express Workers Async Message Queue

Couche Data

PostgreSQL Redis Object Storage Moteur de recherche

Infrastructure

Docker Architecture dual-container Séparation API + Worker
Défis de production

Les parties difficiles

Les problèmes qui séparent le pays des POC de la réalité de la production

Intitulés de poste subjectifs et ambiguïté sémantique

Les intitulés de poste sont subjectifs et incohérents. « Tech Lead » dans une startup ≠ « Tech Lead » dans une banque. « Développeur Full-Stack » peut signifier React+Node ou PHP+jQuery. Impossible de matcher sur les titres — il faut comprendre le contexte derrière.

Solution : Approche contexte-first. Extraire les responsabilités réelles, technologies, taille d'équipe et contexte entreprise depuis les descriptions d'expérience. Mapper vers une taxonomie normalisée de compétences/rôles (ESCO) avant le matching. Le match se fait sur ce qu'ils ont fait, pas ce que leur titre disait.

Hallucinations et calibration de confiance

Les LLMs inventent des choses avec assurance. Un recruteur qui envoie une approche basée sur une expérience hallucinée détruit la confiance instantanément.

Solution : Vérification multi-étapes. Le RAG ancre toutes les affirmations dans les documents récupérés. Scoring de confiance avec incertitude explicite. « Impossible à vérifier » est une réponse valide. Vérification croisée des données extraites contre les documents sources.

Limites de fenêtre de contexte en production

Le matching nécessite de comparer les exigences d'un poste contre plusieurs candidats, chacun avec des CV de plusieurs pages. Les fenêtres de contexte se remplissent vite. Le chunking détruit la cohérence sémantique.

Solution : Représentation multi-vecteurs — embeddings séparés pour compétences, expérience, trajectoire. Résumé hiérarchique pour les comparaisons lourdes en contexte. Chunking intelligent qui respecte la structure du document (sections, pas découpes arbitraires).

Compromis latence vs précision

Les utilisateurs attendent l'autocomplétion en <500ms. Mais un matching de qualité nécessite du reranking cross-encoder et du raisonnement LLM. Impossible d'avoir les deux avec une implémentation naïve.

Solution : Routage multi-LLM. Modèle rapide pour suggestions temps réel. Modèle raisonnement pour scoring final. Révélation progressive — afficher les résultats rapides immédiatement, affiner en arrière-plan. Cache des patterns communs.

RGPD et résidence des données

Les CV contiennent des données personnelles sensibles. Les réglementations européennes exigent des contrôles de résidence des données. La plupart des fournisseurs LLM sont basés aux US. La conformité n'est pas optionnelle.

Solution : Options d'inférence hébergées UE dans le gateway LLM. Routage automatique des requêtes à forte composante données personnelles vers des endpoints conformes. Classification des données à l'ingestion. Piste d'audit pour toutes les décisions IA.

Innovations clés

Ce qui a fait la différence

1

Pipeline Contexte → Mapping → Match

Les intitulés de poste ne valent rien. « Tech Lead » veut dire des choses différentes partout. Donc on extrait d'abord le contexte (responsabilités, taille équipe, techno), on mappe vers une taxonomie normalisée (ESCO), puis on matche. Jamais de saut direct à la similarité sans comprendre.

2

Représentation CV multi-vecteurs

Au lieu d'un embedding par candidat, on génère plusieurs vecteurs capturant différents aspects : compétences, expérience, trajectoire, job idéal. « Montre-moi les candidats qui ONT FAIT de la fintech » vs « connaissent la fintech ».

3

Retrieval hybride avec reranking

Combinaison recherche dense (sémantique), sparse (mots-clés) et graph (relationnelle) avec reranking cross-encoder. Les vecteurs seuls ratent les matchs exacts. Les mots-clés seuls ratent la sémantique. On utilise les deux.

4

Matching IA explicable

Chaque score de match vient avec un raisonnement lisible — forces, lacunes, deal-breakers et angles d'approche recommandés. Les recruteurs peuvent faire confiance et vérifier.

Leçon clé

Ce que j'ai appris

« Le plus difficile n'était pas le LLM — c'était de comprendre que les intitulés de poste sont insignifiants sans contexte. Un « Développeur Senior » dans une startup de 5 personnes a une expérience complètement différente de celui d'une banque. La percée : contexte d'abord, puis mapping vers taxonomie, puis matching. On ne peut pas sauter directement à la similarité vectorielle. Le LLM c'est 20% du travail. Les 80% restants c'est comprendre le domaine assez bien pour savoir ce qui compte vraiment. »

Vous construisez un système IA ?

Que ce soit du RAG, de l'orchestration multi-LLM, des workflows agentiques ou de la recherche sémantique — j'ai livré des systèmes de production qui gèrent les parties difficiles. Parlons de votre projet.

Parlons de votre projet IA
Publication autorisée : Cette étude de cas a été préparée avec le consentement explicite de Hunel. Les spécifications techniques, détails d'infrastructure, noms de services tiers et autres informations sensibles ont été généralisées ou omises pour protéger les systèmes propriétaires et la posture de sécurité.
Disponible maintenant

Passons aux choses sérieuses

30 minutes d'échange, sans engagement. On parle de votre projet, pas de mes services.

Plus rapide
50%
Moins cher
100%
Satisfaction
Sans engagement
Réponse sous 24h
Appel découverte offert

Startups, scale-ups et grands comptes en France et à l'international.