Skip to main content

Descripción General del Sistema

OpenModex se sitúa entre su aplicación y los proveedores de modelos de IA. Cada solicitud fluye a través de un pipeline de middleware inteligente antes de llegar al proveedor óptimo.

Flujo de Solicitudes

1

Autenticación

Su clave API es validada y mapeada a su cuenta, equipo y límites de velocidad.
2

Limitación de Velocidad

La solicitud se verifica contra los límites de velocidad de su nivel (por clave, por minuto). Utiliza sorted sets de Redis para una aplicación precisa de ventana deslizante.
3

Verificación de Caché

Si el almacenamiento en caché de prompts está habilitado, OpenModex busca una respuesta en caché con coincidencia exacta. Los aciertos de caché se devuelven instantáneamente sin costo de proveedor.
4

Decisión de Enrutamiento

El motor de enrutamiento selecciona el proveedor óptimo basándose en su estrategia (costo, latencia o calidad), la salud actual del proveedor y la configuración de respaldo.
5

Solicitud al Proveedor

La solicitud se traduce al formato del proveedor destino y se reenvía. OpenModex soporta pass-through de streaming SSE en tiempo real.
6

Respuesta + Metadatos

La respuesta del proveedor se normaliza al formato de OpenAI, se enriquece con metadatos de OpenModex (información de enrutamiento, costo, latencia) y se devuelve a su aplicación.

Componentes Principales

API Gateway

  • API REST compatible con OpenAI — reemplazo directo para la API de OpenAI
  • Streaming SSE — entrega de tokens en tiempo real
  • Idempotencia — reintentos seguros con el encabezado Idempotency-Key (TTL de 24h)

Motor de Enrutamiento

El motor de enrutamiento mantiene una vista en tiempo real de la salud y rendimiento del proveedor:

Circuit Breaker

La salud del proveedor se monitorea automáticamente:
  1. Cerrado — las solicitudes se enrutan normalmente
  2. Medio-Abierto — después de fallos consecutivos, el tráfico se reduce
  3. Abierto — el proveedor se elimina temporalmente del pool de enrutamiento
  4. Recuperación — sondeos de salud periódicos restauran al proveedor

Adaptadores de Proveedores

Cada proveedor de IA está envuelto en un adaptador estandarizado que maneja:
  • Traducción de formato de solicitud (formato OpenAI → formato nativo del proveedor)
  • Normalización de respuesta (nativo del proveedor → formato OpenAI)
  • Mapeo de errores a códigos de error consistentes
  • Traducción de protocolo de streaming
Proveedores Compatibles:

Capa de Caché

  • Caché de coincidencia exacta — hash de (modelo + mensajes + parámetros)
  • TTL configurable — de 60s a 24h por solicitud
  • Respaldado por Redis — búsquedas de caché en sub-milisegundos
  • Ahorro de costos — respuestas en caché facturadas a ~50% de la tarifa de entrada, cero costo de salida

Pipeline de Facturación

  1. Cada solicitud emite un evento de facturación a Kafka
  2. Los eventos se consumen de forma asíncrona y se persisten
  3. Los saldos de cuenta se actualizan atómicamente mediante scripts Redis Lua
  4. Las analíticas se envían a Apache Doris para paneles e informes

Infraestructura

Seguridad

  • Las claves API se almacenan hasheadas en reposo; solo el prefijo se guarda para búsqueda
  • Las claves de proveedor BYOK se cifran con cifrado de sobre AWS KMS
  • La limitación de velocidad usa operaciones atómicas de Redis para prevenir condiciones de carrera
  • Todo el tráfico se cifra con TLS 1.3
  • Las contraseñas se hashean con Argon2id

Diagrama de Flujo de Datos