Vue d’ensemble du système
OpenModex se place entre votre application et les fournisseurs de modèles d’IA. Chaque requête passe par un pipeline de middleware intelligent avant d’atteindre le fournisseur optimal.Flux de requête
1
Authentification
Votre clé API est validée et associée à votre compte, votre équipe et vos limites de débit.
2
Limitation de débit
La requête est vérifiée par rapport aux limites de débit de votre niveau (par clé, par minute). Utilise des ensembles triés Redis pour une application précise par fenêtre glissante.
3
Vérification du cache
Si la mise en cache des prompts est activée, OpenModex vérifie l’existence d’une réponse en cache correspondant exactement. Les résultats en cache sont retournés instantanément sans coût fournisseur.
4
Décision de routage
Le moteur de routage sélectionne le fournisseur optimal en fonction de votre stratégie (coût, latence ou qualité), de l’état de santé actuel du fournisseur et de la configuration de basculement.
5
Requête au fournisseur
La requête est traduite dans le format du fournisseur cible et transmise. OpenModex prend en charge le streaming SSE en temps réel.
6
Réponse + Métadonnées
La réponse du fournisseur est normalisée au format OpenAI, enrichie des métadonnées OpenModex (informations de routage, coût, latence) et renvoyée à votre application.
Composants principaux
Passerelle API
- API REST compatible OpenAI — remplacement direct de l’API OpenAI
- Streaming SSE — livraison en temps réel token par token
- Idempotence — nouvelles tentatives sûres avec l’en-tête
Idempotency-Key(TTL de 24h)
Moteur de routage
Le moteur de routage maintient une vue en temps réel de l’état de santé et des performances des fournisseurs :Disjoncteur
L’état de santé des fournisseurs est surveillé automatiquement :- Fermé — les requêtes sont routées normalement
- Semi-ouvert — après des échecs consécutifs, le trafic est réduit
- Ouvert — le fournisseur est temporairement retiré du pool de routage
- Récupération — des sondes de santé périodiques rétablissent le fournisseur
Adaptateurs de fournisseurs
Chaque fournisseur d’IA est encapsulé dans un adaptateur standardisé qui gère :- La traduction du format de requête (format OpenAI → format natif du fournisseur)
- La normalisation des réponses (natif du fournisseur → format OpenAI)
- Le mappage des erreurs vers des codes d’erreur cohérents
- La traduction du protocole de streaming
Couche de cache
- Cache par correspondance exacte — hash de (modèle + messages + paramètres)
- TTL configurable — de 60s à 24h par requête
- Basé sur Redis — recherches en cache en moins d’une milliseconde
- Économies — les réponses en cache sont facturées à environ 50 % du tarif d’entrée, sans coût de sortie
Pipeline de facturation
- Chaque requête émet un événement de facturation vers Kafka
- Les événements sont consommés de manière asynchrone et persistés
- Les soldes de compte sont mis à jour de manière atomique via des scripts Redis Lua
- Les analyses sont envoyées vers Apache Doris pour les tableaux de bord et les rapports
Infrastructure
Sécurité
- Les clés API sont hachées au repos ; seul le préfixe est stocké pour la recherche
- Les clés fournisseur BYOK sont chiffrées avec le chiffrement par enveloppe AWS KMS
- La limitation de débit utilise des opérations atomiques Redis pour éviter les conditions de concurrence
- Tout le trafic est chiffré avec TLS 1.3
- Les mots de passe sont hachés avec Argon2id