Policy

L'oggetto policy che decide cosa un'organizzazione può chiamare, dove può essere eseguita 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 obbligatoria.

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 dalla lista non viene mai scelto.
providers_allow JSON array [] — any Vuoto significa qualsiasi fornitore. Una lista non vuota diventa una lista di autorizzati.
providers_deny JSON array [] Fornitori che non possono mai essere usati, controllati prima della lista di autorizzati.
models_allow JSON array [] — any Vuoto significa qualsiasi modello. Una lista non vuota diventa una lista di autorizzati.
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 giornaliero per l'organizzazione. Raggiungendolo, risponde 402 budget_exceeded.
retention TEXT zero Retention consentita dei prompt. Solo zero è implementato: 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 questa lista viene rifiutata.
require_trace INTEGER 0/1 1 Se ogni chiamata di inferenza lascia una riga di traccia. Con retention zero una traccia contiene metadati, mai il corpo del prompt.
allow_partner_endpoints INTEGER 0/1 0 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. Nessuno lo legge oggi, quindi non cambia alcuna decisione.

Quale policy si applica

Una richiesta può indicarne una con llmeu.policy_id. Senza di essa, 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 le liste di fornitori e modelli, poi la regola partner, visione, dimensione del contesto e prezzo. La sequenza completa, con il codice di errore prodotto da ogni passo, è nella pagina di routing.

Modifica

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