Policy

L'oggetto policy che decide cosa un'organizzazione può chiamare, dove può operare e quanto può spendere, campo per campo.

Una policy è memorizzata per organizzazione e letta a ogni richiesta di inferenza. I valori predefiniti sono quelli sicuri: hosting di proprietà UE o in regione UE, retention zero, solo dati pubblici e interni, una traccia richiesta.

Campi

Campo Archiviazione Predefinito Cosa decide
residency_allowed JSON array ["eu_owned_eu_operated","eu_region_of_non_eu_parent"] Quali classi di hosting può avere un endpoint. Un filtro, non una preferenza: un endpoint fuori dall'elenco non viene mai scelto.
providers_allow JSON array [] — any Vuoto significa qualsiasi provider. Un elenco non vuoto diventa una allow list.
providers_deny JSON array [] Provider che non possono mai essere usati, controllati prima della allow list.
models_allow JSON array [] — any Vuoto significa qualsiasi modello. Un elenco non vuoto diventa una allow list.
models_deny JSON array [] Modelli che non possono mai essere usati.
max_usd_per_1m REAL, nullable null — no cap Prezzo misto massimo per milione di token che un endpoint può costare. Al di sopra, l'endpoint viene rifiutato.
max_usd_per_day REAL, nullable null — no cap Tetto di spesa giornaliera per l'organizzazione. Raggiungendolo, risponde 402 budget_exceeded.
retention TEXT zero Retention dei prompt consentita. Solo zero è implementata: qualsiasi altro valore consentito dalla policy fa fallire la richiesta invece di memorizzare qualcosa.
data_classes_allowed JSON array ["public","internal"] Classi di dati che una richiesta può dichiarare. Una classe fuori da questo elenco viene rifiutata.
require_trace INTEGER 0/1 1 Indica se ogni chiamata di inferenza lascia una riga di traccia. Con retention zero una traccia contiene metadati, mai il corpo di un prompt.
allow_partner_endpoints INTEGER 0/1 0 Indica se possono essere usati endpoint gestiti da una capogruppo non UE. Disattivato per impostazione predefinita.
json_logic JSON, nullable null Riservato a una futura regola personalizzata. Oggi nulla lo legge, quindi non cambia alcuna decisione.

Quale policy si applica

Una richiesta può indicarne una con llmeu.policy_id. In sua assenza, si applica la policy predefinita dell'organizzazione. Un policy_id che appartiene a un'altra organizzazione viene rifiutato con policy_not_found, perché la ricerca è sempre limitata all'organizzazione a cui appartiene la chiave.

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

Poiché la policy predefinita si applica a ogni chiave, la promessa di residenza di un'organizzazione non è qualcosa da cui un chiamante può sottrarsi omettendo un campo.

L'ordine in cui vengono eseguite le regole

Prima il tipo di endpoint — una voce solo catalogo viene rifiutata prima di ogni altra cosa — poi lo stato, poi la classe di residenza e la regione, poi gli elenchi di provider e modelli, poi la regola partner, vision, dimensione del contesto e prezzo. La sequenza completa, con il codice di errore prodotto da ogni passaggio, è nella pagina di routing.

Modifica

Nella console, oppure con PUT /platform/v1/policies/{id} usando una chiave che porta platform_write. Una modifica si applica alla richiesta successiva; una richiesta già in corso mantiene la policy con cui è iniziata.