Toutes les réalisations

Qortex, une plateforme retail pour petits commerçants aux Émirats arabes unis · Plateforme retail · Émirats arabes unis

Transformer des notes vocales WhatsApp en commandes structurées

Pendant le COVID, les épiceries de quartier des Émirats se sont mises à prendre les commandes par note vocale WhatsApp. L'habitude est restée. Pour Qortex, nous avons construit le moteur qui transforme ces notes vocales désordonnées en commandes propres et structurées.

Commande vocaleTranscription IARapprochement produits (RAG)
Une épicerie de quartier (bakkala) aux Émirats, ses rayons et sa vitrine réfrigérée garnis de boissons, snacks et produits frais.

C'est ce moteur qui rend cette habitude gérable à grande échelle. Pour Qortex, une plateforme retail destinée aux petits commerçants, nous avons construit la brique de commande vocale : une note vocale WhatsApp en langage libre devient une commande structurée, rapprochée du bon produit du catalogue du commerçant, même quand les mots sont ambigus et que les messages affluent.

Le problème

Quand le COVID a frappé les Émirats, les clients se sont mis à commander auprès de leur bakkala (l'épicerie du quartier) par note vocale WhatsApp plutôt qu'en se déplaçant. Une fois les restrictions levées, le comportement est resté : la note vocale était devenue le mode de commande par défaut, et le volume n'est jamais redescendu.

Chaque commande arrive en parole libre : "envoie-moi deux packs d'eau et une boîte de thé", souvent répartie sur plusieurs notes vocales et messages. Transformer cela en commande propre à la main est lent et source d'erreurs : écouter, interpréter, associer chaque article à la bonne référence catalogue, obtenir les bonnes quantités, toute la journée.

Pire, les mots désignent rarement un produit précis. "Envoie-moi du lait" : entier ou demi-écrémé ? Quelle marque, quel format ? La bonne réponse ne se trouve presque jamais dans le message : elle est le plus souvent dans le cadencier du client, pas dans une commande isolée. Et il arrive que l'article exact soit en rupture : il faut alors proposer un substitut.

Et cela doit tenir en conditions réelles : des messages qui arrivent plus vite qu'ils ne se traitent, des situations de concurrence entre messages d'une même conversation, un ordre d'arrivée non garanti, et un catalogue et un stock en direct différents pour chaque commerçant.

Notre approche

Nous avons construit un pipeline de commande vocale. Whisper transcrit l'audio (les transcriptions tournent en parallèle par conversation), un classifieur extrait les produits et les quantités du texte en langage naturel, et le RAG rapproche chaque article du catalogue propre au commerçant.

Quand une demande est ambiguë, nous la résolvons comme le ferait un bon commis : nous classons les produits probables à partir du cadencier du client, nous posons une brève question de clarification quand la confiance est faible, et nous proposons un substitut pertinent quand l'article exact est en rupture, pour que la commande aboutisse malgré tout.

Le plus dur, c'est la mise en commande, pas la transcription. Une file de tâches Redis traite les messages de chaque conversation en séquence stricte pour éviter les situations de concurrence, regroupe les messages consécutifs en une seule commande, et garde l'appariement cohérent avec le stock en direct du commerçant : plusieurs notes vocales deviennent une commande correcte plutôt que plusieurs commandes contradictoires.

Le système est écrit en Go, avec un pool de connexions gRPC vers les services d'IA, et tourne en production sur Cloud Run, avec une gestion structurée des erreurs et une supervision Sentry.

Résultats

30 à 47 %

plus rapide sur la transcription, grâce au traitement audio en parallèle

Voix + texte

les messages WhatsApp deviennent automatiquement des commandes structurées

Catalogue par commerçant

chaque commande est rapprochée du catalogue propre à chaque commerçant

Un tableur ou un système vieillissant qui vous freine ?

Envoyez-nous un exemple. Nous vous montrons ce que nous pouvons en faire.

purple linear waves