Glossaire
Glossaire SalamBot¶
Objectif¶
Ce glossaire définit les termes techniques, métiers et linguistiques utilisés dans l'écosystème SalamBot. Destiné aux équipes Produit, Tech et Qualité pour assurer une compréhension commune des concepts clés.
Conventions¶
- Casing :
snake_casepour les identifiants techniques - Timestamps : Format RFC3339 (ISO 8601 avec timezone)
- Locales : Standard BCP-47 (ex:
fr-MA,ar-MA) - Unités temporelles : Millisecondes (ms) par défaut
- Synonymes : Variantes Darija/AR mentionnées quand pertinentes
Glossaire¶
A/B testing¶
Définition : Méthode d'expérimentation comparant deux versions (A/B) d'une fonctionnalité pour mesurer l'impact sur les métriques métier.
Réf : Qualité — Évaluation & Datasets
ADR (Architecture Decision Record)¶
Définition : Document structuré capturant une décision architecturale importante, son contexte, les alternatives considérées et les conséquences.
Réf : Concepts — Architecture
Admin & Branding¶
Définition : Interface d'administration permettant la personnalisation visuelle (logos, couleurs, messages) et la configuration des politiques par tenant.
Réf : Concepts — Composants
API Gateway¶
Définition : Point d'entrée unique gérant l'authentification, le routage, la limitation de débit et l'observabilité pour tous les services backend.
Réf : Concepts — Architecture
Arabizi¶
Définition : Écriture de l'arabe ou du darija en caractères latins (ex: "salam" pour سلام).
Synonymes/équivalents : Franco-arabe, Arabe romanisé
BCP-47 (locale)¶
Définition : Standard définissant les codes de langue et région (ex: fr-MA
pour français du Maroc, ar-MA pour arabe marocain).
Exemple : fr-MA, ar-MA, en-US
Cache (response cache)¶
Définition : Mécanisme de mise en cache des réponses LLM basé sur la similarité sémantique des requêtes pour optimiser les performances.
Réf : Concepts — Composants
Canary release¶
Définition : Stratégie de déploiement progressif exposant une nouvelle version à un sous-ensemble d'utilisateurs avant généralisation.
Channel¶
Définition : Canal de communication par lequel l'utilisateur interagit avec SalamBot.
Valeurs : facebook, whatsapp, webchat, email, system, admin,
chrome
Réf : API — Référence v1
CNDP (loi 09-08)¶
Définition : Conseil National de Protection des Données Personnelles, autorité marocaine de protection des données selon la loi 09-08.
Réf : Welcome — Principes
Code-switching¶
Définition : Alternance linguistique dans une même conversation (ex: français ↔ darija ↔ arabe standard).
Confidence (score)¶
Définition : Score de confiance [0,1] indiquant la certitude du modèle dans sa prédiction (intent, entité, sentiment).
Context window¶
Définition : Nombre maximum de tokens qu'un modèle LLM peut traiter simultanément (historique + prompt + réponse).
Correlation_id¶
Définition : Identifiant unique permettant de tracer une requête utilisateur à travers tous les services de l'architecture.
Réf : Architecture — Flux & Séquences
Darija¶
Définition : Dialecte arabe marocain, langue vernaculaire du Maroc mêlant arabe, berbère, français et espagnol.
Synonymes/équivalents : Arabe marocain, Dialecte marocain
Embeddings¶
Définition : Représentation vectorielle dense d'un texte dans un espace multidimensionnel, utilisée pour la recherche sémantique.
Réf : Concepts — Composants
Envelope¶
Définition : Structure JSON standardisée encapsulant tous les échanges entre clients et API SalamBot.
Exemple :
{
"schema_version": "1.0",
"tenant": "demo-tenant",
"channel": "webchat",
"message_id": "msg_123456789",
"correlation_id": "corr_abcdef123",
"timestamp": "2025-01-15T10:30:00Z",
"locale": "fr-MA",
"data": {
"message": "Salam, comment ça va?",
"user_id": "user_789"
}
}
Réf : API — Référence v1
Escalade/Ticketing¶
Définition : Mécanisme de transfert vers un agent humain quand le bot ne peut résoudre la demande utilisateur.
ETL/Indexation (KB)¶
Définition : Processus d'extraction, transformation et chargement des documents dans la base de connaissances avec génération d'embeddings.
Réf : Concepts — Composants
Fallback (unknown intent / no-hit)¶
Définition : Réponse par défaut quand le système ne comprend pas l'intention utilisateur ou ne trouve pas de réponse pertinente.
Fr-MA (locale)¶
Définition : Code BCP-47 pour le français du Maroc, incluant les spécificités linguistiques et culturelles locales.
Guardrails (sécurité)¶
Définition : Mécanismes de protection empêchant la génération de contenu inapproprié, biaisé ou dangereux par les modèles LLM.
Réf : Welcome — Principes
Idempotency-Key¶
Définition : En-tête HTTP garantissant qu'une requête identique produit le même résultat, évitant les doublons en cas de retry.
Réf : API — Référence v1
Incident/Broadcast¶
Définition : Système de notification des incidents techniques et diffusion de messages d'information aux utilisateurs.
Intent / Entities / Sentiment / Urgency (NLU)¶
Définition : Composants de compréhension du langage naturel : intention utilisateur, entités nommées, sentiment et niveau d'urgence.
Réf : Concepts — Composants
Jaeger/Tempo (traces)¶
Définition : Systèmes de tracing distribué permettant de suivre les requêtes à travers les microservices.
Réf : Concepts — Architecture
Lang detection¶
Définition : Détection automatique de la langue d'un message utilisateur (français, arabe, darija, anglais).
LLM Router¶
Définition : Service de routage intelligent dirigeant les requêtes vers le modèle LLM optimal selon le type de tâche et la charge.
Réf : Concepts — Composants
MinIO (object storage)¶
Définition : Solution de stockage d'objets compatible S3 utilisée pour les fichiers, documents et assets de SalamBot.
MRR@k / nDCG@k / recall@k (RAG)¶
Définition : Métriques d'évaluation RAG : Mean Reciprocal Rank, Normalized Discounted Cumulative Gain, et rappel aux k premiers résultats.
Réf : Qualité — Évaluation & Datasets
NLU¶
Définition : Natural Language Understanding - compréhension automatique du langage naturel (intentions, entités, sentiment).
Réf : Concepts — Composants
No-hit (RAG)¶
Définition : Situation où le système de recherche ne trouve aucun document pertinent pour répondre à la requête utilisateur.
Observabilité (OpenTelemetry: trace_id, span_id)¶
Définition : Capacité à comprendre l'état interne d'un système via logs, métriques et traces distribuées.
Réf : Concepts — Architecture
OIDC/JWT (Bearer)¶
Définition : OpenID Connect avec tokens JWT pour l'authentification et autorisation des API.
Exemple : Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
PII (masking/redaction, retention)¶
Définition : Données personnelles identifiables nécessitant masquage, anonymisation et gestion de la rétention selon RGPD/CNDP.
Réf : Welcome — Principes
Policy (tenant policies)¶
Définition : Règles de configuration par tenant définissant les comportements, limites et permissions spécifiques.
PostgreSQL¶
Définition : Base de données relationnelle principale stockant les métadonnées, configurations et historiques de SalamBot.
Prometheus (SLI/SLO/SLA, p95/p99)¶
Définition : Système de monitoring collectant les métriques de performance et disponibilité (percentiles 95 et 99).
Réf : Concepts — Architecture
Prompt / Prompt template¶
Définition : Instructions textuelles données aux modèles LLM, souvent sous forme de templates avec variables dynamiques.
Qdrant / pgvector (Vector DB)¶
Définition : Bases de données vectorielles stockant les embeddings pour la recherche sémantique RAG.
Réf : Concepts — Composants
RAG / Retrieval / Re-ranking¶
Définition : Retrieval-Augmented Generation - génération de réponses enrichie par recherche documentaire et re-classement des résultats.
Réf : Concepts — Composants
RAGAS (metrics)¶
Définition : Framework d'évaluation automatique des systèmes RAG (faithfulness, answer relevancy, context precision).
Réf : Qualité — Évaluation & Datasets
Rate limiting (X-RateLimit-*)¶
Définition : Limitation du nombre de requêtes par unité de temps avec en-têtes informatifs.
Exemple :
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1642694400
Retry-After: 60
Réf : API — Référence v1
Retry-After¶
Définition : En-tête HTTP indiquant le délai d'attente avant de pouvoir refaire une requête (en secondes).
RGPD¶
Définition : Règlement Général sur la Protection des Données, réglementation européenne sur la protection des données personnelles.
Réf : Welcome — Principes
Session / session_id¶
Définition : Contexte conversationnel maintenu entre plusieurs échanges avec un utilisateur, identifié par un ID unique.
SLA / SLO / SLI¶
Définition : Service Level Agreement (contrat), Objective (objectif) et Indicator (indicateur) définissant les niveaux de service.
Ne pas confondre avec : SLO (objectif interne) vs SLA (engagement contractuel client)
SSE (Server-Sent Events) / streaming / TTFB¶
Définition : Protocole de streaming HTTP permettant l'envoi de réponses LLM en temps réel, optimisant le Time To First Byte.
Exemple :
event: token
data: {"content": "Bonjour"}
event: token
data: {"content": " comment"}
event: done
data: {"finish_reason": "stop"}
Réf : API — Référence v1
Token (LLM tokens, tokens/sec)¶
Définition : Unité de traitement des modèles LLM (mots, sous-mots ou caractères) et métrique de débit de génération.
vLLM / Ollama¶
Définition : Frameworks d'inférence optimisés pour le déploiement et l'exécution efficace des modèles LLM.
Webchat¶
Définition : Interface de chat web intégrée permettant aux utilisateurs d'interagir avec SalamBot depuis un site web.
Réf : Concepts — Composants
Webhook signature (X-Hub-Signature-256)¶
Définition : Signature cryptographique HMAC-SHA256 validant l'authenticité des webhooks entrants.
Exemple : Vérification avec tolérance d'horodatage ±5 minutes pour éviter les attaques par rejeu.
Réf : API — Référence v1
WhatsApp Business / Facebook Messenger¶
Définition : Canaux de messagerie sociale intégrés à SalamBot via les APIs officielles Meta.
Abréviations & Acronymes¶
| Abréviation | Signification |
|---|---|
| ADR | Architecture Decision Record |
| API | Application Programming Interface |
| BCP | Best Current Practice |
| CNDP | Conseil National de Protection des Données Personnelles |
| ETL | Extract, Transform, Load |
| HTTP | HyperText Transfer Protocol |
| JWT | JSON Web Token |
| LLM | Large Language Model |
| NLU | Natural Language Understanding |
| OIDC | OpenID Connect |
| PII | Personally Identifiable Information |
| RAG | Retrieval-Augmented Generation |
| RGPD | Règlement Général sur la Protection des Données |
| SLA | Service Level Agreement |
| SLI | Service Level Indicator |
| SLO | Service Level Objective |
| SSE | Server-Sent Events |
| TTFB | Time To First Byte |