Aller au contenu

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_case pour 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

Références croisées