Políticas

El objeto de política que decide qué puede llamar una organización, dónde puede ejecutarse y qué puede gastar, campo por campo.

Una política se almacena por organización y se lee en cada solicitud de inferencia. Los valores predeterminados son los seguros: alojamiento de propiedad de la UE o en región de la UE, retención cero, solo datos públicos e internos, y una traza obligatoria.

Campos

Campo Almacenamiento Predeterminado Qué decide
residency_allowed JSON array ["eu_owned_eu_operated","eu_region_of_non_eu_parent"] Qué clases de alojamiento puede tener un endpoint. Un filtro, no una preferencia: un endpoint fuera de la lista nunca se elige.
providers_allow JSON array [] — any Vacío significa cualquier proveedor. Una lista no vacía se convierte en una lista de permitidos.
providers_deny JSON array [] Proveedores que nunca pueden usarse, comprobados antes de la lista de permitidos.
models_allow JSON array [] — any Vacío significa cualquier modelo. Una lista no vacía se convierte en una lista de permitidos.
models_deny JSON array [] Modelos que nunca pueden usarse.
max_usd_per_1m REAL, nullable null — no cap Precio combinado máximo por millón de tokens que puede costar un endpoint. Por encima de él, se rechaza el endpoint.
max_usd_per_day REAL, nullable null — no cap Límite de gasto diario para la organización. Al alcanzarlo, responde 402 budget_exceeded.
retention TEXT zero Retención de prompts permitida. Solo se implementa cero: cualquier otro valor que permita la política hace fallar la solicitud en lugar de almacenar algo.
data_classes_allowed JSON array ["public","internal"] Clases de datos que puede declarar una solicitud. Una clase fuera de esta lista se rechaza.
require_trace INTEGER 0/1 1 Si cada llamada de inferencia deja una fila de traza. Con retención cero, una traza contiene metadatos, nunca el cuerpo de un prompt.
allow_partner_endpoints INTEGER 0/1 0 Si pueden usarse endpoints operados por una empresa matriz no de la UE. Desactivado por defecto.
json_logic JSON, nullable null Reservado para una futura regla personalizada. Hoy nada lo lee, así que no cambia ninguna decisión.

Qué política se aplica

Una solicitud puede indicar una con llmeu.policy_id. Sin él, se aplica la política predeterminada de la organización. Un policy_id que pertenece a otra organización se rechaza con policy_not_found, porque la búsqueda siempre está limitada a la organización a la que pertenece la clave.

"llmeu": { "policy_id": "the-uuid-from-the-console" }

Como la política predeterminada se aplica a todas las claves, una promesa de residencia de una organización no es algo de lo que un llamador pueda excluirse omitiendo un campo.

El orden en que se ejecutan las reglas

Primero el tipo de endpoint — una entrada solo de catálogo se rechaza antes que nada —, después el estado, luego la clase de residencia y la región, luego las listas de proveedores y modelos, después la regla de partner, visión, tamaño de contexto y precio. La secuencia completa, con el código de fallo que produce cada paso, está en la página de enrutamiento.

Edición

En la consola, o con PUT /platform/v1/policies/{id} usando una clave que lleve platform_write. Un cambio se aplica a la siguiente solicitud; una solicitud ya en curso mantiene la política con la que empezó.