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.
Zasady są przechowywane dla każdej organizacji i odczytywane przy każdym żądaniu wnioskowania. Domyślne wartości są bezpieczne: hosting należący do UE lub w regionie UE, zerowe przechowywanie, tylko dane publiczne i wewnętrzne, wymagany ślad.
Pola
| Pole | Przechowywanie | Domyślne | Co decyduje |
|---|---|---|---|
| residency_allowed | JSON array | ["eu_owned_eu_operated","eu_region_of_non_eu_parent"] | Które klasy hostingu może mieć punkt końcowy. Filtr, a nie preferencja: punkt końcowy spoza listy nigdy nie jest wybierany. |
| 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ć punkt końcowy. Powyżej niej punkt końcowy jest odrzucany. |
| max_usd_per_day | REAL, nullable | null — no cap | Dzienny limit wydatków dla organizacji. Osiągnięcie go skutkuje odpowiedzią 402 budget_exceeded. |
| retention | TEXT | zero | Dozwolone przechowywanie podpowiedzi. Zaimplementowane jest tylko zero: każda inna wartość dozwolona przez zasady powoduje niepowodzenie żądania, zamiast przechowywania 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 zerowym przechowywaniu ślad zawiera metadane, nigdy treść podpowiedzi. |
| allow_partner_endpoints | INTEGER 0/1 | 0 | Czy punkty końcowe obsługiwane przez podmiot spoza UE mogą być używane. Domyślnie wyłączone. |
| json_logic | JSON, nullable | null | Zarezerwowane na przyszłą regułę niestandardową. Nic go dziś nie odczytuje, więc nie zmienia żadnej decyzji. |
Które zasady mają zastosowanie
Żądanie może wskazać jedne za pomocą llmeu.policy_id. Bez tego stosowane są domyślne zasady organizacji. policy_id należące do innej organizacji jest odrzucane z policy_not_found, ponieważ wyszukiwanie jest zawsze ograniczone do organizacji, do której należy klucz.
"llmeu": { "policy_id": "the-uuid-from-the-console" }
Ponieważ domyślne zasady mają zastosowanie do każdego klucza, obietnica rezydencji organizacji nie jest czymś, z czego wywołujący może zrezygnować, pomijając pole.
Kolejność wykonywania reguł
Najpierw rodzaj punktu końcowego — wpis tylko z katalogu jest odrzucany przed czymkolwiek innym — potem status, następnie klasa rezydencji i region, potem listy dostawców i modeli, następnie reguła partnera, wizja, rozmiar kontekstu i cena. Pełna sekwencja, wraz z kodem błędu generowanym przez każdy krok, znajduje się na stronie routingu.
Edytowanie
W konsoli lub za pomocą PUT /platform/v1/policies/{id} przy użyciu klucza z uprawnieniem platform_write. Zmiana obowiązuje od następnego żądania; żądanie już w trakcie realizacji zachowuje zasady, na których zostało rozpoczęte.