Saltar al contenido
Studeia Docs
AI-assisted translation — last updated 2026-05-31. For original (pt-BR or en-US), use the language switcher.

IA multi-proveedor: elige el modelo, sin vendor lock-in

Studeia es multi-proveedor por defecto: el admin elige el modelo por tarea (Claude, GPT, Grok, Gemini) vía TenantTaskModelConfig, con fallback chain automática, circuit breaker, BYO keys y metering.

2026-05-31 6 min
Resposta curta

Studeia es multi-proveedor por defecto. Toda feature con LLM pasa por un LLM Router interno que selecciona provider+modelo por tarea vía TenantTaskModelConfig — el admin cambia entre Claude, GPT, Grok y Gemini sin romper ningún agente (el tool calling funciona en cualquier provider vía Vercel AI SDK). Una fallback chain con circuit breaker en Redis gestiona las caídas, los tenants pueden aportar sus propias claves cifradas (el costo va a su cuenta, sin margen de IA), y toda llamada pasa por metering.

Cómo funciona la selección de modelo

El LLM Router (packages/core/src/ai/router.ts) resuelve el provider y el modelo de cada llamada a partir del TenantTaskModelConfig, por tipo de tarea:

Tipo de tareaDefault típico
chat_tutorclase Sonnet
chat_evaluation / summarization / supervisorclase Haiku
content_generationclase Haiku
course_review / course_agent / gamification_agentclase Sonnet

El admin institucional puede sobrescribir cualquier tarea para otro provider/modelo. Ningún model ID está hardcoded en los agentes — el router es el único punto de decisión.

Métodos del router

  • stream() — chat con streaming (metered).
  • generate() — agentes con tools (metered); las tools se convierten de JSON Schema al formato AI SDK, por lo que funcionan en cualquier provider.
  • generateDirect() — llamadas background fire-and-forget (evaluation, content, summarizer, supervisor) que se ejecutan en el after() de Next.js sin el pipeline completo de metering.

Fallback chain + circuit breaker

Por tier: Claude → GPT → Grok → Gemini (LLMs); Voyage → OpenAI → Cohere (embeddings). Un circuit breaker en Redis se abre tras un límite de fallos y es compartido entre instancias, de modo que un breaker abierto omite el provider problemático sin timeout. Los incidentes se registran para observabilidad.

BYO keys + metering

  • Las claves por tenant (TenantApiKey) se cifran con AES-256-GCM. Orden de resolución: clave del tenant → clave global del provider → variable de entorno.
  • Toda llamada LLM pasa por el metering middleware (rate limit → credit check → cálculo de costo), registrando tokens de input y output por separado. Los precios vienen de una tabla en la base de datos, nunca hardcoded.

Por qué importa

No apuestas la plataforma al precio, latencia o disponibilidad de un único laboratorio. A medida que los modelos mejoran, cambias un dropdown — no tu código.

Ver también

FAQ

¿Studeia tiene lock-in con un único proveedor de IA?

No. Toda feature con LLM pasa por un LLM Router interno que selecciona provider+modelo por tipo de tarea. El admin puede cambiar una tarea de Anthropic Claude a OpenAI GPT, xAI Grok o Google Gemini sin romper ningún agente — el tool calling funciona en cualquier provider vía Vercel AI SDK. Si el provider primario falla, una fallback chain automática toma el control.

¿Una institución puede usar sus propias API keys?

Sí. Cada tenant puede guardar sus propias claves (TenantApiKey, cifradas AES-256-GCM). Cuando el tenant aporta su propia clave, el costo de IA va directamente a su cuenta en el provider — Studeia no aplica margen de IA y nunca usa process.env (lo que filtraría datos entre tenants); la clave se pasa por request.

¿Qué impide que una caída de proveedor tumbe el tutor?

Un circuit breaker (estado en Redis, compartido entre instancias) se abre tras fallos repetidos y salta directamente al siguiente provider de la fallback chain, de modo que la caída de un proveedor degrada de forma elegante en lugar de fallar el request. Todo fallback se registra como incidente de provider.

Veja tambem

IA multi-proveedor: elige el modelo, sin vendor lock-in