Polityki
Obiekt polityki, który decyduje, co organizacja może wywoływać, gdzie może działać i ile może wydać, pole po polu.
Polityka jest przechowywana dla każdej organizacji i odczytywana przy każdym żądaniu wnioskowania. Wartości domyślne są bezpieczne: hosting należący do UE lub w regionie UE, zerowa retencja, tylko dane publiczne i wewnętrzne, wymagany ślad.
Pola
| Pole | Przechowywanie | Domyślnie | Co określa |
|---|---|---|---|
| residency_allowed | JSON array | ["eu_owned_eu_operated","eu_region_of_non_eu_parent"] | Jakie klasy hostingu może mieć endpoint. Filtr, a nie preferencja: endpoint spoza listy nigdy nie zostanie wybrany. |
| providers_allow | JSON array | [] — any | Puste oznacza dowolnego dostawcę. Niepusta lista staje się listą dozwolonych. |
| providers_deny | JSON array | [] | Dostawcy, którzy nigdy nie mogą być użyci, sprawdzani przed listą dozwolonych. |
| models_allow | JSON array | [] — any | Puste oznacza dowolny model. Niepusta lista staje się listą dozwolonych. |
| models_deny | JSON array | [] | Modele, które nigdy nie mogą być użyte. |
| max_usd_per_1m | REAL, nullable | null — no cap | Najwyższa mieszana cena za milion tokenów, jaką może kosztować endpoint. Powyżej niej endpoint jest odrzucany. |
| max_usd_per_day | REAL, nullable | null — no cap | Dzienny limit wydatków organizacji. Po jego osiągnięciu zwracana jest odpowiedź 402 budget_exceeded. |
| retention | TEXT | zero | Dozwolona retencja promptów. Zaimplementowano tylko zerową: każda inna wartość dozwolona przez politykę powoduje błąd żądania, a nie zapisanie czegokolwiek. |
| data_classes_allowed | JSON array | ["public","internal"] | Klasy danych, które żądanie może zadeklarować. Klasa spoza tej listy jest odrzucana. |
| require_trace | INTEGER 0/1 | 1 | Czy każde wywołanie wnioskowania pozostawia wiersz śladu. Przy zerowej retencji ślad zawiera metadane, nigdy treść promptu. |
| allow_partner_endpoints | INTEGER 0/1 | 0 | Czy można używać endpointów obsługiwanych przez podmiot nadrzędny spoza UE. Domyślnie wyłączone. |
| json_logic | JSON, nullable | null | Zarezerwowane na przyszłą regułę niestandardową. Obecnie nic go nie odczytuje, więc nie zmienia żadnej decyzji. |
Która polityka ma zastosowanie
Żądanie może wskazać politykę przez llmeu.policy_id. Bez tego stosowana jest domyślna polityka organizacji. policy_id należące do innej organizacji jest odrzucane z policy_not_found, ponieważ wyszukiwanie zawsze ogranicza się do organizacji, do której należy klucz.
"llmeu": { "policy_id": "the-uuid-from-the-console" }
Ponieważ domyślna polityka ma zastosowanie do każdego klucza, obietnicy rezydencji organizacji nie można uchylić, pomijając pole.
Kolejność działania reguł
Najpierw rodzaj endpointu — wpis tylko katalogowy jest odrzucany przed czymkolwiek innym — potem status, następnie klasa rezydencji i region, później listy dostawców i modeli, a na końcu reguła partnera, obsługa obrazu, rozmiar kontekstu i cena. Pełna sekwencja wraz z kodem błędu generowanym przez każdy krok znajduje się na stronie routingu.
Edycja
W konsoli lub przez PUT /platform/v1/policies/{id} przy użyciu klucza z uprawnieniem platform_write. Zmiana obowiązuje od następnego żądania; żądanie już przetwarzane zachowuje politykę, z którą zostało rozpoczęte.