LITEOPSDOCS
Agents & SystèmesMatchmaker

Architecture

Architecture technique de Matchmaker : pipeline de matching, services IA, stockage vectoriel.

REF-SPEC/AG003-ARCH v1.0 — 2026-04-09

1. Vue d'ensemble

Matchmaker est conçu comme une API de matching avec un frontend de recherche. Le pipeline orchestre l'extraction de critères, la vectorisation, le calcul de scores multi-axes et la restitution avec radar explicable.

┌─────────────────────────────────────────────────┐
│              Client (React + Vite)               │
│  Recherche ◄── API REST ──► Services              │
│  Résultats       /api/*     externes              │
│  Radar                                            │
└───────────────────────┬─────────────────────────┘

         ┌──────────────┼──────────────┐
         │              │              │
    ┌────▼────┐   ┌─────▼─────┐  ┌────▼────┐
    │  SQLite │   │  OpenAI   │  │  Groq   │
    │ / Turso │   │ Embeddings│  │  LLM    │
    └─────────┘   └───────────┘  └─────────┘

                  ┌─────▼─────┐
                  │ Anthropic │
                  │ (fallback)│
                  └───────────┘

2. Pipeline de matching

Besoin utilisateur

    ├──▶ [1] Embedding du besoin (OpenAI text-embedding-3-small, 1536 dims)

    ├──▶ [2] Extraction de critères (Groq / Claude / regex fallback)
    │         → compétences[], secteurs[], typeMission, motsCles[]

    └──▶ [3] Évaluation de chaque ressource active

              ├──▶ [A] Similarité sémantique (cosinus profil vs besoin)     × 0.40
              ├──▶ [B] Compétences matchées (overlap + pondération niveau)  × 0.25
              ├──▶ [C] Références sectorielles (profil + missions passées)  × 0.15
              ├──▶ [D] Similarité de missions (cosinus références vs besoin) × 0.10
              └──▶ [E] Disponibilité (capacité libre sur la période)        × 0.10


              Score global = A + B + C + D + E


              Tri décroissant → Persistance → Résultats + Radar

3. API routes

MéthodeRouteRôle
POST/api/matching/searchRecherche par texte, retourne résultats scorés
POST/api/matching/uploadRecherche par document uploadé
GET/api/matching/history50 dernières recherches avec scores
GET/api/matching/request/:idDétail d'une recherche passée

4. Frontend — Structure

ComposantRôle
MatchingPageClientOrchestrateur principal (onglets recherche/historique)
MatchingResultsAffichage des résultats avec cards et radar
MatchingUploaderUpload de documents (PDF, DOCX, PPTX, TXT)
ScoreRadarDiagramme radar Recharts à 5 axes

5. Services externes

ServiceUsageFallback
OpenAIEmbeddings text-embedding-3-small (1536 dims)
GroqExtraction de critères (Llama 3.3 70B, gratuit)Claude
AnthropicFallback extraction de critères

6. Contrôle d'accès

MesureImplémentation
Rôle minimumAssocié ou liste d'emails autorisés
Rate limiting10 requêtes/minute par utilisateur
RedirectionUtilisateurs non autorisés redirigés vers l'accueil

On this page