BYOK · Python · multi-provider

Una petición.
La ruta correcta.

Crupier clasifica la tarea, filtra por capacidades y política, y deja que un LLM proponga el patrón de ejecución y los modelos. Después valida el plan, ejecuta cada rol y permite comparar, aprobar y evolucionar la ruta con evidencia. Lo que no está permitido no degrada: falla cerrado.

pip install crupier

Rutas de ejemplo · 0.6.1

El reparto cambia con la tarea

Model set

      Request lifecycle

      El LLM propone. La política decide si puede.

      Cada fase deja evidencia. Ningún modelo se salta la allowlist, las capacidades requeridas o el presupuesto. Una política malformada no se convierte en allow-all; aborta.

      1. 01Clasificartask signals + operación
      2. 02Filtrarfail-closed + capabilities
      3. 03Puntuarcalidad + coste + latencia
      4. 04OrquestarLLM + candidate cards
      5. 05Validarschema + route shape
      6. 06Ejecutarroles + tools + fallback
      7. 07Trazarcalls + redact + errors

      Selection evidence

      No elige por nombre.
      Elige con contexto.

      El orquestador recibe un corpus compacto de candidatos ya permitido por el proyecto. El scoring determinista actúa como prior; no como una orden ciega.

      Executable patterns

      Patrones de ejecución completos

      El patrón no es metadata decorativa. Define qué roles se ejecutan, cómo comparten presupuesto y qué condición permite continuar.

      01 / Direct

      Single + fallback

      Una llamada cuando basta. Retry por llamada y fallback de modelo o proveedor cuando falla.

      02 / Conditional

      Cascade

      Primario, validación de suficiencia o schema y escalación solo si el resultado no cumple.

      03 / Consensus

      Panel + fusion

      Análisis independientes, quorum, juez separado y redactor final. Los fallos parciales quedan en la traza.

      04 / Review

      Critique + repair

      Un modelo redacta, otro desafía el resultado y un tercero repara sin exponer el material interno.

      05 / Actions

      Iterative tools

      Plan, tools locales aprobadas, ledger autoritativo, nuevas rondas acotadas y respuesta verificada.

      06 / Recursive

      Delegate

      Subtarea acotada, presupuesto heredado, profundidad limitada y traza anidada en la ruta principal.

      Production control plane

      Cambia modelos.
      Sin operar a ciegas.

      La decisión no termina cuando sale una respuesta. Crupier conserva el contexto operativo para comparar candidatos, replanificar conversaciones, congelar rutas que necesitan revisión humana y fallar cerrado cuando un host, una política o un secreto no deberían seguir.

      01

      Experiments

      Shadow + canary

      Ruta B con muestreo sticky, ejecución aislada y métricas de error, coste, latencia y calidad. Promoción, pausa y rollback quedan ligados a evidencia.

      shadow → canary → promote
      02

      Conversation state

      Session + replan

      Mantiene una ruta compatible entre turnos y replantea cuando cambian el riesgo, los ficheros, las tools, el schema, el modo o el presupuesto.

      sticky while compatible
      03

      Human gate

      Durable approval

      Congela plan y request con hashes, caducidad, token de un solo uso y digest de ficheros. La ejecución aprobada reanuda exactamente esa ruta.

      freeze → review → execute
      04

      Fail-closed

      Hosts, política y secretos

      Las claves canónicas no salen a un host ajeno salvo allow_custom_host. Una regla de política malformada aborta. Los secretos se redactan. El servidor HTTP exige bearer en ejecución real y rechaza controles internos en el cuerpo OpenAI.

      deny → redact → require auth

      Integration surface

      Una frontera.
      Cinco entradas.

      SDK nativo para cualquier aplicación. Compatibilidad OpenAI para migraciones controladas. CLI, servidor HTTP y control operativo para ejecutar y auditar.

      • Nativedeal, session, embeddings, audio e imagen.
      • ControlExperimentos, aprobaciones y rutas persistidas.
      • Drop-inCliente Python compatible con OpenAI.
      • HTTPBearer en ejecución real; Responses, Chat, embeddings, rerank, audio e imágenes.
      • CLIDiscovery, probes, evals, approvals, experiments y releases.
      app.py

      Current boundary

      Qué ejecuta hoy.
      Qué todavía no.

      Estado de capacidades
      SuperficieEstadoContrato actual
      Routing multi-modeloEjecutablePatrones validados, presupuesto compartido, retry, circuit breaker, fallback y quorum.
      Fail-closedEjecutableHosts no oficiales, política inválida, redacción central, bearer en serve y rechazo de paths locales en JSON.
      Shadow y canaryEjecutableCohortes sticky, ejecución paralela o asíncrona, métricas sin outputs por defecto y promoción reversible.
      Sesiones y aprobacionesEjecutableReplan multi-turno, presupuesto acumulado y rutas congeladas con token efímero de un solo uso.
      Inputs nativosParcial realImagen en OpenAI, Claude, Gemini y Ollama; PDF nativo en OpenAI; audio mediante operaciones dedicadas.
      Documentos estructuradosEjecutableCSV, TSV y XLSX acotados; texto y tablas DOCX; OCR mediante adapter opcional y dependencia de despliegue.
      StreamingAcotadoEventos de ciclo de ruta y contratos SSE reconstruidos tras completar la llamada; no proxy nativo de tokens.
      Pipelines restantesEn construcciónPDF tabular, XLS antiguo, Office no DOCX y vídeo transcript-first fallan explícitamente hasta tener implementación completa.
      Provider-native toolsOptimizaciónHoy usa planificación JSON y tools locales aprobadas; tool calling nativo queda como optimización futura.

      Crupier 0.6.1

      Tu aplicación pide.
      Crupier reparte.