Saltar al contenido principal
OrcaRouter te permite guardar una estrategia de enrutamiento como un enrutador nombrado. Llámalo desde tu código como orcarouter/{name} y OrcaRouter lo resuelve a un modelo concreto en el momento de la solicitud, basándose en las reglas que configuraste. Esto es útil cuando quieres:
  • Cambiar el comportamiento de enrutamiento sin redesplegar tu app (cambia el enrutador en el panel; tu código se queda igual).
  • Dejar que diferentes equipos o servicios elijan su propia política de enrutamiento independientemente de la aplicación que llama a la API.
  • Referenciar lógica de enrutamiento demasiado compleja para insertarla en extra_body.

Usar un enrutador

response = client.chat.completions.create(
    model="orcarouter/production-chat",
    messages=[...],
)
Para averiguar a qué modelo concreto se resolvió un enrutador, lee las cabeceras de respuesta X-Orca-Router y X-Orca-Resolved-Model — consulta Cabeceras de respuesta. El campo model en el cuerpo de la respuesta refleja lo que devolvió el upstream (a menudo el nombre upstream desnudo, p. ej. gpt-4o-mini-2024-07-18).

Crear un enrutador

Los enrutadores se crean en el panel bajo Routing. Cada enrutador tiene:
  • Nombre — el {name} en orcarouter/{name}. Debe ser único en tu espacio de trabajo; letras minúsculas, dígitos, _ y - (1-50 caracteres). El nombre orcarouter está reservado.
  • Modelos permitidos — uno o más patrones glob (separados por comas o nuevas líneas, sin distinción de mayúsculas/minúsculas) limitando qué modelos puede elegir este enrutador. Ejemplos: openai/* o openai/*, anthropic/claude-haiku-*. Vacío coincide con cada modelo al que tu cuenta tiene acceso.
  • Estrategia — cómo elegir entre modelos coincidentes. Ver Estrategias abajo.
  • Mundane models / Hard models — listas de modelos adicionales usadas solo por la estrategia Adaptive · Gated. Ver Adaptive abajo.
  • Modelo por defecto — un modelo de red de seguridad usado si el patrón no resuelve nada.
  • Habilitado — desactiva el enrutador sin eliminarlo.

Estrategias

El editor expone cuatro tarjetas de estrategia. Adaptive agrupa dos sub-modos de backend, para cinco valores enum en total que puedes persistir vía la API.

Cheapest (Más barato)

Elige el modelo con el precio por token más bajo entre los candidatos en vivo. Por defecto para el enrutador orcarouter/auto sembrado. Mejor cuando quieres el modelo chat en vivo más barato en cada solicitud y no te importa la consistencia del estilo de salida entre llamadas.

Quality (Calidad)

Elige el modelo con la puntuación de calidad más alta entre los candidatos en vivo, sin importar el precio. Mejor cuando la calidad de salida domina sobre el coste.

Balanced (Equilibrado)

Elige una opción de bajo coste que aún cumple un umbral de calidad; si nada cumple el umbral, recurre a la opción de mayor calidad. Por defecto para nuevos enrutadores que tú mismo creas. Funciona sin ajuste por enrutador.

Adaptive (Adaptativo)

Un bandido contextual LinUCB por enrutador que aprende de tu tráfico de producción real. Pondera calidad, coste, latencia y fiabilidad por solicitud para elegir el mejor modelo. Los nuevos enrutadores se comportan como Balanced durante un breve periodo de arranque en frío (un calentamiento por modelo) antes de que el bandido empiece a dirigir las elecciones — eso es esperado, no un bug. Dos sub-modos:
  • Standard (enum API: linucb) — considera cada modelo Permitido para cada solicitud. Mejor cuando el tráfico es más o menos uniforme y quieres que el enrutador encuentre la mejor opción a través de tu lista completa.
  • Gated (enum API: gated_adaptive) — las solicitudes se clasifican primero como mundane o hard; las solicitudes mundane se toman de un grupo más pequeño Mundane models, las hard de un grupo más fuerte Hard models, y las de dificultad media de la lista Permitida completa. Mejor cuando tu tráfico mezcla llamadas simples y complejas. Cada grupo se intersecta con los modelos Permitidos; los grupos vacíos o sin superposición vuelven en silencio a la lista Permitida completa, así que las solicitudes nunca se mueren de hambre. Configura los dos grupos (weak_pool y strong_pool a nivel de API — hasta 2000 caracteres cada uno) en el editor cuando elijas Gated.

Enrutador sembrado: orcarouter/auto

Cada cuenta OrcaRouter se siembra con un enrutador por defecto llamado auto al registrarse — ver Enrutador Automático. Puedes usarlo inmediatamente sin ninguna configuración.