← Phase 5 / NOMIIQ AI Propriétaire
🤖 Module 26

NOMIIQ AI Propriétaire

Fine-tuning d'un LLM dédié voyage sur des millions de conversations NOMIIQ anonymisées, construction d'un Knowledge Graph de 200k+ lieux, et pipeline Graph RAG multi-sauts pour des réponses ultra-contextuelles. NOMIIQ devient son propre cerveau IA voyage.

LLM Fine-TuningKnowledge GraphGraph RAGNeo4jGPT-4o
16
User Stories
4 sem.
S36–S37
500k
Convs dataset
200k+
Lieux KG
User Stories — M26

📋 16 User Stories — IA Propriétaire

US26.1 En tant que système, je fine-tune GPT-4o sur 500k conversations voyages NOMIIQ anonymisées
US26.2 En tant que système, je mesure le BLEU/ROUGE et lance human eval avant de déployer le modèle
US26.3 En tant que système, je déploie le modèle fine-tuné sur un endpoint privé (OpenAI fine-tune API)
US26.4 En tant que système, j'active un fallback multi-LLM (Claude 3.5, Gemini 1.5 Pro) en cas d'indisponibilité
US26.5 En tant que système, je construis un Knowledge Graph Neo4j de 200k+ lieux avec leurs relations
US26.6 En tant que système, j'ingère automatiquement de nouvelles données toutes les 6h (delta sync)
US26.7 En tant qu'utilisateur, je reçois des réponses IA ultra-contextuelles (ex : "bistros gluten-free près du Louvre")
US26.8 En tant que système, je réalise des requêtes multi-sauts sur le graphe (Paris → cuisine → allergie)
US26.9 En tant qu'équipe data, je visualise le graphe avec Neo4j Bloom pour identifier les gaps
US26.10 En tant que système, je propose une API Knowledge Graph interne à tous les services NOMIIQ
US26.11 En tant que système, je trace chaque expérience ML avec Weights & Biases pour reproducibilité
US26.12 En tant que système, j'entraîne à la demande sur GPU via Modal.com (coût optimisé)
US26.13 En tant qu'utilisateur, le copilote NOMIIQ connaît mes voyages passés et me propose des variantes personnalisées
US26.14 En tant que système, je mets à jour incrémentalement le KG sans downtime (blue/green update)
US26.15 En tant que système, j'évalue automatiquement la qualité des réponses (LLM-as-judge pipeline)
US26.16 En tant qu'admin, je vois un dashboard des performances du modèle fine-tuné vs vanilla en production
Architecture

🧠 Pipeline Fine-Tuning & Knowledge Graph

🔄 Pipeline Fine-Tuning

1. Data Curation Export 500k conversations anonymisées (PII removed)
2. Formatting Conversion format JSONL OpenAI fine-tune (system/user/assistant)
3. Fine-Tune Job API OpenAI fine-tuning — modèle base : gpt-4o-mini (coût optimisé)
4. Evaluation BLEU, ROUGE-L, cosine similarity + human eval (100 prompts)
5. A/B Test 10% trafic → modèle fine-tuné, 90% → GPT-4o vanilla, 2 semaines
6. Full Rollout Si métriques ok → 100% trafic + monitoring continu W&B

🕸️ Knowledge Graph Neo4j

// Nœuds
(:Place {id, name, lat, lng, type})
(:Activity {id, name, category, price})
(:Cuisine {id, name, dietary_flags[]})
(:SafetyZone {id, score, updated_at})

// Relations
(:Place)-[:HAS_ACTIVITY]->(:Activity)
(:Place)-[:SERVES]->(:Cuisine)
(:Place)-[:LOCATED_IN]->(:SafetyZone)
(:Activity)-[:SIMILAR_TO]->(:Activity)
(:Place)-[:NEAR {dist_m}]->(:Place)
Stack Technique

🛠️ Technologies & Services

🤖 Modèles IA

OpenAI Fine-Tune API
Fine-tuning gpt-4o-mini sur dataset NOMIIQ
GPT-4o (fallback)
Vanilla pour requêtes hors domaine voyage
Anthropic Claude 3.5
Fallback secondaire + double-check hallucinations
Google Gemini 1.5 Pro
Fallback tertiaire + multimodal
OpenAI Embeddings v3
Vecteurs pour recherche sémantique RAG

🕸️ Knowledge Graph

Neo4j 5 (AuraDB)
Graphe cloud managé — 200k+ nœuds
LangChain GraphRAG
Requêtes Cypher auto-générées depuis NL
Apache Kafka
Ingestion delta sync toutes les 6h (topics lieux)
dbt (data build tool)
Transformations et modélisation données KG
Neo4j Bloom
Visualisation graphe pour équipe data

📊 MLOps

Weights & Biases
Tracking expériences — métriques, artefacts, runs
Modal.com
GPU à la demande — training serverless (A100)
Prometheus + Grafana
Monitoring modèle en prod (latence, erreurs)
LangSmith (LangChain)
Tracing et debug des pipelines RAG
GitHub Actions
CI/CD entraînement → évaluation → déploiement
Schémas Base de Données

🗄️ Nouvelles Tables M26

🗄️ ai_model_versions
id UUID PRIMARY KEY
model_name TEXT — ex: nomiiq-ft-v1.2
base_model TEXT — ex: gpt-4o-mini
dataset_size INT — nb conversations
bleu_score FLOAT
rouge_l_score FLOAT
human_eval_score FLOAT
is_production BOOLEAN DEFAULT false
deployed_at TIMESTAMPTZ
created_at TIMESTAMPTZ
🗄️ kg_sync_logs
id UUID PRIMARY KEY
sync_type ENUM(full, delta)
nodes_created INT
nodes_updated INT
relationships_created INT
duration_ms INT
source TEXT — ex: amadeus, foursquare
error_count INT DEFAULT 0
started_at TIMESTAMPTZ
completed_at TIMESTAMPTZ
API REST — M26

🔌 Endpoints IA & Knowledge Graph

POST /api/v1/ai/chat Requête copilote IA (fine-tuné + RAG) 🔒
GET /api/v1/ai/models Liste des versions de modèles déployés 🔒
GET /api/v1/ai/models/:id/metrics Métriques BLEU/ROUGE/human-eval 🔒
POST /api/v1/ai/models/:id/promote Promouvoir un modèle en production (admin) 🔒
GET /api/v1/ai/chat/history Historique conversations utilisateur (paginé) 🔒
DELETE /api/v1/ai/chat/history Effacer historique RGPD 🔒
GET /api/v1/kg/places/:id Nœud lieu avec toutes ses relations (KG) public
GET /api/v1/kg/places/:id/similar Lieux similaires (Graph traversal) public
POST /api/v1/kg/query Requête Cypher arbitraire (admin only) 🔒
GET /api/v1/kg/sync/status Statut dernier sync + prochaine exécution 🔒
POST /api/v1/kg/sync/trigger Déclencher un sync delta immédiat (admin) 🔒
GET /api/v1/ai/eval/runs Liste des runs d'évaluation W&B 🔒
Critères d'acceptation

✅ Definition of Done — M26

Fine-tuning job complété sur ≥ 500k conversations, BLEU ≥ 0.68, ROUGE-L ≥ 0.61
Human eval sur 100 prompts : score ≥ 4.5/5 par panel de 10 voyageurs expérimentés
Knowledge Graph Neo4j peuplé avec ≥ 200k nœuds, sync delta toutes les 6h confirmé
P95 latence Graph RAG < 800ms mesuré en load test (50 req/s)
Fallback multi-LLM opérationnel : bascule automatique en < 2s si endpoint KO
Dashboard W&B actif avec tracking de toutes les métriques de performance modèle
Taux hallucination destinations < 3% sur benchmark NOMIIQ-eval-set-100
API /kg interne documentée (OpenAPI 3.1) et consommée par au moins 3 services
KPIs M26

🎯 Objectifs de Succès

+18%
Satisfaction copilote vs GPT-4o vanilla
< 800ms
Latence P95 Graph RAG
200k+
Nœuds Knowledge Graph
< 3%
Taux hallucination destination
6h
Fréquence mise à jour KG
99.5%
Uptime endpoint fine-tuné
< €0.004
Coût moyen par requête copilote
4.8★
Note satisfaction copilote in-app