Политики
Обектът политика, който решава какво може да извиква една организация, къде може да работи и какво може да харчи, поле по поле.
Политиката се съхранява за всяка организация и се чете при всяка заявка за извод. Стойностите по подразбиране са безопасните: хостинг, собственост на ЕС, или хостинг в регион на ЕС, нулево задържане, само публични и вътрешни данни, изисква се следа.
Полета
| Поле | Съхранение | По подразбиране | Какво решава |
|---|---|---|---|
| residency_allowed | JSON array | ["eu_owned_eu_operated","eu_region_of_non_eu_parent"] | Кои класове хостинг може да има дадена крайна точка. Филтър, а не предпочитание: крайна точка извън списъка никога не се избира. |
| providers_allow | JSON array | [] — any | Празно означава всеки доставчик. Непразен списък става списък за разрешаване. |
| providers_deny | JSON array | [] | Доставчици, които никога не могат да се използват, проверяват се преди списъка за разрешаване. |
| models_allow | JSON array | [] — any | Празно означава всеки модел. Непразен списък става списък за разрешаване. |
| models_deny | JSON array | [] | Модели, които никога не могат да се използват. |
| max_usd_per_1m | REAL, nullable | null — no cap | Най-висока смесена цена на милион токена, която крайна точка може да струва. Над нея крайната точка се отхвърля. |
| max_usd_per_day | REAL, nullable | null — no cap | Дневен таван на разходите за организацията. При достигане отговаря 402 budget_exceeded. |
| retention | TEXT | zero | Разрешено задържане на промпт. Реализирано е само нулево: всяка друга стойност, която политиката позволява, кара заявката да се провали, вместо да съхрани нещо. |
| data_classes_allowed | JSON array | ["public","internal"] | Класове данни, които заявката може да декларира. Клас извън този списък се отказва. |
| require_trace | INTEGER 0/1 | 1 | Дали всяко извикване за извод оставя ред за следа. При нулево задържане следата съдържа метаданни, никога тяло на промпт. |
| allow_partner_endpoints | INTEGER 0/1 | 0 | Дали могат да се използват крайни точки, управлявани от компания майка извън ЕС. Изключено по подразбиране. |
| json_logic | JSON, nullable | null | Запазено за бъдещо персонализирано правило. Днес нищо не го чете, така че не променя решение. |
Коя политика се прилага
Заявката може да посочи една с llmeu.policy_id. Без него се прилага политиката по подразбиране на организацията. policy_id, който принадлежи на друга организация, се отказва с policy_not_found, защото търсенето винаги е ограничено до организацията, към която принадлежи ключът.
"llmeu": { "policy_id": "the-uuid-from-the-console" }
Тъй като политиката по подразбиране се прилага за всеки ключ, обещанието за резидентност на организацията не е нещо, от което извикващият може да се откаже, като пропусне поле.
Редът, в който се изпълняват правилата
Първо видът на крайната точка — запис само от каталог се отхвърля преди всичко друго — после статус, после класът на резидентност и регион, после списъците с доставчици и модели, после правилото за партньори, зрение, размер на контекста и цена. Пълната последователност, с кода за грешка, който произвежда всяка стъпка, е на страницата за маршрутизиране.
Редактиране
В конзолата или с PUT /platform/v1/policies/{id} с ключ, който носи platform_write. Промяната се прилага към следващата заявка; заявка, която вече е в ход, запазва политиката, под която е започнала.